花型变换彩灯设计_第1页
花型变换彩灯设计_第2页
花型变换彩灯设计_第3页
花型变换彩灯设计_第4页
花型变换彩灯设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、赣南师院物理与电子信息学院课程设计报告书姓名:邱亚莲 班级:电子科学与技术06级学号:060803048 时间:2008年 12月25日 论文题目花型变换彩灯设计课程论文要求设计要求:节目彩灯能够美化生活,又能增添节目的喜庆气氛,人们都喜欢在节日的时候用彩灯来装饰房间,使家里增添喜庆的气氛,在很多的城市里都用彩灯来装饰城市的夜晚,用来美化城市,在现代的大都市应用非常的广泛。当然如果只有一种花型则会显得很单调,所以,人们一般都是用好几种花型来相互转换。请设计一个节日彩灯,由采用不同色彩搭配方案的16路彩灯构成,由以下四种花型: 花型1:16路彩灯同时亮灭,亮、灭节拍交替进行;花型2:16路彩灯每

2、次8路灯亮,8路灯灭,且亮、灭相间,交替亮灭;花型3:16彩灯先从左至右逐路点亮,到全亮后再从右至左逐路熄灭,循环演示;花型4:16路彩灯分左、右8路,左8路从左至右逐路点亮,右8路从右至左逐路点亮,到全亮后,左8路从右至左逐路熄灭,右8路从左至右逐路熄灭,循环演示。要求彩灯亮、灭一次的时间为1秒,每32秒自动转换一种花型,花型转换的顺序为:花型1、花型2、花型3、花型4,演示完一次后在进行下一次的循环,如此的一次一次的循环下去。要求利用系统设计的方法,每种花型的变化都是从全0开始的。设计过程1、设计目的A. 熟悉数字电路课本知识,并学会巧妙地应用。B. 了解数字电路课程设计的基本思路。C.

3、掌握电路中各个芯片的具体功能,学会定时器,寄存器等芯片的功能及使用方法。D. 将理论应用到实践,更深地了解数电知识在实际生活中的应用,活学活用。E. 提高分析问题和解决问题的能力。2、设计方案:方案一:VHDL语言设计节日彩灯控制器可以分为4个模块:(1)定时器模块T32S由于彩灯亮、灭一次的时间是1s,所以选择系统时钟CLK的频率唯1HZ,使亮灭节拍与系统时钟周期相同。此时,32s花型转换周期可以用以个模32的计数器对CLK脉冲计数来放方便地实现定时,定时器模块取名为T32S。(2)左、右两个8位移位寄存器模块LSR8和SR8由设计要求可知:花型1、花型2演示一遍需要2个周期;花型3 演示一

4、遍需要32个周期;花型4演示一遍需要16个周期。根据彩灯的亮灭规律,为了便与控制,采用移位型系统方案,即用移位寄存器模块的输出驱动彩灯,彩灯亮、灭和花型的转换通过改变移位寄存器的工作方式来实现。16路彩灯需要移位寄存器模块的规模为16位,但为了方便实现4花型的转换,将其分为左、右两个8位移位寄存器模块LSR8和RSR8。(3)控制子系统模块CONTR(4)顶层模块LIGHT节日彩灯控制系统的结构框图如下图1所示:16路彩灯定时器T32S左移寄存器LSR8右移寄存器RSR8控制器CONTR图1:16路彩灯控制器的结构框图4个模块的VHDL代码:/LIGHT.VHD/library IEEE;us

