您的当前位置:首页正文

交通灯设计报告

2021-11-06 来源:好走旅游网
一. 设计要求

(1)在十字路口的两个方向上各设一组红灯、绿灯、黄灯,显示顺序为:其中一个方向是绿灯、黄灯、红灯,另一个方向是红灯、黄灯、绿灯。

(2)设置一组数码管,以倒计时的方式显示允许通行或禁止通行的时间,其中绿灯、黄灯、红灯的持续时间分别为20s、5s、25s。

(3)当各条路中任意一条上出现特殊情况,例如有消防车、救护车或其他需要优先放行的车辆时,各方向上均是红灯亮,倒计时停止,且显示数字在闪烁。当特殊运行状态结束后,控制器恢复原来状态,继续正常运行。

二. 设计原理及框图

交通灯控制系统的原理框图如图1所示,它主要由秒脉冲发生器,时间显示

器,倒计时计数器,计数控制器,交通灯控制器,交通显示灯,紧急开关构成。秒脉冲发生器是该系统中定时器的标准时钟信号源,同时控制着正常工作时黄灯与特殊情况下数码管数字的闪烁,倒计时计数器控制器控制倒计时计数器,倒计时计数器输出的数字经过时间显示器显示在数码管上。交通控制器控制交通显示灯的亮灭,交通控制灯的输入信号由紧急开关和倒计时计数器共同提供。

时间显示器 秒脉冲发生器 倒计时计数器 计数控制器 交通灯控制器 紧急开关 交通显示灯

图一:交通灯控制系统的原理框图

精选文库

两方向车道的交通灯的运行状态共有4种,如图2所示,它们转换到数字状态如下图。

TF=0 TS=0 TF=1 TF=0 TS=1 TF=1 状态0 状态1 状态2 状态3

TF: 表示甲车道或乙车道红灯亮的时间间隔为25秒,当TF=0时,甲车道为红灯,25秒倒计时;当TF=1时,乙车道为红灯,25秒倒计时。 TS:表示倒计时到5秒和20秒。TY=0倒计时20秒,否则,TY=1倒计时5秒

一般十字路口的交通灯控制系统的工作过程如下:

(1)甲车道绿灯亮,乙车道红灯亮。表示甲车道上的车辆允许通行,乙车道禁止

— 2

精选文库

通行。此时TF=0,TS=0;绿灯亮足规定的时间隔20s,倒计时计数器发出状态转换信号使TS=1,使计数控制器使TS=1转到下一工作状态。

(2)甲车道黄灯亮,乙车道红灯亮。表示甲车道上未过停车线的车辆停止通行,已过停车线的车辆继续通行,乙车道禁止通行。黄灯亮足规定时间间隔5s时,倒计时计数器发出状态转换信号使TF=1,TS=0,使控制器控制译码器转到下一工作状态。

(3)甲车道红灯亮,乙车道绿灯亮。表示甲车道禁止通行,乙车道上的车辆允许通行,绿灯亮足规定的时间间隔20s时,倒计时计数器发出状态转换信号使TS=1,使控制器控制译码器转到下一工作状态。

(4)甲车道红灯亮,乙车道黄灯亮。表示甲车道禁止通行,乙车道上位过县停车线的车辆停止通行,已过停车线的车辆停止通行,已过停车线的车辆继续通行。黄灯亮足规定的时间间隔5s时,倒计时计数器发出状态转换信号使

TF=0,TS=0,使计数控制器转到下一工作状态,即系统又转换到第(1)种工作状态。

因为在上述转换过程中灯的转换只在计数器为零的时候发生且不存在竞争冒险的问题,所以可设计为当计数器为00时即发生信号灯的转换,当信号灯1为00时,交通灯控制器向交通显示灯发出转换信号,交通显示灯由红灯变为绿灯;当信号灯1再次为00时,交通灯控制器向交通显示灯发出转换信号,交通显示灯由绿灯变为黄灯;当信号灯1再次为00时,交通灯控制器向交通显示灯发出转换信号,交通显示灯由黄灯变为红灯。信号灯2与信号灯1转换过程相同,只不过信号灯2是由绿灯到黄灯再到红灯的。

三. 器件说明

1.元件清单:

(1) 集成元件 74LS161四片 N555一片

74LS192四片 7447N两片

74LS21四片(与门) 74LS04(非门)三片 74LS32五片(或门) 74ls27四片(或非门)

(2)数码管 共阳极七段数码管四个

红色LED两个,黄色LED两个,绿色LED两个

(3)电阻 51KΩ一只, 39KΩ 一只 (4)电容 10μF 一只,10nF 一只 (5)开关 三刀双掷开关一只

