欢迎来到天天文库
浏览记录
ID:61442899
大小:85.50 KB
页数:11页
时间:2021-01-31
《EDA课程设计08通信.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、EDA课程设计之彩灯循环显示班级:组员:时间:2010-7-2指导:陈老师课设计者:一、设计方案彩灯花样循环显示,其功能是不同模式下彩灯实现不同循环方式,对各种彩灯循环模式赋值(命名序列号,共六组模式,分别对应1~6),还能对彩灯循环模式进行手动/自动模式(A/H)设置,在自动模式下彩灯能按照序列号顺序进行逐个花样模式循环;在手动状态下,让彩灯在单组循环模式下进行固定循环,另外还可以进行彩灯循环模式修改。在数码管上要对应显示出彩灯循环模式值(1~6)及手动/自动调节模式(A/H)。1、时钟控制电路该电路用了两个时钟信号CLK、CLK1,其中将CLK作为每种彩灯花
2、样输出的时间控制信号,其频率为1Hz;CLK1作为对按键去抖动的控制信号以及数码管动态显示时钟控制脉冲。2、彩灯花样切换控制信号产生电路本课程设计中彩灯显示方式总共有46种方式(用CNT表示,从0~45),将其划分为六种循环模式(用CNT1表示),对以彩灯显示方式分别为0~8、9~17、18~22、23~27、28~36、37~45六组。当在自动模式下,彩灯在CLK秒脉冲作用下按照方式0~45的顺序进行逐个显示,当到达方式45后其返回从方式0重新开始显示。3、彩灯花样切换及输出电路设置有拨键(KEYIN)、按键(SET_KEY)各一个,用拨键来控制手动/自动调节
3、模式(A/H)的切换,用按键来进行对手动模式下彩灯循环模式的修改。当在自动模式下,当彩灯显示到某个方式时,此时拨拨键(KEYIN),彩灯将停在对应的那组循环模式中进行循环。在自动循环下,如果按下按键(SET_KEY)的话,彩灯循环方式将切换到下一组。一、试验设计步骤:由于设计有多个设置内容,本试验是在老师的逐步引导下完成的。首先,我们先进行彩灯单组循环设置,CLK秒脉冲作用让彩灯能过循环亮起来;接着,增加了多种方式循环的灯组,总共六组有46种方式,整体通过如下程序进行,在IFCLK'EVENTANDCLK='1'THEN下实现IFCNT<45THENCNT<=C
4、NT+1;ELSECNT<=0;其次,增加了拨键KEYIN、按键SET_KEY按钮,经过延迟去抖动后,判断在拨键未拨(拨键电路为低电平Q1<="0")时实现再自动模式下彩灯循环,在拨键拨上(Q1<="1")时,在判断按键是否按下,未按下(按键电路为低电平Q2<="0")彩灯将停在对应的那组循环模式中进行循环,如果按键按下Q2<="0"彩灯循环方式将切换到下一组。用IF—ELSE语句实现按键选择,用IF—ELSIF语句实现彩灯循环组别判断。详细内容见程序进程PROCESSP1、PROCESSP2、PROCESSP3。最后,将彩灯循环组别号和手动/自动调节模式(A/
5、H)送到数码管显示出来,首先选择CLK1作为数码管动态显示(LED7S)时钟控制脉冲,分时显示出组别号CNT1和调节模式(A/H)CNT3。组别号CNT1直接放在彩灯循环方式中,而调节模式(A/H)CNT3通过判断拨键Q1的值进行赋值。最后把CNT1和CNT3分时送给LED7S显示出来。详细内容见程序进程PROCESSP5、PROCESSP6、PROCESSP7。一、管脚设置:CLK:39CLK1:47KEYIN:103SET_KEY:100CBA:高位到低位373635Q:高位到低位9694918584838279LED7S:高位到低位787776757473
6、71二、彩灯循环方式:第一组彩灯循环:从右到左逐个点亮第二组彩灯循环:单个彩灯循环左移第三组彩灯循环:彩灯从中间向两边点亮第四组彩灯循环:彩灯从两边向中间点亮第五组彩灯循环:单个彩灯循环右移第六组彩灯循环:从左到右逐个点亮三、课程设计结果:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYMOVE5ISPORT(CLK:INSTD_LOGIC;--1HZ时钟脉冲CLK1:INSTD_LOGIC;--1KHZ时钟脉冲KEYIN:INSTD_LOGIC;--拨键SE
7、T_KEY:INSTD_LOGIC;--按键CBA:OUTSTD_LOGIC_VECTOR(2DOWNTO0);Q:OUTSTD_LOGIC_VECTOR(7DOWNTO0);LED7S:OUTSTD_LOGIC_VECTOR(6DOWNTO0));ENDENTITY;ARCHITECTUREBEHAVOFMOVE5ISSIGNALCNT1:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALQ1:STD_LOGIC_VECTOR(0DOWNTO0);--拨键判断用SIGNALQ2:STD_LOGIC_VECTOR(0DOWNTO0);--按键判断
8、用SIGNALQ3:ST
此文档下载收益归作者所有