实验六-循环彩灯.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验六-循环彩灯

实验六 8路彩灯控制实验 实验报告 实验6 彩灯控制实验 1.设计8路彩灯控制电路,并用MAXPLUS进行仿真,将结果下载到实验箱中,测试电路的正确性。 要求:设计一个8路彩灯控制电路,实现8位LED每隔1秒全亮、全灭、逐个点亮,延时间隔可由外部增和减按键进行调节,同时将延时间隔显示在数码管上。 注:其中彩灯的样式可以自己进行定义 注意:外部时钟信号由实验箱的信号源提供,需要设计相应的分频电路进行分频,以获得1Hz的时钟信号 2.应包含VHDL源程序,详细的设计报告,对程序,仿真结果,实验箱运行结果(图片贴到报告中)进行详尽的分析 一、实验分析 1、彩灯动作:逐个点亮(自左向右)——至全亮——全灭——全亮——全灭——逐个点亮,时间间隔1S,可通过按键进行调节。 2、本实验由四个模块组成:四频率输出分频器选一器彩灯控制器。四选一器从分频器中选择不同频率的时钟信号输送到彩灯控制器,从而达到控制彩灯闪烁速度的快慢变换。 rst为低电平复位信号,为低电平时,8盏灯保持全灭的状态;输入信号为一个时钟信号,经过分频器分频之后产生频率不同的四个时钟信号。 频率选择器可以通过按键输入高电平脉冲来实现四种频率的循环选择。 彩灯控制模块实现多彩灯花样循环的控制,时间间隔有频率选择器的输出频率决定。 VHDL源程序 1、四频率输出分频器根据要求有4种速度的变化,而只有一个输入的时钟信号,所以要对输入的时钟信号进行分频,本次设计采用了二分频、四分频、八分频和1 四频率输出分频器如下图: 模块元件符号如下图: 时序仿真图: 2、四选四选一控的功能是从分频器中选择不同的时钟信号送给彩灯控制器,实现彩灯闪烁频率的变化,代码如 f_choose为频率选择端,每输入一次高脉冲,频率便改变一次,可以通过按键输入高脉冲来实现四种频率的循环选择。时序仿真图如下: 彩灯控制器 彩灯控制器电路是整个设计的核心,它控制整个设计的输出效果也就是图案的样式变化。中用1代表灯亮,用O代表灯灭,由0,1按不同的规律组合代表不同的灯光图案,同时使其选择不同的频率,以实现多种图案及多种频率的花样功能显示。该程序充分证明了用VHDL设计电路的灵活性,即可以通过改变程序中输出变量的位数来改变彩灯的数目。 仿真时序图如下: 数字频率计 部分源代码如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY DF_meter IS PORT(start:IN STD_LOGIC; clk: IN STD_LOGIC; clk1:IN STD_LOGIC; yy1:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); w1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END DF_meter; ARCHITECTURE behave OF DF_meter IS SIGNAL b1,b2,b3,b4,b5,b6,b7:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL BCD:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL SCO:integer range 0 to SIGNAL SSCO:integer range 0 to SIGNAL EN,bclk:STD_LOGIC; SIGNAL SSS:STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL BCD0,BCD1,BCD2,BCD3:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN SECOND:PROCESS(clk) BEGIN IF start=1 THEN SCO=0; ELSIF clkevent AND clk=1 THEN IF SCTHEN SCO=SCO+1; ELSE SCO END IF; END IF; IF SCAND start=0 THEN EN=1; ELSE EN=0; END IF; END PROCESS; and2:PROCESS(EN,clk1) BEGIN bclk=clk1 AND EN; END PROCESS; END behave; 模块元件符号: 顶层文件原理图: 时序仿真图: 由时序仿真图可知,此设计符合实验要求,在上述顶层文件原理图中,F_CHOODS输出端接数字频率计的clk1端,数字频率计的YY1端接数码管,以实现通过按键调节时间间隔,并在数码管上显示出来。 编辑引脚 完成引脚锁定

您可能关注的文档

文档评论(0)

zhuwenmeijiale + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档