eda课程设计彩灯控制器(1).docx

上传人:牧羊曲112 文档编号:3156214 上传时间:2023-03-11 格式:DOCX 页数:11 大小:39.84KB
返回 下载 相关 举报
eda课程设计彩灯控制器(1).docx_第1页
第1页 / 共11页
eda课程设计彩灯控制器(1).docx_第2页
第2页 / 共11页
eda课程设计彩灯控制器(1).docx_第3页
第3页 / 共11页
eda课程设计彩灯控制器(1).docx_第4页
第4页 / 共11页
eda课程设计彩灯控制器(1).docx_第5页
第5页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《eda课程设计彩灯控制器(1).docx》由会员分享,可在线阅读,更多相关《eda课程设计彩灯控制器(1).docx(11页珍藏版)》请在三一办公上搜索。

1、eda课程设计彩灯控制器1.设计目的 学习EDA开发软件和MAX+plus 的使用方法,熟悉可编程逻辑器件的使用,通过制作来了解彩灯控制系统。 2.设计题目描述和要求 1)设计一个彩灯控制器,使彩灯能连续发出四种以上不同的显示形式; 2)随着彩灯显示图案的变化,发出不同的音响声。 3)扩充其它功能。 3.设计原理 3.1 方案论证 这次的彩灯设计采用的是分模块来完成的,包括分频器、计数器、选择器、彩灯控制器。其中彩灯控制器是用来输出不同的花样,彩灯控制器的输出则是用一个32进制的计数器来控制,扬声器的输出时用不同的频率来控制,所以用了一个集成分频器来使输入的频率被分为几种不同的频率,不同频率的

2、选择性的输出则是用一个4选一的选择器来控制。基于上述的介绍本次的彩灯控制采用的模式6来进行显示。 1 图3-1-1 模式6结构图 3.2 模块设计 1)集成分频器模块 设计要求显示不同的彩灯的时候要伴随不同的音乐,所以设计分频器来用不同的频率控制不同的音乐输出。 模块说明: Rst:输入信号 复位信号 用来复位集成分频器的输出使输出为“0”,及没有音乐输出。 Clk:输入信号 模块的功能即为分频输入的频率信号。 Clk_4、clk_6、clk_8、clk_10:输出信号 即为分频模块对输入信号clk的分频,分别为1/4分频输出、1/6分频输出、1/8分频输出、1/10分频输出。 2 图3-2-

3、1 集成分频器 2)32进制计数器模块 32进制模块用来控制彩灯输出模块,即确定彩灯控制器的不同的输出。 Rst:输入信号 复位信号 用来复位32进制使其输出为“00000”。 Clk:输入信号 用来给模块提供工作频率。 Count_out4.0:输出信号 即为32进制计数器的输出。 图3-2-2 32进制计数器 3)彩灯控制模块 彩灯控制模块用来直接控制彩灯的输出,使彩灯表现出不同的花样。 Rst:输入信号 使彩灯控制模块的输出为“00000000”,即让彩灯无输出。 Input4.0:输入信号 不同的输入使彩灯控制模块有不同的输出即彩灯显示出不同的花样。 Output7.0:输出信号 直接

4、与彩灯相连来控制彩灯。 图3-2-3 彩灯控制模块 3 4) 4选1选择器模块 Rst:输入信号 复位信号 使选择器的输出为“0”。 In1、in2、in3、in4:输入信号 接分频器的输出。 Inp1.0:输入信号 接4进制计数器的输出用来控制选择器的选择不同的输入选择不同的输出。 Output:输出信号 直接接扬声器即输出的是不同的频率来控制扬声器播放音乐。 图3-2-4 4选1选择器 5)4进制计数器模块 4进制计数器作为选择器的输入来控制选择器选择不同的频率作为输出控制扬声器工作。 Clk:输入信号 来为计数器提供工作频率。 Rst:输入信号 复位信号 使计数器的输出为“00”。 图3

5、-2-5 4进制计数器 3.3 系统结构 整个系统就是各个分模块组成来实现最后的彩灯控制功能,系统又两个时钟来控制一个是控制32进制计数器即控制彩灯控制模块来实现彩灯的不同输出,另一个时钟为分频器的输入来进行分频处理,最后用来控制扬声器发出不同的音乐,具体分频处理的时钟的频率比实现彩灯控制的时钟频率要高。 4 图 3-3-1 系统功能模块 4.总结 这次的EDA课程设计有一周的时间,在这一周的时间里我们充分合理的安排了自己的时间来使本次的课程设计能够顺利的完成,当然我们在本次的设计中并不是一帆风顺的,我们遇到了一些的问题,例如我们开始时用的文本的方式用一个总的程序来完成,可以在设计的过程中我们

