八路彩灯实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

八路彩灯控制系统实验报告

姓名:

学院:电子工程学院

学号:

同作人:

一实验目的

1.熟悉数字电路中时序逻辑电路与组合逻辑电路的设计。

2.熟悉并掌握用移位寄存器设计彩灯控制器的方法。

二设计任务与要求

1.彩灯明暗变换节拍为0.25S和0.5S,两种节拍交替运行。

2. 彩灯演示花型为三种(花型自拟)。

3. 彩灯用发光二极管模拟。

要求:即能控制8路LED以两种节拍、三种花型

连续循环演示。

三参考器件

给定器件为四2输入与非门(74LS00)1只,六反相器(74LS04)1只,二进制同步计数器(74LS161)2只,四位双向移位寄存器(74LS194)2只,四2选1数据选择器(74LS157)1只,555定时器1只,电阻、电容若干

四实验要求

按照设计任务设计电路,然后在仿真软件上进行虚拟实验,正确后,在实验板上搭建实验电路,观察彩灯花型是否正确,如果不正确,排除故障直至正确为止。最后一步是撰写实验报告、整理文档,对实验进行总结。

五设计说明

彩灯控制器原理框图如图5-45所示。图中,虚线以上为处理器,虚线以下是控制器。

从图5-45可以看出,编码发生器的功能是:根据花型要求按节拍送出8位状态编码信号,以便控制灯的亮灭。其电路可以选用四位双向移位寄

存器来实现。八路灯用两片移位寄存器级联就可以实现。

缓冲驱动电路的功能是:提供彩灯所需要的工作电压和电流,隔离负载对编码发生器工作的影响。

彩灯控制器对定时器的要求不高,振荡器可采用环形振荡器或555定时器来实现。

控制电路为编码发生器提供所需要的节拍脉

冲和控制信号,以同步整个系统工作。

最终效果

1. 从左至右顺次渐亮,全亮后逆序渐灭;

2. 中间到两边对称地逐渐渐亮,全亮后,再由中间向两边逐一

熄灭;

3. 八路灯分两半,从左至右顺次渐亮,全亮后全灭。

原理框图

VHDL语言

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity balucaideng is

port(

clk:in std_logic;

en:in std_logic;

clr:in std_logic;

l:out std_logic_vector(7 downto 0)

--control signal of the balucaideng );

end balucaideng;

architecture one of balucaideng is

signal count_q:integer range 0 to 86;

begin

counter:process(clk,clr)

begin

if(clr='0')then

count_q<=0;

elsif(clk'event and clk='1')then

if(en='1')then

if(count_q<28)then

count_q<=count_q+1;

else

count_q<=0;

end if;

end if;

end if;

end process counter;

table:process(count_q)

begin

case count_q is

when 0=>l<="10000000";

when 1=>l<="11000000";

when 2=>l<="11100000";

when 3=>l<="11110000";

when 4=>l<="11111000";

when 5=>l<="11111100";

when 6=>l<="11111110";

when 7=>l<="11111111";

when 8=>l<="11111110";

when 9=>l<="11111100";

when 10=>l<="11111000";

when 11=>l<="11110000";

when 12=>l<="11100000";

when 13=>l<="11000000";

when 14=>l<="10000000";

when 15=>l<="00000000";

when 16=>l<="00011000";

when 17=>l<="00111100";

when 18=>l<="01111110";

when 19=>l<="11111111";

when 20=>l<="00011000";

when 21=>l<="11000011";

when 22=>l<="10000001";

when 24=>l<="10001000"; when 25=>l<="11001100"; when 26=>l<="11101110"; when 27=>l<="11111111"; when 28=>l<="00000000"; --0.25s

when 29=>l<="10000000"; when 30=>l<="10000000"; when 31=>l<="11000000"; when 32=>l<="11000000"; when 33=>l<="11100000"; when 34=>l<="11100000"; when 35=>l<="11110000"; when 36=>l<="11110000"; when 37=>l<="11111000"; when 38=>l<="11111000"; when 39=>l<="11111100"; when 40=>l<="11111100"; when 41=>l<="11111110"; when 42=>l<="11111110"; when 43=>l<="11111111"; when 44=>l<="11111111"; when 45=>l<="11111110"; when 46=>l<="11111110"; when 47=>l<="11111100"; when 48=>l<="11111100"; when 49=>l<="11111000"; when 50=>l<="11111000"; when 51=>l<="11110000"; when 52=>l<="11110000"; when 53=>l<="11100000"; when 54=>l<="11100000"; when 55=>l<="11000000"; when 56=>l<="11000000"; when 57=>l<="10000000"; when 58=>l<="10000000"; when 59=>l<="00000000"; when 60=>l<="00000000"; when 61=>l<="00011000"; when 62=>l<="00011000"; when 63=>l<="00111100"; when 64=>l<="00111100"; when 65=>l<="01111110";

相关文档
最新文档