之前看到有小伙伴私信51单片机交通灯。今天分享一个51单片机的交通灯仿真。
51单片机交通灯通常也是学校课程设计的主要题目之一。而且制作资料晚上多得是。今天分享的这个Proteus仿真绘制的还是比较精美的。话不多说先上静态图。
仿真图完整的绘制了一个十字路口的状态图,包括路口的红绿灯、行人、斑马线及道路标识,十分生动形象。
系统在东西方向及南北方向各设置了两组红绿灯和倒计时装置。倒计时装置采用的是2位7段式数码管显示器,采用动态扫描的方式进行驱动。
该仿真在设定直行灯的同时还设置了左转指示灯,同时在人行横道上设置了通行指示灯。
仿真中数码管的位选信号通过非门与单片机的IO相连接,这样可以增加单片
机IO的驱动能力,在实际的应用时也可以采用三极管作开关进行控制。
在仿真图的左下设置有是三个独立按键,分别是“繁忙”、“时间+”、“时间-”,通过字面意思,这几个按键是用于设定路口的时间参数的。具体的功能接下来进行动态测试时就会知道了。
仿真界面点击运行按钮。可以看到东西方向红灯状态60秒,南北方向绿灯状态40秒。时间采用的是倒计时的方式,数码管采用的动态扫描的方式,程序运行的很流畅,没有卡顿出现。绿灯信号周期的后三秒,黄灯会闪烁,每个周期会有20秒的左转通行时间,左转指示灯会亮起。
按下繁忙键后信号周期会从原定的60秒变为45秒,左转时间不变依旧是20秒,改变的是直行通行的时间。
通过“时间+”和“时间-”按键可以修改信号周期的时间长度,步进值为5,下限为40秒,上限值为99(这个功能可能存在一个小小的缺陷,当累加达到上限以后再进行减操作的时候是从99开始递减,这样信号周期就是94、89......与增加时不一致,追求完美的小伙伴可以自行修改一下)。
老规矩贴张程序图,程序里面中文注释比较齐全,有兴趣的小伙伴自行研究。
获取方式:公众号界面私信“51单片机交通灯”,就可以获取对应的下载链接。