花型变换彩灯设计.docx

上传人:b****7 文档编号:9253482 上传时间:2023-02-03 格式:DOCX 页数:24 大小:217.96KB
下载 相关 举报
花型变换彩灯设计.docx_第1页
第1页 / 共24页
花型变换彩灯设计.docx_第2页
第2页 / 共24页
花型变换彩灯设计.docx_第3页
第3页 / 共24页
花型变换彩灯设计.docx_第4页
第4页 / 共24页
花型变换彩灯设计.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

花型变换彩灯设计.docx

《花型变换彩灯设计.docx》由会员分享,可在线阅读,更多相关《花型变换彩灯设计.docx(24页珍藏版)》请在冰豆网上搜索。

花型变换彩灯设计.docx

花型变换彩灯设计

 

赣南师院

物理与电子信息学院

课程设计报告书

 

姓名:

邱亚莲

班级:

电子科学与技术06级

学号:

060803048

时间:

2008年12月25日

 

论文题目

花型变换彩灯设计

课程论文

要求

设计要求:

节目彩灯能够美化生活,又能增添节目的喜庆气氛,人们都喜欢在节日的时候用彩灯来装饰房间,使家里增添喜庆的气氛,在很多的城市里都用彩灯来装饰城市的夜晚,用来美化城市,在现代的大都市应用非常的广泛。

当然如果只有一种花型则会显得很单调,所以,人们一般都是用好几种花型来相互转换。

请设计一个节日彩灯,由采用不同色彩搭配方案的16路彩灯构成,由以下四种花型:

花型1:

16路彩灯同时亮灭,亮、灭节拍交替进行;

花型2:

16路彩灯每次8路灯亮,8路灯灭,且亮、灭相间,交替亮灭;

花型3:

16彩灯先从左至右逐路点亮,到全亮后再从右至左逐路熄灭,循环演示;

花型4:

16路彩灯分左、右8路,左8路从左至右逐路点亮,右8路从右至左逐路点亮,到全亮后,左8路从右至左逐路熄灭,右8路从左至右逐路熄灭,循环演示。

要求彩灯亮、灭一次的时间为1秒,每32秒自动转换一种花型,花型转换的顺序为:

花型1、花型2、花型3、花型4,演示完一次后在进行下一次的循环,如此的一次一次的循环下去。

要求利用系统设计的方法,每种花型的变化都是从全0开始的。

 

设计过程

1、设计目的

A.熟悉数字电路课本知识,并学会巧妙地应用。

B.了解数字电路课程设计的基本思路。

C.掌握电路中各个芯片的具体功能,学会定时器,寄存器等芯片的功能及使用方法。

D.将理论应用到实践,更深地了解数电知识在实际生活中的应用,活学活用。

E.提高分析问题和解决问题的能力。

2、设计方案:

方案一:

VHDL语言设计

节日彩灯控制器可以分为4个模块:

(1)定时器模块T32S

由于彩灯亮、灭一次的时间是1s,所以选择系统时钟CLK的频率唯1HZ,使亮灭节拍与系统时钟周期相同。

此时,32s花型转换周期可以用以个模32的计数器对CLK脉冲计数来放方便地实现定时,定时器模块取名为T32S。

(2)左、右两个8位移位寄存器模块LSR8和SR8

由设计要求可知:

花型1、花型2演示一遍需要2个周期;花型3演示一遍需要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//

libraryIEEE;

useIEEE.std_logic_1164.all;

useIEEE.std_logic_unsigned.all;

useIEEE.std_logic_arith.all;

entityLIGHTis

port(RST,CLK:

inSTD_LOGIC;

Y,Z:

bufferSTD_LOGIC_VECTOR(7downto0));

endentityLIGHT;

architectureLIGHT_ARCHofLIGHTis

signalT01,PR1,PL1,QR1,QL1:

STD_LOGIC;

signalP1,W1:

STD_LOGIC_VECTOR(7downto0);

signalA1,B1:

STD_LOGIC_VECTOR(1downto0);

componentT128Sis

port(CLR,CLK:

inSTD_LOGIC;

CO:

OUTSTD_LOGIC);

endcomponentT128S;

componentSR8is

