EDA技术课程设计报告彩灯控制器_第1页
EDA技术课程设计报告彩灯控制器_第2页
EDA技术课程设计报告彩灯控制器_第3页
EDA技术课程设计报告彩灯控制器_第4页
EDA技术课程设计报告彩灯控制器_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、eda技术课程设计报告题 目: 彩灯控制器 专 业: 电子信息工程 班 级: 0702 姓 名: 指导教师: 二0一 0 年 6 月 24 日目 录1设计目的32设计题目描述和要求33设计原理33.1方案论证33.2模块设计43.3系统结构64总结75参考书目86附录一程序97附录二编译168附录三时序仿真171.设计目的 学习eda开发软件和max+plus 的使用方法,熟悉可编程逻辑器件的使用,通过制作来了解彩灯控制系统。2.设计题目描述和要求1) 设计一个彩灯控制器,能使8个彩灯(led管)能连续发出四六种以上不同的显示形式;2)随着彩灯显示图案的变化,发出不同的音响声。3.设计原理3.

2、1 方案论证这次的彩灯设计采用的是分模块来完成的,包括分频器、计数器、选择器、彩灯控制器。其中彩灯控制器是用来输出不同的花样,彩灯控制器的输出则是用一个32进制的计数器来控制,扬声器的输出时用不同的频率来控制,所以用了一个集成分频器来使输入的频率被分为几种不同的频率,不同频率的选择性的输出则是用一个4选一的选择器来控制。基于上述的介绍本次的彩灯控制采用的模式6来进行显示。 图3-1-1 模式6结构图3.2 模块设计1)集成分频器模块设计要求显示不同的彩灯的时候要伴随不同的音乐,所以设计分频器来用不同的频率控制不同的音乐输出。模块说明:rst:输入信号 复位信号 用来复位集成分频器的输出使输出为

3、“0”,及没有音乐输出。clk:输入信号 模块的功能即为分频输入的频率信号。clk_4、clk_6、clk_8、clk_10:输出信号 即为分频模块对输入信号clk的分频,分别为1/4分频输出、1/6分频输出、1/8分频输出、1/10分频输出。 图3-2-1 集成分频器 2)32进制计数器模块32进制模块用来控制彩灯输出模块,即确定彩灯控制器的不同的输出。rst:输入信号 复位信号 用来复位32进制使其输出为“00000”。clk:输入信号 用来给模块提供工作频率。count_out4.0:输出信号 即为32进制计数器的输出。 图3-2-2 32进制计数器3)彩灯控制模块彩灯控制模块用来直接控

4、制彩灯的输出,使彩灯表现出不同的花样。rst:输入信号 使彩灯控制模块的输出为“00000000”,即让彩灯无输出。input4.0:输入信号 不同的输入使彩灯控制模块有不同的输出即彩灯显示出不同的花样。output7.0:输出信号 直接与彩灯相连来控制彩灯。 图3-2-3 彩灯控制模块4) 4选1选择器模块rst:输入信号 复位信号 使选择器的输出为“0”。in1、in2、in3、in4:输入信号 接分频器的输出。inp1.0:输入信号 接4进制计数器的输出用来控制选择器的选择不同的输入选择不同的输出。output:输出信号 直接接扬声器即输出的是不同的频率来控制扬声器播放音乐。 图3-2-

5、4 4选1选择器 5)4进制计数器模块4进制计数器作为选择器的输入来控制选择器选择不同的频率作为输出控制扬声器工作。clk:输入信号 来为计数器提供工作频率。rst:输入信号 复位信号 使计数器的输出为“00”。 图3-2-5 4进制计数器3.3 系统结构 整个系统就是各个分模块组成来实现最后的彩灯控制功能,系统又两个时钟来控制一个是控制32进制计数器即控制彩灯控制模块来实现彩灯的不同输出,另一个时钟为分频器的输入来进行分频处理,最后用来控制扬声器发出不同的音乐,具体分频处理的时钟的频率比实现彩灯控制的时钟频率要高。 图 3-3-1 系统功能模块4.总结这次的eda课程设计有一周的时间,在这一

6、周的时间里我们充分合理的安排了自己的时间来使本次的课程设计能够顺利的完成,当然我们在本次的设计中并不是一帆风顺的,我们遇到了一些的问题,例如我们开始时用的文本的方式用一个总的程序来完成,可以在设计的过程中我们发现程序编到后面变量越到很容易搞混淆同时各个进程间的联系也越来越模糊以至于后面我们自己都不知道程序的整体框图是什么,导致后面不能够继续下去,后面我们再一次对我们这次的设计题目进行了分析和整理,最后我和我的同伴决定采用分模块的方式来完成本次的课题设计,当然最重要的是分析各个模块间的关系。最后我们采用上面分析的结构框图。最后我们的设计很成功,仿真和硬件测试都是正确的,实现了我们的设计要求和目的

