APP下载

基于AT89S51的智能交通灯控制系统设计与仿真

2014-09-26

电子设计工程 2014年1期
关键词:交通灯倒计时信号灯

李 萍

( 浙江水利水电学院 浙江 杭州 310018 )

随着经济与社会的快速发展,城市交通压力越来越大,如何通过有效的交通管理,实现人、车、路三者之间的协调,已经成为交管部门亟待解决的主要问题之一。除了通过多种交通出行方式缓解交通压力以外,在路面交通控制中,对交通信号灯的灵活有效控制,已经成为城市交通控制系统中重要组成部分。

传统的十字路口交通控制系统中,一般只采用红绿黄灯分方向轮流控制形式,没有考虑到实时的各方向路面车流辆情况,紧急突发事件的应急处理等,这样的控制显得不够灵活,无法达到最优的交通指挥目的[1]。本文提出的智能交通灯控制系统,可通过对通行方向实际路面车辆有无的检测[2],及时切换通行方向,并针对紧急情况,保证特殊车辆的优先通行。此外,还可实现对各方向时间的倒计时显示,使交通指挥高效灵活。

1 系统设计要求

智能交通灯控制系统要求实现以下控制目的:

1)设东西道为A道,南北道为B道;A道放行60 s;B道放行30 s;绿灯放行,红灯停止;绿灯转红灯时,黄灯亮3 s。

2)当一道有车而另一道无车时,交通灯控制系统立即让有车的车道放行。

3)遇到特殊情况,可拨动应急开关,使各方向均为红灯,特殊车辆不受红灯限制,保证其顺利通过后将开关拨回原位,系统恢复原状态进行。

4)具有递减时间显示功能。

2 系统设计方案

系统的控制方案有多种,可采用PLC、CPLD、单片机或纯电路设计等设计方案。从控制的灵活性、实现的方便程度以及性价比等方面综合考虑[3],本设计采用AT89S51单片机作为控制核心器件。采用红、绿、黄灯各4个作为交通指示,采用霍尔传感器分别检测两个方向有无车辆通行。处理紧急车辆的开关接到外部中断引脚INTO。使用两位数码管进行递减时间显示[5],并采用动态扫描的显示方式。此外,单片机系统工作需要时钟电路和复位电路构成最小系统。

整个系统的组成框图如图1所示。

图1 系统总体结构图Fig.1 Structure diagram of the power control unit test system

3 硬件电路设计

1)单片机最小系统:原理图如图2所示。AT89S51作为控制核心,加上时钟电路及复位电路组成单片机最小系统如图2所示。其中时钟电路的晶振频率为12 MHz,为单片机工作提供基本的工作时序。采用按键复位电路,在系统上电以及非正常工作时实现复位。

图2 单片机最小系统Fig.2 Smallest single-chip system

2)信号灯显示电路:采用12个交通灯模型来模拟实际交通信号灯,其中P1.0~P1.2输出控制A道的红、绿、黄灯,即P1口的1个输出引脚同时控制同一道上不同方向的两个信号灯,若驱动能力不够时可增加驱动电路以达到功率匹配。同理,P1.3~P1.5输出控制B道的红、绿、黄灯,交通灯模型在单片机输出引脚为高电平时点亮。原理图如图3所示。(注:为描述方便,单片机引脚表示方法如:P1.0引脚用P10符号表示。)

图3 信号灯显示电路Fig.3 Display circuit of light signals

图4 车辆检测输入及紧急开关输入Fig.4 Vehicle detection input and the emergency switch input

图5 倒计时显示电路Fig.5 The countdown display circuit

3)车辆检测输入:采用霍尔传感器进行车辆有无的检测,在每个方向车道的入口处安装一个霍尔传感器。当该方向车辆入口处有车辆时,霍尔传感器会发出一个脉冲,得到车辆的有无信号。本设计只在A、B道上各放置一个霍尔传感器(实际应是两个)。由于在Proteus仿真中没有霍尔传感器的模型,但是考虑到霍尔传感器发出的是单脉冲,此处可采用一个开关替代来进行仿真。车辆检测输入部分如图4所示。

4)紧急开关输入:当出现紧急情况需要特殊车辆优先通行时,可拨通紧急开关,紧急开关可接至外部中断0,此时各方向交通灯全红,等待特殊车辆通行后在关掉紧急开关,恢复信号灯的正常显示。紧急开关输入部分如图4所示。