port(CLK,DR,DL:

inSTD_LOGIC;

M:

inSTD_LOGIC_VECTOR(1downto0);

D:

inSTD_LOGIC_VECTOR(7downto0);

Q:

outSTD_LOGIC_VECTOR(7downto0));

endcomponentSR8;

componentCONTRis

port(RST,CLK,T0,L7,L0,R7,R0:

inSTD_LOGIC;

PR,PL,QR,QL:

outSTD_LOGIC;

P,W:

outSTD_LOGIC_VECTOR(7downto0);

A,B:

outSTD_LOGIC_VECTOR(1downto0));

endcomponentCONTR;

begin

u1:

T128Sportmap(CLR=>RST,CLK=>CLK,CO=>T01);

u2:

SR8portmap(CLK=>CLK,DR=>PR1,DL=>PL1,D=>P1,M=>B1,Q=>Z);

u3:

SR8portmap(CLK=>CLK,DR=>QR1,DL=>QL1,D=>W1,M=>A1,Q=>Y);

u4:

CONTRportmap(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);

endarchitectureLIGHT_ARCH;

//T32S.VHD//

libraryIEEE;

useIEEE.std_logic_1164.all;

useIEEE.std_logic_unsigned.all;

useIEEE.std_logic_arith.all;

entityT32Sis

port(CLR,CLK:

inSTD_LOGIC;

CO:

outSTD_LOGIC);

endentityT32S;

architectureT128S_ARCHofT32Sis

signalIQ:

STD_LOGIC_VECTOR(6downto0);

begin

process(CLR,CLK,IQ)is

begin

if(CLR='0')thenIQ<=(others=>'0');

