EDA多路彩灯控制器设计报告_第1页
EDA多路彩灯控制器设计报告_第2页
EDA多路彩灯控制器设计报告_第3页
EDA多路彩灯控制器设计报告_第4页
EDA多路彩灯控制器设计报告_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

PAGE1EDA课程设计多路彩灯控制设计1)系统设计要求设计一个多路彩灯控制器,要有多种花型变化(至少设计4种),多种花型可以自动变换,循环往复,有清零开关,可以变化彩灯闪动频率即是可以选择快慢两种节拍。2).设计方案整个系统有三个输入信号,分别为控制快慢的信号SPEED,复位清零信号CLR,输出信号是彩灯输出状态。系统框图如:主要模块组成:时序控制电路模块和显示电路模块,时序控制电路是根据输入信号的设置得到相应的输出信号,并将此信号作为显示电路的时钟信号;显示电路输入时钟信号的周期,有规律的输出设定的六种彩灯变化类型。3).模块设计时序控制模块:CLK为输入时钟信号,电路在时钟上升沿变化;CLR为复位清零信号,高电平有效,一旦有效时,电路无条件的回到初始状态;SPEED为频率快慢选择信号,低电平节奏快,高电平节奏慢;CLK1为输出信号,CLR有效时输出为零,否则,随SPEED信号的变化而改变。显示控制电路的模块框图如图所示,输入信号clk和clr的定义与时序控制电路一样,输入信号led[8...0]能够循环输出9路彩灯6种不同状态的花型。对状态的所对应的彩灯输出花型定义如下:S0:000000000S1:001001001S2:010010010S3:011011011S4:100100100S5:101101101S6:110110110多路彩灯在多种花型之间的转换可以通过状态机实现,当复位信号clr有效时,彩灯恢复初始状态s0,否则,每个时钟周期,状态都将向下一个状态发生改变,并对应输出的花型,这里的时钟周期即时时序控制电路模块产生的输出信号,它根据SPEED信号的不同取值得到两种快慢不同的时钟频率。4).时序控制电路模块程序如下:LIBRARYIEEE;USEIEEE.std_logic_1164.ALL;USEIEEE.std_logic_unsigned.ALL;ENTITYSXISPORT(SPEED:INSTD_LOGIC;CLK:INSTD_LOGIC;CLR:INSTD_LOGIC;CLK1:OUTSTD_LOGIC);ENDSX;ARCHITECTUREARTOFSXISSIGNALCK:STD_LOGIC;BEGINPROCESS(CLK,CLR,SPEED)ISVARIABLETEMP:STD_LOGIC_VECTOR(2DOWNTO0);BEGINIFCLR='1'THENCK<='0';TEMP:="000";ELSIF(CLK'EVENTANDCLK='1')THENIF(SPEED='1')THENIFTEMP="001"THENTEMP:="000";CK<=NOTCK;ELSETEMP:=TEMP+'1';ENDIF;ELSEIFTEMP="111"THENTEMP:="000";CK<=NOTCK;ELSETEMP:=TEMP+'1';ENDIF;ENDIF;ENDIF;ENDPROCESS;CLK1<=CK;ENDART;5).显示模块电路程序如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYXSISPORT(CLK1:INSTD_LOGIC;CLR:INSTD_LOGIC;LED:OUTSTD_LOGIC_VECTOR(8DOWNTO0));ENDENTITYXS;ARCHITECTUREARTOFXSISTYPESIGNALCURRENT_STATE:STATE;SIGNALLIGHT:STD_LOGIC_VECTOR(8DOWNTO0);BEGINPROCESS(CLR,CLK1)ISCONSTANTL0:STD_LOGIC_VECTOR(8DOWNTO0):="000000000";CONSTANTL1:STD_LOGIC_VECTOR(8DOWNTO0):="001001001";CONSTANTL2:STD_LOGIC_VECTOR(8DOWNTO0):="010010010";CONSTANTL3:STD_LOGIC_VECTOR(8DOWNTO0):="011011011";CONSTANTL4:STD_LOGIC_VECTOR(8DOWNTO0):="100100100";CONSTANTL5:STD_LOGIC_VECTOR(8DOWNTO0):="101101101";CONSTANTL6:STD_LOGIC_VECTOR(8DOWNTO0):="110110110";BEGINIFCLR='1'THENCURRENT_STATE<=S0;LIGHT<=L0;ELSIF(CLK1'EVENTANDCLK1='1')THENCASECURRENT_STATEISWHENS0=>LIGHT<="ZZZZZZZZZ";CURRENT_STATE<=S1;WHENS1=>LIGHT<=L1;CURRENT_STATE<=S2;WHENS2=>LIGHT<=L2;CURRENT_STATE<=S3;WHENS3=>LIGHT<=L3;CURRENT_STATE<=S4;WHENS4=>LIGHT<=L4;CURRENT_STATE<=S5;WHENS5=>LIGHT<=L5;CURRENT_STATE<=S6;WHENS6=>LIGHT<=L6;CURRENT_STATE<=S1;ENDCASE;ENDIF;ENDPROCESS;LED<=LIGHT;ENDART;6).时序控制模块仿真波形:从图中可以看出,当复位信号为高电平时,电路时钟输出清零,当快慢信号SPEED为低电平时,时序控制电路四分频起作用,当快慢信号SPEED为高电平时,时序控制电路八分频起作用,仿真结果符合电路要求。当复位信号有效时彩灯输出为零,否则,显示电路在六种不同状态间转换。从图中可以看出当SPEED为高电平时彩灯状态转换快,为低电平时转换要慢,当复位信号有效时,所用输出都清零。综上所述,本次设计实现了设计要求中的要求。5).心得体会这次课程设计对于我来说收获很大。通过本次实验,我认识到了实践的重要,也提高了我的实际动手能力。我们要学会把理论联系实际,而这次课程设计就是一个很好的机会,不仅能提高我们的理论知识,而且也培养了我们的实际动手能力。尽管在中间遇到很多问题,我的设计最后在老师的检查下发现了自己存在的问题,是因为自己想的太简单,没有认真思考。但是经过老师的指导和同学的帮助,使得这次实验能顺利完成,而且在讨论中我们也学到了很多知识,而且也对也前的知识做了一个很好的回顾。在这次实验中,我体会到在进行一个综合性的硬件设计时,要全面考虑问题,比如想用其他信号来控制一个信号,就要考虑到和这个信号直接或间接关系的信号,必须是最重要相关的信号,然后用真值表来解决他们的关系,通过门电路来实现。下来就是在实际动手连接电路时的问题,由于种种客观方面的原因,导致理想和现实相差太远,输入电路不可以悬空,悬空并不是高电平,芯片上有接电源和接地的悬空是高电平,但这个高电平并不是,有时候它不是怎么高,这样地话,就会对后面地时序电路产生影响在通过这两个礼拜的设计实习,让

温馨提示

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

评论

0/150

提交评论