1、 EDA 课程设计报告课程设计报告 用用 VHDL实现多路彩灯控制器的设计实现多路彩灯控制器的设计 班级:班级: 成员:成员: 成绩:成绩: 电子工程系电子工程系 2013 年年 5 月月 一、设计要求一、设计要求 设计一个彩灯控制程序器。可以实现四种花型循环变化,有复位开关。整个系统共有三 个输入信号 CLK,RST,Sel,八个输出信号控制八个彩灯。时钟信号 CLK 脉冲由系统的 晶振产生。各种不同花样彩灯的变换由 Sel 控制.此彩灯控制系统设定有四种花样变化,这 四种花样可以进行切换,四种花样分别为: (1) 彩灯从左到右逐次闪亮。 (2)彩灯从左向右逐次点亮,且亮后不熄灭。 (3)
2、彩灯两边同时亮两个,然后逐次向中间点亮。 (4)彩灯全亮,向中间熄灭,再向两边点亮。 (5)彩灯中间两熄灭,依次向外扩两灯熄灭,呈菱形灭灯。 (6)彩灯呈菱形点亮。 (7)彩灯中间两个灭灯,中间两个灭灯,依次外扩。 (8) 全部彩灯亮与熄灭交替。 二、设计思路二、设计思路 彩灯的一种点亮方式经过足够长的延时后,转变为了其他的点亮方式。这就需要一个 CLK 信号完成,CLK 信号可以由晶体振荡器或者是振荡电路产生。至于各种不同花样彩灯的 变换,我们可以通过增加输入信号 Sel 来控制。Sel 为三位二进制数,分别为 000,001, 010,100,101,110,111,八种状态对应八种花样。
3、同时系统还需一个复位信号实现 对电路的清零控制。输出八位彩灯,我们这里用 LED 发光二极管代替。当电路输出为“1” 时,LED 点亮。当电路输出为“0”时,LED 熄灭 三、成员分工三、成员分工 四、源程序四、源程序 LIBRARY ieee; USE ieee.std_logic_1164.ALL; ENTITY deng IS PORT(cLK,rst:IN std_LOGIC; sel:in std_LOGIC_VECTOR(2 DOWNTO 0); abc:OUT std_LOGIC_VECTOR(7 DOWNTO 0) ); END deng; ARCHITECTURE color
4、 OF deng IS TYPE state_1 IS (s0,s1,s2,s3,s4,s5,s6,s7); SIGNAL state_2:state_1; BEGIN pr_1:PROCESS (cLK,rst) BEGIN IF rst=1 THEN state_2 state_2 state_2 state_2 state_2 state_2 state_2 state_2 state_2 abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc
5、abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc=“00000000“; END CASE; end if; END PROCESS pr_2; END color; 五、仿真结果五、仿真结果 (1)当 sel 为000时的图形,彩灯从左到右逐次闪亮。 (2)当 sel 为 001 时的图形,彩灯从左向右逐次点亮,且亮后不熄灭 (3)当
6、 sel 为 010 时的图形,彩灯两边同时亮两个,然后逐次向中间点亮 (4)当 sel 为 011 时的图形,彩灯全亮,向中间熄灭,再向两边点亮 (5)当 sel 为 100 时的图形,彩灯中间两熄灭,依次向外扩两灯熄灭,呈菱形灭灯 (6)当 sel 为 101 时的图形,彩灯呈菱形点亮 (7)当 sel 为 110 时的图形,彩灯中间两个灭灯,中间两个灭灯,依次外扩 (8)当 sel 为 111 时的图形,全部彩灯亮与熄灭交替 引脚锁定完成(9) 引脚锁定完成(10) 六、收获体会六、收获体会 1,从仿真波形可以看出,此程序可以实现八种不同花样彩灯的相互变换,每种花样彩 灯可以循环变化。然后就可以实现程序下载和硬件测试。主频时钟 clk 接 CLOCK0(第 83 脚),但是如果系统的固有频率很大,彩灯的闪烁速度非常快,看到的现象是每个花样的八 个彩灯同时被点亮,为了实现绚丽多彩的景象,选择不同的频率(在 1Hz-46Hz 之间选择) 能使彩灯点亮速度适宜。复位 RST 和 Sel 的高位与地位分