EDA技术课程设计彩灯控制器设计

上传人:大米 文档编号:431727076 上传时间:2022-08-30 格式:DOC 页数:20 大小:705.76KB
返回 下载 相关 举报
EDA技术课程设计彩灯控制器设计_第1页
第1页 / 共20页
EDA技术课程设计彩灯控制器设计_第2页
第2页 / 共20页
EDA技术课程设计彩灯控制器设计_第3页
第3页 / 共20页
EDA技术课程设计彩灯控制器设计_第4页
第4页 / 共20页
EDA技术课程设计彩灯控制器设计_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《EDA技术课程设计彩灯控制器设计》由会员分享,可在线阅读,更多相关《EDA技术课程设计彩灯控制器设计(20页珍藏版)》请在金锄头文库上搜索。

1、EDA技术课程设计课题:彩灯控制器的设计系 别: 专 业: 姓 名: 学 号: 指导教师: 河南城建学院2011年6月24日成绩评定一、指导教师评语(根据学生设计报告质量、答辩情况及其平时表现综合评定)。二、评分(按下表要求评定)评分项目设计报告评分答辩评分平时表现评分合 计 (100分)任务完成情 况(20分)课程设计报告质量(40分)表达情况(10分)回答问题情 况(10分)工作态度与纪律(10分)独立工作能力(10分)得分课程设计成绩评定班级 姓名 学号成绩: 分(折合等级 )指导教师签字 年 月 日 目 录一、设计目的:3二、设计要求:3三、总体设计原理与内容4四、EDA程序设计及波形

2、仿真分析51、时序模块52、显示模块8五、硬件实现10六、设计总结111、设计过程中遇到的问题及解决方法112、设计体会113、对设计的建议12七、参考文献12附录:设计生成的电路图12一、设计目的:本程序以计算机为工作平台,综合运用EDA软件工具开发环境、用硬件描述语言VHDL为设计语言,以ASIC来实现载体的设计。通过在EDA中的编译和处理、仿真下载、调试分析,接受一次电子设计蓝领初步的设计训练,并使所学的知识和技能得到进一步巩固、深化和扩展,以达到可以运用EDA工具设计一些简单的电子产品,掌握使用EDA工具设计数字系统的设计思想和设计方法,为继续学习和认识电子设计知识打下良好的基础。培养

3、利用EDA技术知识,解决电子设计自动化中常见实际问题的能力,积累实际的EDA编程。通过本课程设计的学习,复习所学的专业知识,使课堂学习的理论知识应用于实践。培养综合运用已学知识解决实际工程技术问题的能力、查阅图书资料和各种工具书的能力、工程绘图能力、撰写技术报告和编制技术资料的能力,接受一次电子设计自动化方面的基本训练。二、设计要求:1、用EDA技术设计一个彩灯控制器,使彩灯(LED管)能连续发出三种以上不同的花型(自拟);2、随着彩灯显示图案的变化,发出不同的音响声。3、要求使用7段数码管显示当前显示的花型,如第一种花型显示A1,第二种花型显示b2,第三种花型显示C3。三、总体设计原理与内容

4、 彩灯控制器的设计原理分析:此设计的要求是连续发出三种以上的花型且显示不同花型的时候发出不同的响声。可以由此推测:如果要发出不同的响声,必定需要由不同的输出频率来实现,而显示部分可以使用计数扫描的方法得以实现,但是如果想听到清晰的声音,必然要加大输入频率,但输入频率的增加,必然导致显示部分花型变换的频率就会相应的增加,以致花型变换过快,显示不明显。解决办法:如果利用分频器,实现频率的改变,既可以发出不同的声音,又可以满足花型变换过快的问题。综上,此设计的核心是分频器的使用。具体设计方案的选定:分频器部分的设计是利用计数器实现分频,将控制器外接的频率分为几个我们预先设定的值。当计数器达到预先设定

5、的值,即产生一个上升沿,从而实现分频。显示部分的设计是利用分频器产生的低频信号记数,从而达到控制数码管显示时,不同花色之间变换的频率不至于太快。利用分频器输出的不同频率信号,可以在花型变换的时候控制扬声器发出不同的声音。 图31 设计方案总框图四、EDA程序设计及波形仿真分析1、时序模块library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all; entity XHKZ isport(clk:in std_logic; clr:in std_logic;clk1_1:out std_logic;clk2_1:

6、out std_logic;clk3_1:out std_logic;clk4_1:out std_logic);end entity;architecture caideng of XHKZ is signal clk1:std_logic; signal clk2:std_logic; signal clk3:std_logic; signal clk4:std_logic;beginprocess(clk,clr) variable a:std_logic_vector(6 downto 0); beginif clr=1 then 复位信号为高电平,将CLK1置为低电平 clk1=0;

7、 elsif clkevent and clk=1then 如果遇到时钟上升沿,进行计数 if a=1111100then 如果计满“1111100”将a清零 a:=0000000; 且将clk1置为高电平 clk1=1; else 否则 计数继续 a:=a+1; clk1=0; end if; end if;end process; process(clk,clr) variable b:std_logic_vector(1 downto 0); beginif clr=1 then 复位信号 clk2=0; elseif clkevent and clk=1then 时钟上升沿,计数 if

8、 b=10then 计满清零且将clk2置为高电平 b:=00; clk2=1; else 否则,继续计数 b:=b+1; clk2=0; end if;end if;end if;end process;process(clk,clr) variable c:std_logic_vector(1 downto 0); beginif clr=1 then clk3=0; elseif clkevent and clk=1then if c=01then c:=00; clk3=1; else c:=c+1; clk3=0; end if;end if;end if;end process;p

9、rocess(clk,clr) variable d:std_logic_vector(1 downto 0); beginif clr=1 then clk4=0; elseif clkevent and clk=1then if d=11then d:=00; clk4=0; else d:=d+1; clk4=1; end if;end if;end if;end process;clk1_1=clk1;clk2_1=clk2;clk3_1=clk3;clk4_1 start simulation选项,即可观察到波形仿真图像。 图41 时序电路波形仿真图 通过观察可以发现,时钟信号一直以

10、20ns的频率输入,在复位信号clr为高电平的时候,计数器中间变量a、b、c、d被置为零。当复位信号clr不为高电平时,变量a、b、c、d开始计数,当b计够两个时钟周期的上升沿的时候,clk2_1被置为高电平,等待下一个时钟上升沿来临的时候,重新置为低电平,如此循环得到新的时钟周期。Clk1_1、clk3_1、clk4_1类似,在此重点解释一下clk1_1,由于显示模块要使用低频的时钟信号,所以clk1_1的中间变量被设为记满“1111100”才被置为高电平,用以降低频率,延长显示时间。2、显示模块library ieee;use ieee.std_logic_1164.all;use iee

11、e.std_logic_unsigned.all; entity XHKZ isport(clk:in std_logic; clr:in std_logic; LED7:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);end entity;architecture caideng of XHKZ is signal n:std_logic_vector(9 downto 0); SIGNAL DISPLAY:STD_LOGIC_VECTOR(6 DOWNTO 0); beginprocess(clk,clr) isbegin if clr=1 then 复位信号为高电平,中间量n清零 n=0000000000;elsif clkEVENT AND clk = 1 then 否则如遇到时钟上升沿,计数开始 if n=1111111111 then 计满“1111111111” ,将中间量清零 n=0000000000; else n=0000000000 and n=0111010100 then DISPLAY=0111010100 and n=1010101000 then DISPLAY=1111

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号