交通灯控制器
随着各种交通工具的发展和交通指挥的需要,交通灯的诞生大大改善了城市交通
状况。本题将设计一个交通控制器,控制十字路口主、支两条道路的红、绿、黄三色
灯,指挥车辆和行人安全通行。
一、 系统设计要求
设计一个十字路口的交通灯控制器,能显示十字路口东西、南北两个方向的红、
黄、绿灯的指示状态。用两组红、黄、绿三种颜色的灯分别作为东西、南北两个方向
的红、黄、绿灯。变化规律为:东西绿灯亮,南北红灯亮→东西黄灯亮,南北红灯亮
→东西红灯亮,南北绿灯亮→东西红灯亮,南北黄灯亮→东西绿灯亮,南北红灯亮…
…,这样依次循环。
南北方向是主干道车道,东西方向是支干道车道,要求两条交叉道路上的车辆交
替运行,主干道每次通行时间都设为 30 秒,支干道每次通行时间为 20 秒,时间可设
置修改。
在绿灯转为红灯时,要求黄灯先亮 5 秒钟,才能变换运行车道。
要求交通灯控制器有复位功能,在复位信号使能的情况下能够实现交通灯的自动
复位,并且要求所有交通灯的状态变化,包括复位信号引起的均发生在时钟脉冲的上
升沿处。
二、 系统设计方案
根据交通灯系统设计要求,可以用一个有限状态机来实现这个交通灯控制器。首
先根据功能要求,明确两组交通灯的状态,这两组交通灯总共有四种状态,我们用
st0,st1,st2,st3 来表示:
st0 表示主路绿灯亮、支路红灯亮;
st1 表示主路黄灯亮、支路红灯亮;
st2 表示主路红灯亮、支路绿灯亮;
st3 表示主路红灯亮、支路黄灯亮;
根据上述四种状态描述列出的状态转换表如下:
当前状态 下一状态 转换条件
st0 st1
主路绿灯亮了 25 秒
st1 st2
主路黄灯亮了 5 秒
st2 st3
支路绿灯亮了 15 秒
st3 st0
支路黄灯亮了 5 秒
st0 or st1 or st2 or st3 st0
复位信号使能