EDA课程设计之彩灯循环显示.doc
文本预览下载声明
EDA课程设计
之
彩灯循环显示
班级:
组员:
时间: 2010-7-2
指导: 陈老师
课设计者:
设计方案
彩灯花样循环显示,其功能是不同模式下彩灯实现不同循环方式,对各种彩灯循环模式赋值(命名序列号,共六组模式,分别对应1~6),还能对彩灯循环模式进行手动/自动模式(A/H)设置,在自动模式下彩灯能按照序列号顺序进行逐个花样模式循环;在手动状态下,让彩灯在单组循环模式下进行固定循环,另外还可以进行彩灯循环模式修改。在数码管上要对应显示出彩灯循环模式值(1~6)及手动/自动调节模式(A/H)。
1、时钟控制电路
该电路用了两个时钟信号CLK、CLK1,其中将CLK作为每种彩灯花样输出的时间控制信号,其频率为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)各一个,用拨键来控制手动/自动调节模式(A/H)的切换,用按键来进行对手动模式下彩灯循环模式的修改。
当在自动模式下,当彩灯显示到某个方式时,此时拨拨键(KEYIN),彩灯将停在对应的那组循环模式中进行循环。在自动循环下,如果按下按键(SET_KEY)的话,彩灯循环方式将切换到下一组。
试验设计步骤:
由于设计有多个设置内容,本试验是在老师的逐步引导下完成的。
首先,我们先进行彩灯单组循环设置,CLK秒脉冲作用让彩灯能过循环亮起来;接着,增加了多种方式循环的灯组,总共六组有46种方式,整体通过如下程序进行,在IF CLKEVENT AND CLK=1 THEN下 实现IF CNT45 THEN CNT=CNT+1; ELSE CNT=0;
其次,增加了拨键KEYIN、按键SET_KEY按钮,经过延迟去抖动后,判断在拨键未拨(拨键电路为低电平Q1=0)时实现再自动模式下彩灯循环,在拨键拨上(Q1=1)时,在判断按键是否按下,未按下(按键电路为低电平Q2=0)彩灯将停在对应的那组循环模式中进行循环,如果按键按下Q2=0彩灯循环方式将切换到下一组。用IF—ELSE语句实现按键选择,用IF—ELSIF语句实现彩灯循环组别判断。详细内容见程序进程PROCESS P1、PROCESS P2、PROCESS P3。
最后,将彩灯循环组别号和手动/自动调节模式(A/H)送到数码管显示出来,首先选择CLK1作为数码管动态显示(LED7S)时钟控制脉冲,分时显示出组别号CNT1和调节模式(A/H)CNT3。组别号CNT1直接放在彩灯循环方式中,而调节模式(A/H)CNT3通过判断拨键Q1的值进行赋值。最后把CNT1和CNT3分时送给LED7S显示出来。详细内容见程序进程PROCESS P5、PROCESS P6 、PROCESS P7。
管脚设置:
CLK :39
CLK1 :47
KEYIN :103
SET_KEY :100
CBA :高位到低位37 36 35
Q :高位到低位 96 94 91 85 84 83 82 79
LED7S :高位到低位 78 77 76 75 74 73 71
彩灯循环方式:
第一组彩灯循环:从右到左逐个点亮
第二组彩灯循环:单个彩灯循环左移
第三组彩灯循环:彩灯从中间向两边点亮
第四组彩灯循环:彩灯从两边向中间点亮
第五组彩灯循环:单个彩灯循环右移
第六组彩灯循环:从左到右逐个点亮
课程设计结果:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY MOVE5 IS
PORT(CLK: IN STD_LOGIC; --1HZ时钟脉冲
CLK1: IN STD_LOGIC; --
显示全部