5、e IEEE.std_logic_1164.all;use IEEE.std_logic_unsigned.all;use IEEE.std_logic_arith.all;entity LIGHT isport(RST,CLK: in STD_LOGIC;Y,Z: buffer STD_LOGIC_VECTOR(7 downto 0);end entity LIGHT;architecture LIGHT_ARCH of LIGHT issignal T01,PR1,PL1,QR1,QL1: STD_LOGIC;signal P1,W1: STD_LOGIC_VECTOR(7 downto

6、0);signal A1,B1: STD_LOGIC_VECTOR(1 downto 0);component T128S isport(CLR,CLK: in STD_LOGIC;CO: OUT STD_LOGIC);end component T128S;component SR8 is port(CLK,DR,DL: in STD_LOGIC; M: in STD_LOGIC_VECTOR(1 downto 0); D: in STD_LOGIC_VECTOR(7 downto 0); Q: out STD_LOGIC_VECTOR(7 downto 0);end component S

7、R8;component CONTR isport(RST,CLK,T0,L7,L0,R7,R0: in STD_LOGIC;PR,PL,QR,QL: out STD_LOGIC;P,W: out STD_LOGIC_VECTOR(7 downto 0);A,B: out STD_LOGIC_VECTOR(1 downto 0);end component CONTR;begin u1: T128S port map(CLR=>RST,CLK=>CLK,CO=>T01);u2: SR8 port map(CLK=>CLK,DR=>PR1,DL=>PL1,D=

8、>P1,M=>B1,Q=>Z);u3: SR8 port map(CLK=>CLK,DR=>QR1,DL=>QL1,D=>W1,M=>A1,Q=>Y);u4: CONTR port map(RST=>RST,CLK=>CLK,T0=>T01,L7=>Z(7),L0=>Z(0),R7=>Y(7),R0=>Y(0),PR=>PR1,PL=>PL1,QR=>QR1,QL=>QL1,P=>P1,W=>W1,A=>A1,B=>B1);end architectu

9、re LIGHT_ARCH;/T32S.VHD/library IEEE;use IEEE.std_logic_1164.all;use IEEE.std_logic_unsigned.all;use IEEE.std_logic_arith.all;entity T32S isport(CLR,CLK: in STD_LOGIC; CO:out STD_LOGIC);end entity T32S;architecture T128S_ARCH of T32S is signal IQ: STD_LOGIC_VECTOR(6 downto 0);begin process(CLR,CLK,I

10、Q)is begin if(CLR='0')then IQ<=(others=>'0');elsif(CLK'event and CLK='1')thenIQ<=IQ+1;end if;if(IQ=15)then CO<='1'else CO<='0'end if;end process;end architecture T32S_ARCH;/SR8.VHD/library IEEE;use IEEE.std_logic_1164.all;entity SR8 is port(

11、CLK,DR,DL: in STD_LOGIC; M: in STD_LOGIC_VECTOR(1 downto 0); D: in STD_LOGIC_VECTOR(7 downto 0); Q: out STD_LOGIC_VECTOR(7 downto 0);end entity SR8;architecture RTL of SR8 is signal IQ: STD_LOGIC_VECTOR(7 downto 0);begin process(CLK)is begin if (CLK'event and CLK='0')then case M is when

12、"00"=>NULL; when "01"=>IQ<=DR&IQ(7 downto 1); when "10"=>IQ<=IQ(6 downto 0)&DL; when "11"=>IQ<=D; when others=>NULL;end case;end if;Q<=IQ;end process;end architecture RTL;/COUNTR.VHD/library IEEE;use IEEE.std_logic_1164.all;e

13、ntity CONTR is port(RST,CLK,T0,L7,L0,R7,R0: in STD_LOGIC; PR,PL,QR,QL: out STD_LOGIC; P,W: out STD_LOGIC_VECTOR(7 downto 0); A,B: out STD_LOGIC_VECTOR(1 downto 0); end entity CONTR;architecture CONTR_ARCH of CONTR is type STATE_TYPE is(S0,S1,S2,S3,S4,S5,S6,S7); signal STATE: STATE_TYPE;begin CIRCUIT

14、_STATE: process(RST,CLK)isbeginif(RST=0)then STATE<=S0;elsif (CLKevent and CLK=1)thencase STATE is when S0=>STATE<=S1; when S1=>if(T0=0)then STATE<=S0; else STATE<=S2; end if; when S2=>STATE<=S3; when S3=>if(T0=0)then STATE<=S2; else STATE<=S4; end if; when S4=>if

15、(R0=0)then STATE<=S4; else STATE<=S5; end if; when S5=>if(T0=0)then if(L7=1)then STATE<=S5; else STATE<=S4; end if; else state<=S6; end if; when S6=>if(L0=0)then STATE<=S6; else STATE<=S7; end if; when S7=>if(T0=1)then STATE<=S0; elsif(L7=1)then STATE<=S7; end if;

16、end case;end if;end process CIRCUIT_STATE;output: process(STATE,T0) isbegincase STATE iswhen S0=>PR<=1;PL<=R7;P<=”11111111”;B<=”11”;QR<=L0;QL<=0;W<=”11111111”;A<=”11”;when S1=>PR<=1;PL<=R7;P<=”00000000”;B<=”11”;QR<=L0;QL<=0; W<=”00000000”;A<=”11”

17、;when S2=>PR<=1;PL<=R7;P<=”01010101”;B<=”11”;QR<=L0;QL<=0;W<=”01010101”;A<=”11”;when S3=>if(T0=0)thenPR<=1;PL<=R7;P<=”01010101”;B<=”10”;QR<=L0;QL<=0;W<=”01010101”;A<=”10”;elsePR<=1;PL<=R7;P<=”00000000”;B<=”11”;QR<=L0;QL<=0;W<

18、=”00000000”;A<=”11”;end if;when S4=>PR<=1;PL<=R7;P<=”11111111”;B<=”01”;QR<=L0;QL<=0;W<=”11111111”;A<=”01”;when S5=>if(T0=0)thenPR<=1;PL<=R7;P<=”11111111”;B<=”10”;QR<=L0;QL<=0;W<=”11111111”;A<=”10”;elsePR<=1;PL<=0;P<=”00000000”;B<=”

19、11”;QR<=0;QL<=1;W<=”00000000”;A<=”11”;end if;when S6=>PR<=1;PL<=0;P<=”11111111”;B<=”01”;QR<=0;QL<=1;W<=”11111111”;A<=”10”;when S7=>PR<=1;PL<=0;P<=”11111111”;B<=”10”;QR<=0;QL<=0;W<=”11111111”;A<=”01”;end case;end process OUTPUT;end arc

20、hitecture CONTR_ARCH;彩灯系统综合图如图2所示:图2: 彩灯系统综合图如上面所示电路图与EL实验箱连接即可出结果,但因我们还没过多地接触VHDL语言,所以不做为本次课程设计的主要方案。方案二:74系列芯片组合成彩灯控制电路主要思路同VHDL语言设计一样,不同的是,本方案中用普通的74系列芯片分别组成定时器、移位寄存器、控制子系统CONTR及彩灯控制器。 A. 由于彩灯亮、灭一次的时间为1秒,所以选择系统的时钟CLK的频率为1HZ使亮灭节拍与系统时钟周期相同。此时,32秒花型转换周期可以用一个模32的计数器对CLK脉冲计数来方便的实现定时,定时器模块取名为T32S。为了方便操

21、作,设置一个加电后的手工复位信号RST。当RET有效时,将控制模块CONTR置于合适的初始状态,使其从花型1开始演示;同时将定时器模块T32S异步清零,使计时电路一开始就能正常工作。如下图3所示:图3 :16彩灯的定时器T32S模为32的计数器的仿真图如下图4所示: 图4:模为32的计数器的仿真图因为每32秒自动转换一种花型,而一个时钟周期为1秒,所以每一种花型的总共的周期数都为32个时钟周期。当第32个时钟脉冲输入时,此时有T0=1,由第一种花型向第二种花型转换;当第64个时钟脉冲输入时,此时又有T0=1,由第二种花型向第三种花型转换:当第96个时钟脉冲输入时,此时又有T0=1,由第三种花型

22、向第四种花型转换;当第128个时钟脉冲输入时,此时又有T0=1,由第四种花型向第一种花型转换,如此的循环下去。B. 实现数据子系统操作控制功能的部分即为发控制子系统,控制器模块取名为CONTR,如下图5所示:图5:16彩灯的控制系统CONTR因为控制子系统需要异步位功能,所以选择74161作为控制器的状态存储芯片。其中一些激励和输出表达式为:D=0 C=QC B=QB A=QCQAL7PR=(QCQB)R7 QR=L0 QL=P7=P5=P3=P1=Q7=Q5=Q3=Q1P6=P4=P0=P2=Q6=Q4=Q2=Q0为了保证开始工作时控制器处于S0(000)状态,加电后首先通过复位信号RST将

23、控制器异步清零C. 把定时器T32S、控制系统CONTR和移位寄存器组成总的电路图,如下图6所示:图6:16彩灯的总的电路图DR,DL分别为移位寄存器模块的右移和左移串行数据输入端,M1、M0为移位寄存器模块的方式控制端。当M1M0=00时,移位寄存器处于保持状态;当M1M0=01时,移位寄存器处于右移状态;当M1M0=10时,移位寄存器处于左移状态;当M1M0=01时,移位寄存器处于置数状态。3、上机设计与仿真结果A. 用MAXPLUSII软件在电脑上画出电路原理图,保存,设置画出的原理图为当前原理图;B. 选择合适的芯片,然后对原理图进行编译;C. 编译选择,添加仿真激励源信号波形,选择仿

24、真时间,保存当前的文件,并进行仿真,观察电路仿真结果,得到以下图7的仿真结果: 图7:16彩灯的仿真图4.上机实验-性能测试A. 打开之前画好的原理图,设置为当前原理图;B. 选择与EL试验箱相同的芯片后,对我们所画的原理图进行编译;C. 编译正确无误后,下载到电脑上;D. 下载完毕后,对管脚进行分配,按照管脚的分配接好电路,输入端CLK接1HZ的脉冲,复位端RST与按键开关相连,用LED灯来表示16路彩灯,将Y0Y1、Z0 Z7对应的管脚分别与16只LED等相连。得到如下表1:16彩灯的真值表:个数Z7Z6Z5Z4Z3Z2Z1Z0Y7Y6Y5Y4Y3Y2Y1Y0100000000000000

25、002111111111111111130000000000000000411111111111111113301010101010101013410101010101010103501010101010101013610101010101010106500000000000000006610000000000000006711000000000000006811100000000000006911110000000000007011111000000000007111111100000000007211111110000000007311111111000000007411111111100

26、000007511111111110000007611111111111000007711111111111100007811111111111110007911111111111111008011111111111111108111111111111111118211111111111111108311111111111111008411111111111110008511111111111100008611111111111000008711111111110000008811111111100000008911111111000000009011111110000000009111111

27、100000000009211101000000000009311110000000000009411000000000000009510000000000000009600000000000000009710000000000000019811000000000000119911100000000001111001111000000001111101111110000001111110211111100001111111031111111001111111104111111111111111110511111110011111111061111110000111111107111110000

28、0011111108111100000000111110911100000000001111101100000000000011111100000000000000111200000000000000001131000000000000001114110000000000001111511100000000001111161111000000001111117111110000001111111811111100001111111191111111001111111120111111111111111112111111110011111111221111110000111111123111110000001111112411110000000011111251110000000000111126110000000000001112710000000000000011280000000000000000表1:16路彩灯真值表5、实验元器件 十进制同步计数器74160芯片 两片74151芯片 五片十六进制同步计数器74161芯片 一片八位移位寄存器74198芯片 两片 各简单的逻辑门若干 6、实验结果讨论A. 通过本次的数字电路课程设计,我们知道了用小规模和中规模的芯片能实现各种组合逻辑电路,制作成现实生活中的许多实物

温馨提示

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

评论

0/150

提交评论