基于AT89S51的智能交通灯控制系统设计与仿真
本文提出的智能交通灯控制系统,可通过对通行方向实际路面车辆有无的检测,及时切换通行方向,并针对紧急情况,保证特殊车辆的优先通行。此外,还可实现对各方向时间的倒计时显示,使交通指挥高效灵活。
1)设东西道为A道,南北道为B道;A道放行60s;B道放行30s;绿灯放行,红灯停止;绿灯转红灯时,黄灯亮3s。
2)当一道有车而另一道无车时,交通灯控制系统立即让有车的车道放行。
3)遇到特殊情况,可拨动应急开关,使各方向均为红灯,特殊车辆不受红灯限制,保证其顺利通过后将开关拨回原位,系统恢复原状态进行。
4)具有递减时间显示功能。
系统的控制方案有多种,可采用PLC、CPLD、单片机或纯电路设计等设计方案。从控制的灵活性、实现的方便程度以及性价比等方面综合考虑,本设计采用AT89S51单片机作为控制核心器件。采用红、绿、黄灯各4个作为交通指示,采用霍尔传感器分别检测两个方向有无车辆通行。处理紧急车辆的开关接到外部中断引脚INT0。使用两位数码管进行递减时间显示,并采用动态扫描的显示方式。此外,单片机系统工作需要时钟电路和复位电路构成最小系统。
其中时钟电路的晶振频率为12MHz,为单片机工作提供基本的工作时序。采用按键复位电路,在系统上电以及非正常工作时实现复位。
车辆检测输入:采用霍尔传感器进行车辆有无的检测,在每个方向车道的入口处安装一个霍尔传感器。当该方向车辆入口处有车辆时,霍尔传感器会发出一个脉冲,得到车辆的有无信号。本设计只在A、B道上各放置一个霍尔传感器。由于在Proteus仿真中没有霍尔传感器的模型,但是考虑到霍尔传感器发出的是单脉冲,此处可采用一个开关替代来进行仿真。
对紧急车辆的处理,采用外部中断的方式,由外部中断0服务程序处理。LED数码管显示采用动态扫描方式实现倒计时的显示,通过定时器T0进行20ms的定时,在定时器T0服务程序中实现十位和个位时间的轮流显示。由于篇幅限制,外部中断0服务程序和定时器0中断服务程序流程此处略。