6、发现程序编到后面变量越到很容易搞混淆同时各个进程间的联系也越来越模糊以至于后面我们自己都不知道程序的整体框图是什么,导致后面不能够继续下去,后面我们再一次对我们这次的设计题目进行了分析和整理,最后我和我的同伴决定采用分模块的方式来完成本次的课题设计,当然最重要的是分析各个模块间的关系。最后我们采用上面分析的结构框图。最后我们的设计很成功,仿真和硬件测试都是正确的,实现了我们的设计要求和目的。 在这次设计中我们收获了很多,首先最直接的收获就是我们巩固了这门课程所学过的知识,把它运用到了实践当中,并且学到了很多在书本撒和那个所没有学到的知识,通过查阅相关资料进一步加深了对EDA的了。总的来说,通过

7、这次课程设计不仅锻炼了我们的动手和动脑能力,也使我懂得了理论与实际相结合的重要性,只有理论知识是远远不够的,要把所学的理论知识与实践相结合起来,才能提高自己的实际动手能力和独立思考的能力。在我们的共同努力和指导老师的指引下我们圆满的完成了彩灯控制器的设计,实现了设计目的。 5 6附录一 程序: -分频器模块- LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY fenpinqi IS PORT ( clk,rst : IN std_logic; clk_10,clk_4,clk_6,clk_8 : OUT std_logic ); END fen

8、pinqi; ARCHITECTURE cd OF fenpinqi IS begin p1:process(clk,rst) variable a:integer range 0 to 20; begin if rst=1 then clk_4=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,rst) variable b:integer range 0 to 20; begin if rst=1 then clk_6=5 then b:=0;

9、 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:integer range 0 to 20; begin if rst=1 then clk_8=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; begin if r

10、st=1 then clk_10=9 then d:=0; clk_10=1; else 复位信号控制部分7 复位信号控制部分 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 PORT ( rst:in std_logic; inp:in integer range 0 to 3; in1,in2,in3,in4 : In std_logic; output : OUT st

11、d_logic ); END xzq4_1; ARCHITECTURE a OF xzq4_1 IS BEGIN PROCESS (rst,inp) BEGIN if(rst=1) then outputoutputoutputoutputoutputnull; end case; end if; END PROCESS; 8 END a; -彩灯控制模块- LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY caideng IS PORT ( input : IN INTEGER RANGE 0 TO 31; rst:in std_logic;

12、 output : OUT std_logic_vector(7 downto 0); sm :out std_logic_vector(6 downto 0) ); END caideng; ARCHITECTURE a OF caideng IS BEGIN PROCESS (input) BEGIN if rst=1 then output=00000000;smoutput=10000000;smoutput=01000000;smoutput=00100000;smoutput=00010000;smoutput=00001000;smoutput=00000100;smoutput

13、=00000010;smoutput=00000001;smoutput=00010000;smoutput=00110000;smoutput=00111000;smoutput=01111000;smoutput=01111100;smoutput=01111110;smoutput=11111110;smoutput=11111111;smoutput=10000001;smoutput=11000001;smoutput=11000011;smoutput=11100011;smoutput=11100111;smoutput=11110111;smoutput=11111111;sm

14、output=00001000;smoutput=00000001;smoutput=00000010;smoutput=00000100;smoutput=00001000;smoutput=00010000;smoutput=00100000;smoutput=01000000;smoutput=10000000;smnull; end case; end if; end process; end a; -32进制计数器模块- LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY counter_32 IS PORT ( clk,rst : I

15、N std_logic; count_out : OUT integer range 0 to 31 ); END counter_32; ARCHITECTURE a OF counter_32 IS BEGIN 10 PROCESS (rst,clk) variable temp:integer range 0 to 32; BEGIN IF rst=1 THEN temp:=0; ELSIF (clkevent and clk=1) THEN temp:=temp+1; if(temp=32) then temp:=0; end if; END IF; count_out=temp; E

16、ND PROCESS; END a; -4进制计数器模块- LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY counter_4 IS PORT ( clk,rst : IN std_logic; count_out : OUT integer range 0 to 3 ); END counter_4; ARCHITECTURE a OF counter_4 IS BEGIN PROCESS (rst,clk) variable temp:integer range 0 to 32; BEGIN IF rst=1 THEN temp:=0; ELSIF (clkevent and clk=1) THEN temp:=temp+1; 11 if(temp=4) then temp:=0; end if; END IF; count_out=temp; END PROCESS; END a; 7附录二 编译 12 7附录三 时序仿真 13 14

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号