《彩灯控制器设计》word版.docx_第1页
《彩灯控制器设计》word版.docx_第2页
《彩灯控制器设计》word版.docx_第3页
《彩灯控制器设计》word版.docx_第4页
《彩灯控制器设计》word版.docx_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

彩灯控制器设计摘要一、系统设计要求设计一个控制电路来实现8路彩灯按照一定的次序和时间间隔闪烁。具体要求如下:1、当控制开关为0时,灯全灭;当控制开关为1时,从第一盏开始,依次点亮,时间间隔为1秒。期间一直保持只有一盏灯亮、其他灯全灭的状态。2、8盏灯依次亮完后,从第8盏开始依次灭,期间一直保持只有一盏灯灭、其他灯全亮的状态。3、当8盏灯依次灭完后,8盏灯同时亮同时灭,其时间间隔为0.5秒,并重复4次。4、只要控制开关为1,上述亮灯次序不断重复。5、用层次化设计方法设计该电路,编写各个功能模块的程序。6、仿真各功能模块,通过观察有关波形确认电路设计是否正确。7、完成电路设计后,用实验系统下载验证设计的正确性。二、系统总体结构系统框图如下所示,ENA为控制开关,输入信号为2Hz,经过分频器分频之后产生一个1Hz的时钟信号,用两个12位内部信号的左、右移后的中间8位来控制8个灯的亮与灭。计数器1和计数器2的作用:一方面用2Hz和1Hz的时钟信号控制灯亮、灭的时间间隔;另一方面控制八盏灯的依次亮、依次灭和全亮、全灭。使能信号ENA为无效电平时(低电平),8只LED灯保持全灭的状态;当使能信号ENA为有效电平时(高电平),8只按照既定的花型进行变换,首先2Hz的时钟信号在分频器的左右下改变为1Hz的时钟信号,该1Hz的时钟信号送至计数器2、左移和右移模块,并由计数器2实现左、右移模块的选择。分别实现8只LED灯的自左向右依次点亮,以及自右向左依次熄灭的花型变换;当完成自右向左的花型变换后,计数器2给出一个控制信号给计数器1,执行全亮全灭的花型变换,该模块的时钟信号是未经分频器分频的原始时钟信号2Hz。只要使能信号有效,那么该系统就按照以上的花型变换顺序一直永序的变换下去。三、各功能模块1、时钟信号二分频模块:功能描述:该模块的功能主要是将频率为2Hz的时钟信号分频频率为1Hz的时钟信号,并将频率为1Hz的时钟信号输出给左移、右移模块作为这两个模块时钟触发信号。代码部分:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY clk_div2 ISPORT(CLK:IN STD_LOGIC;OUTPUT:BUFFER STD_LOGIC);END clk_div2 ;ARCHITECTURE one OF clk_div2 ISBEGINPROCESS(CLK)BEGINIF CLKEVENT AND CLK=1 THENOUTPUT=NOT OUTPUT;END IF;END PROCESS;END one;仿真波形:2、计数器模块:功能描述:该模块的主要功能是通过计数,实现对左移及右移模块的选通,并在右移和左移模块完成后,跳转到循环取反模块执行指令。计数器1代码部分:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY count1 ISPORT(CLK,ENA:IN STD_LOGIC;OUTPUT:BUFFER STD_LOGIC_VECTOR(1 DOWNTO 0);END count1;ARCHITECTURE one OF count1 ISSIGNAL CQ:STD_LOGIC_VECTOR(5 DOWNTO 0);BEGINPROCESS(CLK,ENA)BEGINIF CLKEVENT AND CLK=1 THENIF ENA=1 THENIF CQ100111 THEN CQ=CQ+1;IF CQ=100000 THEN OUTPUT=10;ELSIF CQ=100001 THEN OUTPUT=01;ELSIF CQ=100010 THEN OUTPUT=10;ELSIF CQ=100011 THEN OUTPUT=01;ELSIF CQ=100100 THEN OUTPUT=10;ELSIF CQ=100101 THEN OUTPUT=01;ELSIF CQ=100110 THEN OUTPUT=10;ELSIF CQ=100111 THEN OUTPUT=01;END IF;ELSE CQ=000000;OUTPUT=00;END IF;ELSE CQ=111111;END IF;END IF;END PROCESS;END one;仿真波形:计数器2代码:LIBRARYIEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY count2 ISPORT(CLK,ENA:IN STD_LOGIC;OUTPUT:OUT STD_LOGIC_VECTOR(5 DOWNTO 0);END count2;ARCHITECTURE one OF count2 ISSIGNAL CQ:STD_LOGIC_VECTOR(5 DOWNTO 0);BEGINPROCESS(CLK,ENA)BEGINIF CLKEVENT AND CLK=1 THENIF ENA=1 THENIF CQ010011 THEN CQ=CQ+1;ELSE CQ=000000;END IF;ELSE CQ=111111;END IF;END IF;END PROCESS;OUTPUTOUTPUTOUTPUTOUTPUTOUTPUTOUTPUTOUTPUTOUTPUTOUTPUTOUTPUT=000000000000;END CASE;ELSE OUTPUTOUTPUTOUTPUTOUTPUTOUTPUTOUTPUTOUTPUTOUTPUTOUTPUTOUTPUT=000000000000;END CASE;ELSE OUTPUTOUTPUTOUTPUTOUTPUT=000000000000;END CASE;ELSE OUTPUTOUTPUTOUTPUTOUTPUT=000000000000;END CASE;ELSE OUTPUT=000000000000;END IF;END IF;END PROCESS;END one;仿真波形:7、系统组合电路:以上详细地介绍了各个模块的功能、代码以及仿真波形。下面将把6个分模块系统有序的整合在一起,形成一个功能完整的系统。仿真波形:四、系统调试1、该系统使用开发板电路模式N0.6,其电路结构为2、使用的可编程芯片型号为FLEX EPF10K10-PLCC84。3、在将程序下载到实验箱上实际检测的时候,引脚的设置是一项简单但极易出现错误的工作。时钟信号由clock0送出,其时钟频率为2Hz,使能信号ENA接的是实验箱上的3号按键。4、当控制开关ENA为0时,8只彩灯保持全灭的状态;当控制开关ENA为1时,彩灯按照预先设定的先自左向右依次点亮,全部点亮后按照自右向左的顺序依次熄灭,依次渐亮和依次熄灭的过程中,始终保持只有一盏彩灯被点亮或熄灭,且时间间隔为1S。当彩灯依次熄灭后,加快变换频率,以0.5S的时间间隔全亮、全亮交替。5、调试结果:此系统可以顺利的实现了4的设定显示效果。五、总结本次实验课题主要包括四个阶段:课题选择阶段、查阅资料阶段、编程仿真阶段、实验箱检测调试阶段。课题的选定是抽签决定的,有不少人说彩灯是最简单的一个课题。不过我认为没什么简单困难之分,不同的只是你对待它的态度。查阅资料阶段则主要围绕的是选择何种方案可以更好的实现要求得功能,并最终确定各个功能模块的实现方案。编程仿真阶段则主要是把上一阶段确定的方案变为VHDL代码,并编译仿真得到仿真波形。最后一个阶段就是实验箱

温馨提示

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

评论

0/150

提交评论