2. 主要器件的引脚排列图和功能表 (1)N555引脚图:

— 3

精选文库

(2)74ls161 引脚图:

功能表:

(3)74ls192 引脚图:

— 4

精选文库

波形图:

(4)7447n 引脚图:

— 5

精选文库

四. 设计过程

4.1.秒脉冲信号发生器的设计: 方案一:

本实验采用555定时器组成秒脉冲信号发生器。因为该电路的输出脉冲的周期T≈0.7(R1+2R2)·C,若T=1s,令C=10μf,R1=39KΩ,那么R2≈51KΩ。取一固定电阻47KΩ与一个5KΩ的电位器想串联代替电阻R2 。在调试电路时,调节电位器RP ,使输出脉冲周期为1s。如图3.1所示

— 6

精选文库

图3.1秒脉冲信号发生器

方案二:

用石英晶体振荡器和分频器构成秒脉冲信号发生器,如图3.2。

先用石英晶体振荡器和若干电阻电容组成频率为32768Hz的信号发生器,再用十四位二进制计数器CD4060 14进行14分频使其成为2Hz的信号,最后用D触发器进行2分频,使其成为频率为1Hz的秒脉冲信号。

图3.2 石英晶体振荡器和分频器构成秒脉冲信号发生器

7

精选文库

方案选择:

本设计中由于用秒脉冲信号作为计数器的计时脉冲,其精度会影响计数器的精度,进而影响控制系统的精度,因此要求秒脉冲信号具有比较高的精度,为提高精度可先做一个频率比较高的矩形波振荡器,然后将其输出信号分频,就可以得到频率较低而精度比较高的脉冲信号发生器。用石英晶体构成秒脉冲信号发生器不需要外加输入信号,而且其脉冲频率很稳定,起振快、时基精度高,它的工作频率仅决定于石英晶体的振荡频率,而与电路中的R、C的数值无关。

综上考虑,在实际应用中秒脉冲信号发生器的设计选用石英晶体振荡器和分频器构成秒脉冲信号发生器。但由于本次设计是基于multisim11软件的,,所以在仿真过程中可以使用时钟脉冲电源(1HZ,5V)代替。在仿真精度不高的前提下,也可以使用RC多谐振荡器构成的电路来提供秒脉冲。

4.2 倒计时计数器和时间显示器的设计

倒计时计数器直接控制时间显示器所显示的内容,因为交通灯都是倒计时的数字,所以采用可加可减的74ls192,采用俩片74ls192分别对25s,20s,5s进行倒计时,采用异步计数置数法,当两片74ls192的BO为0时置数,即两片74ls192的QA,QB,QC,QD都为零时置数,不需要再加入脉冲即可实现置数。因为74ls192的BO引脚不工作时是高电平,所以加非门后连入第二片74ls192,实现十位的倒计时。两片74ls192的QA,QB,QC,QD分别与两片7447N的输入端A,B,C,D相连接;7447N的输出分别与七段共阳数码管的A,B,C,D,E,F,G相连接,两个七段共阳极数码管的CA引脚连接在一起接入紧急开关,以实现数字的闪烁功能。

倒计时计数器和时间显示器如下图:

— 8

精选文库

4.3计数控制器

计数控制器是电路的核心,它主要根据倒计时计数器中QA,QB,QC,QD的信号来输出信号到倒计时计数器,从而实现在时间显示器到00后能够正确继续显示要倒计时的大小,从而与交通灯的亮灭相对应。观察交通灯计数要求,红灯25S,对应数字信号为0010 0101;绿灯20S,对应数字信号为0010 0000;黄灯5S,对应数字信号为0000 0101。发现这三个状态数字信号第2位和第0位始终相同,且第7,6,5,3,1位始终为0;所以只要控制第4位和同时改变第0位和第2位即可完成对倒计时状态的转换。

方案一:两个交通灯通过秒脉冲联系在一起,但它们之间置数独立,即第一组倒计时计数器倒计时25S→20S→5S→25S;第二组倒计时计数器倒计时20S→5S→25S→20S。

第一组倒计时计数器的控制电路如下图:

— 9

精选文库

只要在倒计时计数器在倒计时到00之前将控制置数的A,B,C,D引脚电平改变为需要的电平即可,所以可以用D触发器或者74ls161接收倒计时计数器的控制信号使控制电路在倒计时计数器为07时(倒计时5S时在05就转变了)转变74ls192的A,B,C,D电平。