elsif(CLK'eventandCLK='1')then

IQ<=IQ+1;

endif;

if(IQ=15)thenCO<='1';

elseCO<='0';

endif;

endprocess;

endarchitectureT32S_ARCH;

//SR8.VHD//

libraryIEEE;

useIEEE.std_logic_1164.all;

entitySR8is

port(CLK,DR,DL:

inSTD_LOGIC;

M:

inSTD_LOGIC_VECTOR(1downto0);

D:

inSTD_LOGIC_VECTOR(7downto0);

Q:

outSTD_LOGIC_VECTOR(7downto0));

endentitySR8;

architectureRTLofSR8is

signalIQ:

STD_LOGIC_VECTOR(7downto0);

begin

process(CLK)is

begin

if(CLK'eventandCLK='0')then

caseMis

when"00"=>NULL;

when"01"=>IQ<=DR&IQ(7downto1);

when"10"=>IQ<=IQ(6downto0)&DL;

when"11"=>IQ<=D;

whenothers=>NULL;

endcase;

endif;

Q<=IQ;

endprocess;

endarchitectureRTL;

//COUNTR.VHD//

libraryIEEE;

useIEEE.std_logic_1164.all;

entityCONTRis

port(RST,CLK,T0,L7,L0,R7,R0:

inSTD_LOGIC;

PR,PL,QR,QL:

outSTD_LOGIC;

P,W:

outSTD_LOGIC_VECTOR(7downto0);

A,B:

outSTD_LOGIC_VECTOR(1downto0));

endentityCONTR;

architectureCONTR_ARCHofCONTRis

typeSTATE_TYPEis(S0,S1,S2,S3,S4,S5,S6,S7);

signalSTATE:

STATE_TYPE;

begin

CIRCUIT_STATE:

process(RST,CLK)is

begin

if(RST=’0’)thenSTATE<=S0;

elsif(CLK’eventandCLK=’1’)then

caseSTATEis

whenS0=>STATE<=S1;

whenS1=>if(T0=’0’)thenSTATE<=S0;

elseSTATE<=S2;

endif;

whenS2=>STATE<=S3;

whenS3=>if(T0=’0’)thenSTATE<=S2;

elseSTATE<=S4;

endif;

whenS4=>if(R0=’0’)thenSTATE<=S4;

elseSTATE<=S5;

endif;

whenS5=>if(T0=’0’)then

if(L7=’1’)thenSTATE<=S5;

elseSTATE<=S4;

endif;

elsestate<=S6;

endif;

whenS6=>if(L0=’0’)thenSTATE<=S6;

elseSTATE<=S7;

endif;

whenS7=>if(T0=’1’)thenSTATE<=S0;

elsif(L7=’1’)thenSTATE<=S7;

endif;

endcase;

endif;

endprocessCIRCUIT_STATE;

output:

process(STATE,T0)is

begin

caseSTATEis

whenS0=>PR<=’1’;PL<=R7;P<=”11111111”;B<=”11”;

QR<=L0;QL<=’0’;W<=”11111111”;A<=”11”;

whenS1=>PR<=’1’;PL<=R7;P<=”00000000”;B<=”11”;

QR<=L0;QL<=’0’;W<=”00000000”;A<=”11”;

whenS2=>PR<=’1’;PL<=R7;P<=”01010101”;B<=”11”;

QR<=L0;QL<=’0’;W<=”01010101”;A<=”11”;

whenS3=>if(T0=’0’)then

PR<=’1’;PL<=R7;P<=”01010101”;B<=”10”;

QR<=L0;QL<=’0’;W<=”01010101”;A<=”10”;

else

PR<=’1’;PL<=R7;P<=”00000000”;B<=”11”;

QR<=L0;QL<=’0’;W<=”00000000”;A<=”11”;

endif;

whenS4=>PR<=’1’;PL<=R7;P<=”11111111”;B<=”01”;

QR<=L0;QL<=’0’;W<=”11111111”;A<=”01”;

whenS5=>if(T0=’0’)then

PR<=’1’;PL<=R7;P<=”11111111”;B<=”10”;

QR<=L0;QL<=’0’;W<=”11111111”;A<=”10”;

else

PR<=’1’;PL<=’0’;P<=”00000000”;B<=”11”;

QR<=’0’;QL<=’1’;W<=”00000000”;A<=”11”;

endif;

whenS6=>PR<=’1’;PL<=’0’;P<=”11111111”;B<=”01”;

QR<=’0’;QL<=’1’;W<=”11111111”;A<=”10”;

whenS7=>PR<=’1’;PL<=’0’;P<=”11111111”;B<=”10”;

QR<=’0’;QL<=’0’;W<=”11111111”;A<=”01”;

endcase;

endprocessOUTPUT;

endarchitectureCONTR_ARCH;

彩灯系统综合图如图2所示:

图2:

彩灯系统综合图

如上面所示电路图与EL实验箱连接即可出结果,但因我们还没过多地接触VHDL语言,所以不做为本次课程设计的主要方案。

方案二:

74系列芯片组合成彩灯控制电路

主要思路同VHDL语言设计一样,不同的是,本方案中用普通的74系列芯片分别组成定时器、移位寄存器、控制子系统CONTR及彩灯控制器。

A.由于彩灯亮、灭一次的时间为1秒,所以选择系统的时钟CLK的频率为1HZ使亮灭节拍与系统时钟周期相同。

此时,32秒花型转换周期可以用一个模32的计数器对CLK脉冲计数来方便的实现定时,定时器模块取名为T32S。

为了方便操作,设置一个加电后的手工复位信号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,由第三种花型向第四种花型转换;当第128个时钟脉冲输入时,此时又有T0=1,由第四种花型向第一种花型转换,如此的循环下去。

B.实现数据子系统操作控制功能的部分即为发控制子系统,控制器模块取名为CONTR,如下图5所示:

图5:

16彩灯的控制系统CONTR

因为控制子系统需要异步位功能,所以选择74161作为控制器的状态存储芯片。

其中一些激励和输出表达式为:

D=0C=QCB=QBA=QCQAL7

PR=(QC

QB)R7QR=

L0QL=

P7=

=P5=P3=P1=Q7=Q5=Q3=Q1

P6=

=P4=P0=P2=Q6=Q4=Q2=Q0

为了保证开始工作时控制器处于S0(000)状态,加电后首先通过复位信号RST将控制器异步清零

 

C.把定时器T32S、控制系统CONTR和移位寄存器组成总的电路图,如下图6所示:

 

图6:

16彩灯的总的电路图

 

DR,DL分别为移位寄存器模块的右移和左移串行数据输入端,M1、M0为移位寄存器模块的方式控制端。

当M1M0=00时,移位寄存器处于保持状态;

当M1M0=01时,移位寄存器处于右移状态;

当M1M0=10时,移位寄存器处于左移状态;

当M1M0=01时,移位寄存器处于置数状态。

3、上机设计与仿真结果

A.用MAXPLUSII软件在电脑上画出电路原理图,保存,设置画出的原理图为当前原理图;

B.选择合适的芯片,然后对原理图进行编译;

C.编译选择,添加仿真激励源信号波形,选择仿真时间,保存当前的文件,并进行仿真,观察电路仿真结果,得到以下图7的仿真结果:

图7:

16彩灯的仿真图

4.上机实验—-性能测试

A.打开之前画好的原理图,设置为当前原理图;

B.选择与EL试验箱相同的芯片后,对我们所画的原理图进行编译;

C.编译正确无误后,下载到电脑上;

D.下载完毕后,对管脚进行分配,按照管脚的分配接好电路,输入端CLK接1HZ的脉冲,复位端RST与按键开关相连,用LED灯来表示16路彩灯,将Y0…Y1、Z0…Z7对应的管脚分别与16只LED等相连。

得到如下表1:

16彩灯的真值表:

个数

Z7

Z6

Z5

Z4

Z3

Z2

Z1

Z0

Y7

Y6

Y5

Y4

Y3

Y2

Y1

Y0

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

2

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

3

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

4

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

33

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

34

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

35

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

36

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

65

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

66

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

67

1

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

68

1

1

1

0

0

0

0

0

0

0

0

0

0

0

0

0

69

1

1

1

1

0

0

0

0

0

0

0

0

0

0

0

0

70

1

1

1

1

1

0

0

0

0

0

0

0

0

0

0

0

71

1

1

1

1

1

1

0

0

0

0

0

0

0

0

0

0

72

1

1

1

1

1

1

1

0

0

0

0

0

0

0

0

0

73

1

1

1

1

1

1

1

1

0

0

0

0

0

0

0

0

74

1

1

1

1

1

1

1

1

1

0

0

0

0

0

0

0

75

1

1

1

1

1

1

1

1

1

1

0

0

0

0

0

0

76

1

1

1

1

1

1

1

1

1

1

1

0

0

0

0

0

77

1

1

1

1

1

1

1

1

1

1

1

1

0

0

0

0

78

1

1

1

1

1

1

1

1

1

1

1

1

1

0

0

0

79

1

1

1

1

1

1

1

1

1

1

1

1

1

1

0

0

80

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

0

81

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

82

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

0

83

1

1

1

1

1

1

1

1

1

1

1

1

1

1

0

0

84

1

1

1

1

1

1

1

1

1

1

1

1

1

0

0

0

85

1

1

1

1

1

1

1

1

1

1

1

1

0

0

0

0

86

1

1

1

1

1

1

1

1

1

1

1

0

0

0

0

0

87

1

1

1

1

1

1

1

1

1

1

0

0

0

0

0

0

88

1

1

1

1

1

1

1

1

1

0

0

0

0

0

0

0

89

1

1

1

1

1

1

1

1

0

0

0

0

0

0

0

0

90

1

1

1

1

1

1

1

0

0

0

0

0

0

0

0

0

91

1

1

1

1

1

1

0

0

0

0

0

0

0

0

0

0

92

1

1

1

0

1

0

0

0

0

0

0

0

0

0

0

0

93

1

1

1

1

0

0

0

0

0

0

0

0

0

0

0

0

94

1

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

95

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

96

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

97

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

98

1

1

0

0

0

0

0

0

0

0

0

0

0

0

1

1

99

1

1

1

0

0

0

0

0

0

0

0

0

0

1

1

1

100

1

1

1

1

0

0

0

0

0

0

0

0

1

1

1

1

101

1

1

1

1

1

0

0

0

0

0

0

1

1

1

1

1

102

1

1

1

1

1

1

0

0

0

0

1

1

1

1

1

1

103

1

1

1

1

1

1

1

0

0

1

1

1

1

1

1

1

104

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

105

1

1

1

1

1

1

1

0

0

1

1

1

1

1

1

1

106

1

1

1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1