7、。在这次设计中我们收获了很多,首先最直接的收获就是我们巩固了这门课程所学过的知识,把它运用到了实践当中,并且学到了很多在书本撒和那个所没有学到的知识,通过查阅相关资料进一步加深了对eda的了。总的来说,通过这次课程设计不仅锻炼了我们的动手和动脑能力,也使我懂得了理论与实际相结合的重要性,只有理论知识是远远不够的,要把所学的理论知识与实践相结合起来,才能提高自己的实际动手能力和独立思考的能力。在我们的共同努力和指导老师的指引下我们圆满的完成了彩灯控制器的设计,实现了设计目的。参考书目:1 赵伟军,protel99se教程,北京,人民邮电出版社,1996年2 金西,vhdl与复杂数字系统设计,西安

8、,西安电子科技大学出版社,20033 汉泽西,eda技术及其应用,北京,北京航空航天大学出版社,20046附录一 程序:-分频器模块- max+plus ii vhdl template- clearable loadable enablable counterlibrary ieee;use ieee.std_logic_1164.all;entity fenpinqi isport(clk,rst: instd_logic;clk_10,clk_4,clk_6,clk_8: out std_logic);end fenpinqi;architecture cd of fenpinqi is

9、beginp1:process(clk,rst) variable a:integer range 0 to 20; begin if rst='1' then clk_4<='0' - 复位信号控制部分 else if clk'event and clk='1'then if a>=3 then a:=0; clk_4<='1' else a:=a+1; clk_4<='0' end if; end if; end if;end process p1;p2:process(clk,

10、rst) variable b:integer range 0 to 20; begin if rst='1' then clk_6<='0' - 复位信号控制部分 else if clk'event and clk='1'then if b>=5 then b:=0; clk_6<='1' else b:=b+1; clk_6<='0' end if; end if; end if;end process p2;p3:process(clk,rst) variable c:inte

11、ger range 0 to 20; begin if rst='1' then clk_8<='0' - 复位信号控制部分 else if clk'event and clk='1'then if c>=7 then c:=0; clk_8<='1' else c:=c+1; clk_8<='0' end if; end if; end if;end process p3;p4:process(clk,rst) variable d:integer range 0 to 20; b

12、egin if rst='1' then clk_10<='0' - 复位信号控制部分 else if clk'event and clk='1'then if d>=9 then d:=0; clk_10<='1' else d:=d+1; clk_10<='0' end if; end if; end if;end process p4;end cd;-4选1选择器-library ieee;use ieee.std_logic_1164.all;entity xzq4_1 is

13、port( rst:in std_logic; inp:in integer range 0 to 3;in1,in2,in3,in4: in std_logic;output: out std_logic);end xzq4_1;architecture a of xzq4_1 isbeginprocess (rst,inp)begin if(rst='1') then output<='0' else case inp is when 0=>output<=in1; when 1=>output<=in2; when 2=>

14、;output<=in3; when 3=>output<=in4; when others=>null; end case; end if;end process;end a;-彩灯控制模块-library ieee;use ieee.std_logic_1164.all;entity caideng isport(input: ininteger range 0 to 31; rst:in std_logic; output: out std_logic_vector(7 downto 0); sm :out std_logic_vector(6 downto 0)

15、;end caideng;architecture a of caideng isbeginprocess (input)begin if rst='1' then output<="00000000"sm<="0000000" else case input is when 0=>output<="10000000"sm<="0000110" when 1=>output<="01000000"sm<="0000110&

16、quot; when 2=>output<="00100000"sm<="0000110" when 3=>output<="00010000"sm<="0000110" when 4=>output<="00001000"sm<="0000110" when 5=>output<="00000100"sm<="0000110" when 6=>output&

17、lt;="00000010"sm<="0000110" when 7=>output<="00000001"sm<="0000110" when 8=>output<="00010000"sm<="0011011" when 9=>output<="00110000"sm<="0011011" when 10=>output<="00111000"

18、;sm<="0011011" when 11=>output<="01111000"sm<="0011011" when 12=>output<="01111100"sm<="0011011" when 13=>output<="01111110"sm<="0011011" when 14=>output<="11111110"sm<="001101

19、1" when 15=>output<="11111111"sm<="0011011" when 16=>output<="10000001"sm<="1001111" when 17=>output<="11000001"sm<="1001111" when 18=>output<="11000011"sm<="1001111" when 19=>

20、output<="11100011"sm<="0011011" when 20=>output<="11100111"sm<="1001111" when 21=>output<="11110111"sm<="1001111" when 22=>output<="11111111"sm<="1001111" when 23=>output<="000

21、01000"sm<="1001111" when 24=>output<="00000001"sm<="0100110" when 25=>output<="00000010"sm<="0100110" when 26=>output<="00000100"sm<="0100110" when 27=>output<="00001000"sm<=&q

22、uot;0100110" when 28=>output<="00010000"sm<="0100110" when 29=>output<="00100000"sm<="0100110" when 30=>output<="01000000"sm<="0100110" when 31=>output<="10000000"sm<="0100110" when others=>null; end case; end if; end process; end a;-32进制计数器模块-library ieee;use ieee.std_logic_1164.all;entity counter_32 isport(clk,rst: instd_lo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论