基于VHDL实现多路彩灯控制器设计应用_第1页
基于VHDL实现多路彩灯控制器设计应用_第2页
基于VHDL实现多路彩灯控制器设计应用_第3页
基于VHDL实现多路彩灯控制器设计应用_第4页
基于VHDL实现多路彩灯控制器设计应用_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 基于VHDL实现多路彩灯控制器设计应用 关键词: VHDL 彩灯 控制 07通信工程本科班沈治文摘要:设计一个彩灯控制程序器。可以实现四种花型循环变化,有复位开关。整个系统共有三个输入信号CLK,RST,Sel,八个输出信号控制八个彩灯。时钟信号CLK脉冲由系统的晶振产生。各种不同花样彩灯的变换由Sel控制.此彩灯控制系统设定有四种花样变化,这四种花样可以进行切换,四种花样分别为:(1) 彩灯从左到右逐次闪亮。 (2)彩灯从左向右逐次点亮,且亮后不熄灭。(3) 彩灯两边同时亮两个,然后逐次向中间点亮。 (4) 全部彩灯亮与熄灭交替。 Abstract: The design of a con

2、trol program Lantern device. Four kinds of flowers can be achieved circulation change, reset switch. The whole system has three input signals CLK, RST, Sel, 8 output signal control 8 lights. The clock signal CLK pulses generated by the system of the crystal. Lanterns of different patterns of transfo

3、rmation controlled by Sel. The lights control system configuration there are four patterns change, four kinds of patterns can be switched, four kinds of patterns are as follows: (1) successive flashing lights from left to right. (2) successive lantern lit from left to right, and the light is not ext

4、inguished after. (3) The two bright lights on both sides at the same time, and then successively to the center light. (4) All lights turn bright and quenching在日常生活中,为了增加聚会或是过节氛围,经常要使用到彩灯循环点亮。单一的循环可能无法起到理想的效果,通过不同花样的变换则能够很好的完成任务。多路彩灯循环控制可以有多种实现方法,例如利用单片机可以实现,利用数字电路时序逻辑也可以实现。我们这里利用VHDL语言实现对多路彩灯的控制。 彩灯

5、的一种点亮方式经过足够长的延时后,转变为了其他的点亮方式。这就需要一个CLK信号完成,CLK信号可以由晶体振荡器或者是振荡电路产生。至于各种不同花样彩灯的变换,我们可以通过增加输入信号Sel来控制。Sel为两位二进制数,分别为00,01,10,11,四种状态对应四种花样。同时系统还需一个复位信号实现对电路的清零控制。输出八位彩灯,我们这里用LED发光二极管代替。当电路输出为“1”时,LED点亮。当电路输出为“0”时,LED熄灭。利用VHDL语言实现该功能程序如下:LIBRARY ieee;USE ieee.std_logic_1164.ALL;ENTITY color8 IS PORT(cLK

6、,rst:IN std_LOGIC; sel:in std_LOGIC_VECTOR(1 DOWNTO 0); abc:OUT std_LOGIC_VECTOR(7 DOWNTO 0) ); END color8;ARCHITECTURE color OF color8 ISTYPE 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

7、state_2 state_2 state_2 abc abcabc 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=; END CASE;end if;END PROCESS pr_2;END color; 本控制电路采用VHDL语言设计。运用自顶而下的设计思想,按功能逐层分割实现层次化设计。根据多路彩灯控制器的设计原理,将整个控制器分为四个部分,分别对应彩灯的四种变化模式。考虑到程序比较长,本电路利用状态机的

8、VHDL设计来简化,使得程序层次分明,可读性更强。使用TYPE语句定义state_1为s0到s7八种状态。主控时序进程将state_1的内容送给state_2,主控组合进程通过信号state_2中的状态值,进入相应的状态。在进程一中,首先用TYPE语句定义数据对象,以及个状态之间的转化情况。在进程二中,在IF语句中嵌套CASE语句。在IF语句中,规定四种花样,即用SEL=00表示花色的第一种点亮方式,对应SEL=01,10,11分别表示花色的第二,第三和第四种点亮方式。在CASE语句中,输出八位彩灯的状态用八位二进制数据来代替。彩灯从左到右逐次闪亮,即使为1的为右移。彩灯从左向右逐次点亮,且亮

9、后不熄灭,即从左向右逐渐将0转变为1。彩灯两边同时亮两个,然后逐次向中间点亮,即两1为逐渐向内移动。全部彩灯亮与熄灭交替,即全为1与全为0之间的转变。各模块VHDL程序经过编译优化后,选择合适的目标芯片进行综合、仿真,管脚配置以及编程下载,实现硬件模拟。本电路选用ACEX1K公司的可编程逻辑芯片EPEK100QC208-3,由Quartus II进行仿真.下面是四种花色的仿真波形。 图形编号(1)当Sel全为00时 图形编号(2)当Sel全为01时 图形编号(3)当Sel全为10时 图形编号(4)当Sel全为11时 图形编号(5) 从仿真波形可以看出,此程序可以实现四种不同花样彩灯的相互变换,

10、每种花样彩灯可以循环变化。然后就可以实现程序下载和硬件测试。主频时钟clk接CLOCK0(第91脚),但是如果系统的固有频率很大,彩灯的闪烁速度非常快,看到的现象是每个花样的八个彩灯同时被点亮,为了实现绚丽多彩的景象,选择不同的频率(在1Hz-46Hz之间选择)能使彩灯点亮速度适宜。复位RST和Sel的高位与地位分别接三个键控。输出八位彩灯分别对应接八个LED发光二极管。编程下载后,拨动Sel的高位与地位观察能否实现四种花色的循环。本次设计的程序已经在硬件系统上得到了验证,实验表明。此设计方法能够满足四种不同花样彩灯的变化要求,并且该方法便于扩展不同变化模式的彩灯花样,各个不同花样的相互转变是手动切换实现的。 实验结果与理论结果相一致

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论