
数字电路交通灯
简介
主支干道交替允许通行,主干道每次放行30s、支干道20s
简介:主支干道交替允许通行,主干道每次放行30s、支干道20s开源协议
:MIT
描述
摘要
本课题介绍了一种交通灯控制数字电路的设计方法,本设计主要实现主支干道交替允许通行,并显示当前倒计时和亮灯状态。
本设计主要由时钟脉冲发生器、计时器、主控制器、译码驱动电路、LED信号灯等部分组成。电路设计主要采用了2个74LS190实现两位数倒计时功能,2个JK触发器实现状态存储和更新功能,2个74LS47实现显示倒计时功能。本设计允许主支干道交替允许通行,当主干道允许通行亮绿灯时,支干道亮红灯,而支干道允许亮绿灯时,主干道亮红灯。并且在每次由亮绿灯变成亮红灯的转换过程中间亮5s的黄灯作为过渡。实现红、绿灯的自动指挥对城市交通管理现代化有着重要的意义。
关键词: 交通灯,倒计时,城市建设
设计任务和要求
1.1设计题目
交通灯控制电路设计
1.2设计任务
设计一个由一条主干道和一条支干道的汇合点形成十字交叉路口,为确保车辆安全、迅速地通行,在交叉路口的每个入口处设置红、绿、黄三色信号灯。红灯亮禁止通行;绿灯亮允许通行;黄灯亮则给行驶中的车辆有时间停靠在禁行线内。
1.3设计要求
- 用红、绿、黄三色发光二极管作信号灯。
- 当主干道允许通行亮绿灯时,支干道亮红灯,而支干道允许亮绿灯时,主干道亮红灯。
- 主支干道交替允许通行,主干道每次放行30s、支干道20s。设计30s和20s计时显示电路。
- 在每次由亮绿灯变成亮红灯的转换过程中间,要亮5s的黄灯作为过渡,设置5s计时显示电路。
二、电路原理及设计
2.1设计方案
本设计主要由时钟脉冲发生器、计时器、主控制器、译码驱动电路、LED信号灯等部分组成。时钟脉冲发生器产生频率1Hz的时钟信号输出到计数器进行减计数。主控制器通过内部状态机记录当前主干道和支干道的亮灯状态。当计数器下溢(计数至0)时,计数器根据主控制器记录的状态进行置数并更新主控制器到下一个状态。译码驱动电路将计数器记录的剩余时间信号BCD码译为7段数码管显示信号并驱动对应数码管显示。LED信号灯将主控制器的状态以红黄绿LED形式进行显示。
2.2系统框图
实现上述任务的控制器整体结构如图4
计时器
时钟信号
主 控 制 器
译码驱动电路
主干道信号灯
支干道信号灯
L、S、P
图4交通灯控制器结构图
1)主控制器
主控电路是本课题的核心,主要产生30s、20s、5s三个定时信号,它的输出一方面经译码后分别控制主干道和支干道的三个信号灯,另一方面控制定时电路启动。主控电路属于时序逻辑电路,可采用状态机的方法进行设计。
主干道和支干道各自的三种灯(红、黄、绿),正常工作时,只有4种可能,即4种状态:
主绿灯和支红等亮,主干道通行,启动30s定时器,状态为S0;
主黄灯和支红灯亮,主干道停车,启动5s定时器, 状态为S1;
主红灯和支绿灯亮,支干道通行,启动20s定时器,状态为S2;
主红灯和支黄灯亮,支干道停车,启动5s定时器,状态为S3。
四种状态的转换关系如图5:
图5交通灯控制状态转换图
本设计中使用一个双JK触发器表达上述四种状态的分配和转换。
2)计时器电路
这些计时器除需要秒脉冲作时钟信号外,还应受主控器的状态的控制。例如30s计时器应在主控器进入S0状态(主干道通行)时开始计时,同样20s计时器必须在主控器进入S2状态时开始计数,而5s计时器则要在进入S1或S3状态时开始计数,待到规定时间分别使计数器复零。设计中30s计数器可以采用两个十进制计数器级连成三十进制计数器,为使复零信号有足够的宽度,可采用基本RS触发器组成反馈复零电路。按同样的方法可以设计出20s和5s计时电路,与30s计时电路相比,后两者只是控制信号和反馈信号的引出端不同而已。
3)译码驱动电路
(1)信号灯译码电路
主控器的四种状态分别要控制主、支干道红黄绿灯的亮与灭。令灯亮为“1”,灯灭为“0”,
主干道红黄绿等分别为R、Y、G,支干道红黄绿等分别为r、y、g,则信号灯译码电路真值表为:
表1信号灯译码电路真值表
输入 |
输出 |
||||||
Q2 |
Q1 |
R |
Y |
G |
r |
y |
g |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
由真值表可进一步得到各灯的逻辑表达式,进而确定其电路形式。
(2)计时显示译码电路
计时显示实际是一个定时控制电路,当30s、20s、5s任一计数器计数时,在主支干道各自可通过数码管显示出当前的计数值。计数器输出的七段数码显示用BCD码七段译码器驱动即可,具体设计可参考课题一电子数字钟的译码、显示部分。
4)时钟信号发生器电路
产生稳定的“秒”脉冲信号,确保整个电路装置同步工作和实现定时控制。本设计使用NE555作为非稳态多谐振荡器来产生该信号。
2.3方案比较及模块实现
(1)脉冲产生电路方案比较
方案一:采用石英晶体振荡器可产生高精度的秒脉冲,由于时间标准信号的频率很高,要得到秒脉冲,还需要两次分频。例如,振荡器输出4MHZ信号,可通过D触发器(如74LS74)进行4分频变成1MHZ,也可以将10分频计数器74LS160(或74LS90)行4分频变成1MHZ,然后送到10分频计数器74LS160(或74LS90),经过6次10分频而获得1HZ的方波信号。
方案二:采用NE555产生时钟秒脉冲信号。如下图所示:
该电路的输出脉冲的周期T=(R1+2R2)C2ln2=0.977s,频率f=1/T=1.023Hz,占空比q=(R1+R2)/(R1+2R2) x 100% = 66.7%
对比以上两个方案,决定采用方案二作为脉冲产生电路,优点是电路较为简单方便调试并且NE555的频率稳定度已经足够满足本题目要求不需要使用晶振。
(2)计数器方案比较
方案一:采用两个BCD码74LS160进行加计数,所记录数值为当前状态已过时间,译码显示时不能直接显示而是需要显示(状态总时间 – 当前计数)
方案二:采用两个四位二进制双向计数器74LS193进行减计数,需要使用二进制译码器进行显示或使用反馈置数法将其转换为BCD码计数。
方案三:采用两个BCD码双向计数器74LS190进行减计数。如下图所示:
两个74LS190连接到同一个时钟信号上,个位计数器片选信号始终开启,十位计数器与个位计数器RCO输出相连,当个位下溢时激活十位计数器片选完成借位操作。当十位计数器下溢(计数为00)时,对两个计数器进行异步置数,异步置数输入由主控制器状态组合逻辑得到。输入真值表和逻辑表达式如下:
对比以上三个方案,决定采用方案三作为计数器电路,原因是所用器件最少且电路最简单。
(3)主控制电路方案比较
方案一:使用4位二进制计数器74LS161记录当前状态。通过反馈置数法将其改为4进制加法计数器,Q2Q1在00->01->10->11->00之间循环。
方案二:使用双JK 触发器74LS109记录S0和S1。JK触发器参数推倒和连接原理图如下:
其中,JK触发器所用时钟由以十位计数器下溢输出端接入预设端的D触发器74LS74输出。原因是计数器使用异步置数,在溢出一瞬间会进行置数然后脱离溢出状态,因此需要D触发器对齐进行锁存以产生足够长的信号脉冲。
对比以上两个方案,决定采用方案二作为主控制器电路,原因是JK触发器可以同时输出当前状态及其反相,可以节省两个非门电路。
(4)数码管译码及LED灯电路方案
使用74LS47驱动Common阳(过审)7段数码管显示当前计数。使用逻辑IC直驱红黄绿二极管显示当前状态。
2.4整体电路
2.4.1电路原理图:
2.4.2时钟树波形图
如下图所示,由上至下分别为:NE555产生的1Hz时钟、十位计数器下溢产生的计数器置数时钟、使用D触发器锁存的JK触发器状态机时钟。X轴标度为1s/DIV。
2.4.3完整元器件清单
Designator |
Quan tity |
Comment |
Value |
Footprint |
C1 |
1 |
0603贴片电容 |
10nF |
C0603 |
C2 |
1 |
0603贴片电容 |
10uF |
C0603 |
H1,H2 |
2 |
电源排针接口 |
|
HDR-TH_2P-P2.54-V-M-1 |
LED1,LED2 |
2 |
七段Common阳(过审)数码管 |
|
LED-SEG-TH_10P-L20.0-W27.7-P2.54-S22.86-BL |
LED3,LED6,LED9,LED12 |
4 |
红色LED |
|
LED0603-RD_BLUE |
LED4,LED7,LED10,LED13 |
4 |
黄色LED |
|
LED0603-RD_BLUE |
LED5,LED8,LED11,LED14 |
4 |
绿色LED |
|
LED0603-RD |
R1,R2 |
2 |
0603贴片电阻 |
47KΩ |
R0603 |
R3,R4,R5,R6 |
4 |
0603贴片电阻 |
1kΩ |
R0603 |
R7,R8,R9,R10,R11,R12 |
6 |
0603贴片电阻 |
100Ω |
R0603 |
U1 |
1 |
NE555DR |
|
SOIC-8_L4.9-W3.9-P1.27-LS6.0-BL |
U2,U3 |
2 |
74LS190计数器 |
|
DIP-16_L20.0-W6.4-P2.54-LS7.6-BL |
U4,U5 |
2 |
SN74LS47DR译码器 |
|
SOIC-16_L9.9-W3.9-P1.27-LS6.0-BL |
U6 |
1 |
SN74LS109ADR双JK触发器 |
|
SOIC-16_L9.9-W3.9-P1.27-LS6.0-BL |
U7 |
1 |
SN74LS74AD 双D触发器 |
|
SOIC-14_L8.7-W3.9-P1.27-LS6.0-BL |
U8 |
1 |
SN74LS08D 4与门 |
|
SOIC-14_L8.6-W3.9-P1.27-LS6.0-BL |
USB1 |
1 |
TypeC供电 |
|
USB-C-SMD_TYPEC-304-BCP16 |
三、电路和程序调试过程和结果:
3.1仿真过程
- 按照实验的设计图在multisim13的工作台连接仿真电路。
- 检查设计思路以及电路,按照设计框图原理,查看仿真电路与原理图是否吻合。不吻合则需要进行修改,反之进行下一步。
- 调整仿真参数,运行仿真。
- 根据仿真情况与课程设计任务对比,对于不能实现的任务修改并调试程序,重新装载并重新运行调试仿真,直到实现能完全实现所要求的功能为止。
- 进一步改进和假话程序在进行调试仿真。
3.2实际电路调试
1、焊接电源脉冲发生器,使用示波器观察是否输出1Hz信号。
2、焊接计数模块、主控制模块、数码管,检查是否按照设计时序轮播数字。
3、焊接LED,检查其亮灯顺序是否与设计一致。
4、总调试。
四、总结
本设计实现了一个带倒计时和红绿灯显示的十字路口交通灯,可以实现主干路和支干路的通行时间分配。实现了红、黄、绿灯的自动指挥,对城市交通管理现代化有着重要的意义。
4.1.成果
(1)仿真结果符合题目要求,脉冲发生电路、计时电路、状态电路、显示电路能工作正常。
(2)实物电路板亮灯时序与设计有一定差别,经排查是芯片实际时序表现与仿真不一致导致。
4.2.存在的缺陷
1. 实物电路板亮灯时序与仿真有一定差别,经排查是芯片实际时序表现与仿真不一致导致。
2. 由于绘制时没有仔细检查导致部分网络被错误连接,断开原连接并使用飞线连接后功能正常。由于时间问题并没有重新进行PCB打板,以后在设计时应多注意细心。
附录
(1)仿真电路图如下:
设计图

BOM


评论