杜思玉
(重庆交通大学 机电与车辆工程学院,重庆400074)
主干道经常通行;支干道有车才通行;主、支干道均有车时,两者交替通行,并要求主干道每次至少放行30 s,支干道每次至多放行20 s;每次绿灯变红灯时,要求黄灯先亮5 s(此时原红灯不变)。
交通灯控制电路的设计方案由控制器、时钟信号、计时器、传感器、译码驱动电路、主干道信号灯、支干道信号灯等部分组成,它们之间的关系如图1 所示。
图1 交通灯原理框图
3.1.1 74LS160 的功能
74LS160 十进制同步计数器是由4 个D 型触发器和若干个电路构成,内部有超前进位,具有计数、置数、直接(异步)清零等功能[1]。可以利用74LS160 十进制同步计数器通过异步清零端反馈清零来实现不同进制的计数器。根据设计要求,采用一块74LS160 十进制同步计数器实现五进制的计数器,而30 s、20 s 的计时器分别采用2 块74LS160 计数器来完成。
3.1.2 计数器
利用74LS160 设计成五进制计数器原理电路如图2(a)所示,由74LS160 和非门组成,在CLK 输入1 Hz 的脉冲信号,计数器从Q3Q2Q1Q0=0000 开始计数,当第4 个CP 到达后,记到0010,此时不会立即清零,而是等到下一脉冲上沿到来后,计数器会被置换成0000,完成5 进制的计时。
二十进制计数器原理电路如图2(b)所示,74LS160是一个十进制的计数器,选用2 个74LS160 芯片级联成一个00~99 的计数器[2]。其中,作为个位数的74LS160 芯片,输入频率为1 Hz 的脉冲信号,再RCO 端与十位数的74LS160芯片的ENP 相连,作为十位的74LS160 计数器也同样连接频率为1 Hz 的脉冲信号,并用一个非门与清零端LOAD 相连;当个位数74LS160 的第十个CP 到达后,向十位数74LS160 芯片进一位,当十位数记到0010 时,会计数器会被置换成0000,完成一次二十进制的计数。
三十进制计数器原理电路如图2(c)所示,三十进制计数器的原理与二十进制计数器相似。
本设计中,用逻辑开关输出传感器信号,选用2 个单刀双掷开关,分别表示主干道和支干道,2 个开关的两端分别接电源和接地,当开关连接电源时表示此时干道上有车,若接到地,则表示无车。
根据设计要求,可以得知,交通灯有4 种不同的状态,选用2 个J-K 触发器Q2Q1进行控制。将这4 种状态分别记为:S0表示主干道绿灯亮、支干道红灯亮(用Q2Q1=00 表示);S1表示主干道黄灯亮、支干道红灯亮(用Q2Q1=01 表示);S2表示主干道红灯亮、支干道绿灯亮(用Q2Q1=11 表示);S3表示主干道红灯亮、支干道黄灯亮(用Q2Q1=10 表示)。
根据设计要求,可以确定在状态变换中的输入量:A 表示主干道有车通过,B 表示支干道有车通过,L 表示三十进制计数器记完30 s,S 表示二十进制计数器记完20 s,P 表示五进制计数器记完5 s。
图2 计数器原理图
随后,对状态转换的方向以及状态转换的条件进行分析,并用逻辑函数表示可得到如下式子:
根据上述的状态转换的方向以及状态转换的条件,可得交通灯的状态方程:
从而得到驱动方程:
主、支干道上的交通灯的红、黄、绿信号灯的状态主要取决于J-K 触发器的输出状态。它们之间的关系如表1 所示。对于信号灯的状态,“1”表示灯亮,“0”表示灯灭。
表1 信号灯信号真值表
根据真值表,可求出各自信号灯的逻辑函数表达式为:
绘制出交通灯设计原理图,用Proteus 进行仿真,仿真结果如图3 所示,可改变主、支干道的不同状态,可得到相应的仿真结果,达到设计要求。