5)倒计时显示电路:采用共阳极2位数码管进行60 s或30s递减时间显示,使用P0口输出LED显示器的段码,P2口输出LED显示器的位码。考虑到采用动态扫描方式,需增加驱动电路,故在P0口输出段码时先接至74HC573锁存器进行驱动,再接至LED数码管的段控端。通过P2口输出4个位码时经由74HC04反相驱动后再接到数码管的位控端。电路原理图如图5所示。

4 系统软件设计

图6 主程序流程图Fig.6 Flow chart of main program

根据系统控制要求及硬件原理图,软件采用汇编语言进行程序设计,主程序流程如图6所示。将A、B车道的传感器接至P3.6和P3.7 ,当P3.6=0表示A道有车辆通过;P3.6=1表示A道无车辆通过。同理,可判断B道车辆通行情况。

对紧急车辆的处理,采用外部中断的方式,由外部中断0服务程序处理。LED数码管显示采用动态扫描方式实现倒计时的显示,通过定时器T0进行20 ms的定时,在定时器T0服务程序中实现十位和个位时间的轮流显示。由于篇幅限制,外部中断0服务程序和定时器0中断服务程序流程此处略。

图7 仿真效果图Fig.7 Simulation effect diagram

5 Proteus仿真调试

软件采用汇编语言设计,在Keil C51集成开发环境下将编写的程序进行编译、调试,并生成目标文件(.hex)。此外,利用EDA仿真软件Proteus绘制出电路仿真原理图[6],CPU选择AT89S51。双击AT89S51,在出现的对话框中的“Program file”加入已生成的.hex文件,并进行仿真调试。调试成功后,正常情况下A、B道的红绿黄信号灯轮流亮并具有倒计时显示,按下紧急开关则A、B通道红灯一直亮直至松开紧急开关;若检测到当前通行道上无车而哦、另一道上有车时,能正确切换通行方向。正常情况下的仿真效果图如图7所示仿真显示当前A道红灯,B道路灯通行,倒计时时间为16 s。

6 结 论

该设计以AT89S51单片机作为控制核心,能实现正常情况的通行指示,各方向车流情况不同的及时通行切换,以及紧急情况下的特殊通行,并通过Proteus软件的仿真调试验证了系统设计的正确性。与传统交通灯控制系统相比,该系统具有硬件结构简洁、控制灵活、维护方便等优点,在交通控制领域中具有较好的实用价值。

[1]李盛春,孔令江,刘慕仁.智能交通灯对交叉路口流通流的影响[J].物理学报,2007,58(4):2266-2269.

LI Sheng-chun, KONG Ling-jiang, LIU Mu-ren. The effects of intelligent traffic light on the crossing traffic flow[J], Journal of Physics,2007,58(4):2266-2269.

[2]温志达,梁桂荣.基于车流量的智能交通灯控制系统[J].自动化 技术与应用, 2009,28(6):115-118.

WEN Zhi-da, LIANG Gui-rong. The traffic signal control based on the flow rate of vehicles [J].Techniques of Automation and Application 2009,28(6):115-118.

[3]沈红卫. 基于单片机的智能系统设计与实现[M].北京:电子工业出版社, 2005.

[4]彭成斌,李新玉,安利峰.一种倒计时交通灯的控制算法[J].计算机工程,2009,35(14):243-246.

PENG Cheng-bin, LI Xin-yu, AN Li-feng, Control of algorithm for traffic light with countdown timer[J].Computer Engineering,2009,35(14):243-246.

[5]邓建光,李永.基于AT89C51单片机的交通灯系统设计[J].自动化与仪器仪表, 2008(6):31-33.

DENG Jian-guang, LI Yong. The traffic signal system based on MCU AT89C51 [J]. Automation &Instrumentation, 2008(6):31-33.

[6]彭伟.单片机C语言程序设计实训100例—基于8051+Proteus仿真[M].北京:电子工业出版社, 2009.

猜你喜欢

交通灯倒计时信号灯
基于单片机的交通灯模糊控制器研究
交通信号灯
信号灯为什么选这三个颜色?
为什么交通灯是红黄蓝三种颜色?
一直飘红的交通灯
基于单片机的LED模拟交通灯设计
安装在路面的交通信号灯