上图74ls161的状态图是00→01→10→00;OR4的输入为第一个74ls192的QC的非,第一个74ls192的QD,第二个74ls192的QA和QB。当电路处于初始状态时,74ls161的QA,QB输出00,通过两个非门分别接到第一组倒计时计数器的第0位第2位和第4位,所以初始状态第一组倒计时计数器的第0位第2位和第4位都是1,即倒计时计数器从25S倒计时;当倒计时计数器倒计时到07S时,或门OR4由1变为0,74LS161接收到一个脉冲,输出加1使QB,QA变为01,所以第一组倒计时计数器的第0位第2位变为0而第4位还是1,倒计时计数器计数到00后置数工作,变成20S倒计时,从而完成状态转换。当或门OR又由1变为0时474ls161又接收到一个脉冲,输出由01变为10,从而变成05S倒计时;当或门OR又由1变为0时474ls161又接收到一个脉冲,输出由10变为00,从而又变成25S倒计时,完成一个循环。

— 10

精选文库

第二组倒计时计数器的控制电路如下图:

原理与第一组倒计时计数器类似,同样是在倒计时计数器为07时(倒计时5S时在05就转变了)通过OR4向74ls161输入一个脉冲,74ls161状态图也为00→01→10→00,不过输入到倒计时计数器的第4位为QA的非,第0位第2位为QA和QB相异或;状态图为:10→01→11→10。

方案2:计时控制器是通过控制TF和TS来控制倒计时计数器置数的,置数结果如下图:

— 11

精选文库

_ A=TF+ TS _ _ C=TF+TS _ D=TF+TS B=TF+TS 注:A表示第一个74ls192的A和C引脚;B表示第二个74ls192的B引脚;C表示第三个74ls192的A和C引脚;D表示第四个74ls192的B引脚

置数过程如下:

初始状态:TF=0;TS=0 A=1 B=1 C=0 D=1 A=1 B=1 C=1 D=0 A=0 B=1 C=1 D=1 A=1 B=0 C=1 D=1 1,2数码管倒计时25 3,4数码管倒计时20 状态1:TF=1;TS=0 1,2数码管倒计时25 3,4数码管倒计时05 状态2:TF=0;TS=1 1,2数码管倒计时20 3,4数码管倒计时25 状态3;TF=1;TS=1 1,2数码管倒计时05 3,4数码管倒计时25 如下图,因为TF和TS是由前面的倒计时计数器控制的,所以可以用D触发器或者74ls161接收倒计时计数器的控制信号。这里我让TF由第一个74ls161

— 12

精选文库

控制,TS由第二个74ls161控制;第一个74ls161状态转换是0→1→0;第二个74ls161状态转换是00→01→10→00; 初始状态时TF=0,TS=0,倒计时计数器分别进行25S和20S的倒计时,当第二组倒计时计数器计到07时,两个74ls192的QA,QB,QC,QD使逻辑电路电平发生变化(从低电平到了高电平),把这个脉冲接到第一个74ls161的CLK引脚,使74ls161加一,从而74ls161的QA由0变为1,使TF=1,完成了由初始状态到状态一的转换。在状态一时,第一组倒计时计数器依然在倒计时25S,第二组倒计时计数器倒计时5S,当第二组倒计时计数器计到05时,又会使第一个74ls161的CLK引脚接收到一个脉冲,使TF由1变为了0;而在第一组倒计时计数器倒计时到03时,两个74ls192的QA,QB,QC,QD使逻辑电路电平发生变化(从低电平到了高电平),使第二个74ls161由00变到了10(后面解释为什么不是01),从而使TS由低电平转换到高电平,完成从状态一到状态二的转换。状态二到状态三与上面初始状态到状态一类似,TS=1;状态三到初始状态与前面状态一到状态二类似,TF由1变为0;TS由1变为0(注:TS通过逻辑门电路控制TF接收第一组倒计时计数器还是第二组倒计时计数器的输出信号,使第一个74ls161只在20S倒计时到07时或5S倒计时到05时才会接收到脉冲)。

计数控制器电路结构

— 13

精选文库

上述两种方案从模拟中均能实现规定的倒计时功能,但我考虑到方案一只在秒脉冲上将两组倒计时计数器联系在一起,从稳定性方面考虑方案二好一些;所以采用方案二。

4.4交通灯控制器与交通显示灯与紧急开关

前面交通灯的数字显示已经设计好,只需将交通灯的亮灭与数字显示相对应即可,考虑到数字信号到00时交通灯转换一次,所以接收倒计时计数器的数字输出信号作为交通控制器的输入信号即可。

(1)下图中OR8与第一组倒计时计数器的QA,QB,QC,QD相连接作为输入信号,OR8输出连接在74ls162的CLK。当倒计时计数器到00时,OR8输出信号由1变为0,CLK收到下降沿信号,输出数字信号加一,74LS162的QA,QB,QC,QD与外面逻辑电路相连接使交通灯输出改变。下图交通灯的亮的顺序为红→绿→黄。 逻辑关系为:

