1.设计思路
首先根据常识,想到需要将这个路口的通行状态分成4种,分别如下:
南北干道 | 东西干道 |
通行(绿灯) | 禁止通行(红灯) |
警示阶段(黄灯) | 禁止通行(红灯) |
禁止通行(红灯) | 通行(绿灯) |
禁止通行(红灯) | 警示阶段(黄灯) |
表 1:通行状态图
因为老师并没有给定每种状态的持续时间,所以自己设定时间后得到完整状态图如下:
南北干道 | 东西干道 | 持续时间 |
通行(绿灯) | 禁止通行(红灯) | 30s |
警示阶段(黄灯) | 禁止通行(红灯) | 3s |
禁止通行(红灯) | 通行(绿灯) | 30s |
禁止通行(红灯) | 警示阶段(黄灯) | 3s |
表 2:通行状态图(附时间)
所以我们需要一个控制端来实现四种状态的转换,状态转换图如下:
图 1:控制端状态转换图
由于状态的转换跟时间也有关系,根据所学的知识来说,将一个计时器的clk(时钟)端接入另一个计时器的cout(进位输出端)便能实现所述功能。
所以有了大体设计思路,用一个74LS160计数器作为中央控制端,用于表示4种状态的转换;用两个74LS192计数器作为倒计时模块,用于与数码管(自带译码器)相连,显示倒计时状态。
2.设计过程
1.中央控制段的设计
由于状态一共只有4种,所以先用清零法使74LS160只在0001-0010-0011-0000种循环,由于前面两位没有变化,所以实际上,此时的四种状态分别为:01,10,11,00。
而此时的clk端,应该是来自于上述所说的两片倒计时同时到0的进位端相或,所以中央控制模块电路设计如下:
图 2:中央控制模块逻辑电路图
2.交替预置位编码的设计
由于由于倒计时模块中有两个不同的74LS192芯片,也就是说当状态为1,3时,倒计时30s,所以高位片需要预置;状态为2,4时,倒计时3s,低位片需要预置。
为了便于预置位的计算化简,所以想到用两篇74LS138译码器分别用于高位、低位的译码,来实现输入4种状态01,10,11,00时,译码器和简单门电路输出预置位。
简单列出真值表计算后画出电路图如下(门电路在倒计时模块):
图 3:交替预置编码逻辑电路图
3.倒计时模块
根据上述过程,可以得到倒计时模块如下图:
图 4:倒计时模块逻辑电路图
4.交通灯设置模块
由于4种状态01、10、11和00已知,运用最简单的门电路便可实现点亮红黄绿三种灯。设计电路图如下:
图 5:交通灯设置逻辑电路图
3.设计电路结果
总电路图设计如下:
图 6:总设计逻辑电路图
演示电路如下:
图 7:演示电路图
4.仿真结果
所有仿真结果按下表顺序依次给出:
南北干道 | 东西干道 | 持续时间 |
通行(绿灯) | 禁止通行(红灯) | 30s |
警示阶段(黄灯) | 禁止通行(红灯) | 3s |
禁止通行(红灯) | 通行(绿灯) | 30s |
禁止通行(红灯) | 警示阶段(黄灯) | 3s |
图 8:南北通行,东西禁止通行图
图 9:南北警示,东西禁止通行图
图 10:南北禁止通行,东西通行图
图 10:南北禁止通行,东西警示图