红=QaQbQc’+Qa’Qb’Qc+Ka’ 黄=Qa’QbQc’Ka

绿=Qb’Qc’Ka (‘表示非)

(2)下图中控制另一组交通灯的亮灭,原理与上图相似,只不过输入信号是第二组倒计时计数器的QA,QB,QC,QD。 红=QB’QC’+Ka’

— 14

精选文库

黄=Qa’Qb’QcKa

绿=QbQc’Ka (’表示非)

(3)紧急开关的设计:

紧急开关采用的是三刀双掷开关,可实现Ka控制红灯亮,Kb实现数码管数字的闪烁,Kc实现倒计时的停止。紧急开关不工作时Ka=1,交通灯正常工作;反之,Ka=0,交通灯变为红灯亮。Kb连接到数码管的共阳极,当紧急开关不工作时Kb=1数码管正常显示;当紧急开关工作时,Kb接入脉冲信号,是数码管闪烁。当紧急开关不工作时,Kc接脉冲,反之,Kc接入高电平,使秒脉冲停止。

15

精选文库

五. 仿真调试过程

在软件调试过程中,我遇到以下几个问题: (1)竞争冒险的问题:

74ls192的置数工作与74ls161不同,74ls192在load引脚输入电平为高电平时不工作,当为低电平时不需CLK引脚来脉冲就能立即置数,这就与计数控制器存在竞争冒险的问题,开始我设置为倒计时计数器为00时计数控制器工作,这使倒计时计数器不能按照正常要求倒计时。后来我改成使用或非门,当倒计时计数器计到07时也就是0000 0111,或门电平发生改变,产生上升沿脉冲,计数控制器工作,从而使倒计时计数器在计到00时能到正确置数到下一状态。

(2)在显示译码器选择方面,刚开始选用的是共阴极显示译码器,因为

7447N是取反输出的,连接正确但无法正常显示,最终采用共阳极显示译码器,解决此问题。 (3)由于用1HZ的脉冲仿真的时候过程进行的太慢,所以所以仿真时要修改

tran的速度,将时间频率调成一秒解决此问题。

(4)电路的化简,之前的电路虽然可以正常工作但有些器件是没有使用必要

的,如倒计时计数器的第七位和第六位始终为零,安装时接地即可。 (5)在接计数控制器的第二个74ls161时总是无法按照要求正确输出TS的信

号,我使用示波器观察TS的输出信号发现是这样的:

— 16

精选文库

于是我在将示波器接到计数控制器的第二个74ls161的CLK引脚,波形是这样

的:

我发现在倒计时计数器倒计时02S到01S时,显示数码管会有一瞬间显示的是

03,所以计数控制器在03到00时会接收到俩个脉冲。解决办法:既然每次会以此来两个脉冲,我们可使用74ls161的Qb接口,把控制计数器

— 17

精选文库

的第二个74ls161状态转换图改为:00→01→10→00,修改后TS输出信号变为:

这样就达到电路置数的要求。

与此电路有相同问题的还有交通灯控制器和交通显示灯,因为交通控制灯是在

倒计时计数器为00时工作的,观察发现倒计时电路在10到09时会有一瞬间存在00的状态,会使交通灯控制器以为倒计时到了00S,从而出现错误。解决办法:既然倒计时计数器在10S到09S会产生00状态,可使交通控制器的状态转化图变成:000→001→010→011→100→000,从而在25S倒计时和20S倒计时时对应两个状态即可。调试过程前后见下图:

交通灯控制器经过OR8后引入到74ls161 CLK引脚的脉冲:

— 18

精选文库

调节74ls161的输出,74ls161在输出0000→0001→0010时绿灯亮;输出

0010→0011时黄灯亮;输出0011→0100→0000时红灯亮,完成一个循环。

前面讲到逻辑关系为:

红=QaQbQc’+Qa’Qb’Qc+Ka’ 黄=Qa’QbQc’Ka

绿=Qb’Qc’Ka (‘表示非)

所以74ls161由0000→0001→0010→0011→0100→0000 红灯的变化为: 0 → 0→ 0→ 1→ 1→ 0 黄灯的变化为: 0 → 0→ 1→ 0→ 0→ 0 绿灯的变化为: 1 → 1→ 0→ 0→ 0→ 1 符合设计要求。

第二组交通灯控制器和交通显示灯与第一组相似,故不再赘述。

— 19

— 精选文库

20

因篇幅问题不能全部显示,请点此查看更多更全内容