作者:郭欢欢 高亚兰 字数:4058 点击:

摘 要:本文提出了一种基于AT89C52单片机的智能交通灯控制系统的设计方案。方案采用AT89C52作为系统控制核心,使用并行接口芯片8155来控制四个路口的交通信号灯,能够实时并智能的控制各个路口车辆的通行时间,缓解交通拥堵的现状,提高道路车辆的通行效率。

关键词:AT89C52;交通信号灯;智能控制

基金项目:2015年度高等学校省级质量工程项目 项目编号:201510379099

伴随着我国不断加快的现代化进程,城市的规模在不断扩大,家庭轿车拥有量的不断增加,,常常引起局部小规模的交通拥堵和混乱现象,这一问题的继续发展或恶化,必将成为制约我国社会经济发展的一个严重问题。交通信号灯是保证城市交通秩序的关键设备,它在交通分配通行权上发挥着重大的调配作用。但是目前我国所采用的交通信号灯大多是红绿灯以固定的时间进行转换,这一转换方式没有任何的灵活性,往往会造成交通的通行率严重降低,反而会起到一定的负面效应。因此,建立一个安全、可靠、高效的交通灯智能控制系统是非常必要和紧迫的,也具有现实必然性。本文设计的智能交通灯控制系统,对于有效缓解十字路口的车辆拥堵状况具有较好的效果,从而达到交通通行权的最优控制。对于当下人们对高效率生活节奏的追求和出行安全的要求,该系统的设计并最终投入应用,最终实现智能化地解决现实中的交通问题。

1 总体系统设计方案

基于单片机的智能交通灯控制系统主要有控制核心AT89C52单片机、并行接口芯片8155、数码管和红黄绿三色LED灯组成。在十字路口的每一个路口架设一组由黄绿蓝三色LED灯组成的交通信号灯,本设计对AT89C52单片机进行编程,使用定时器中断进行计时并且通过并行接口芯片8155对LED灯进行亮灭的控制从而实现交通信号灯的作用。

如下图1所示的是一个十字路口的示意图。在此我们用1、2、3、4分别表示东南西北四个流向的车道,用A、B、C、P分别来表示每一个主车道在十字路口的左转弯车道、直行车道、右转弯车道和人行横道。使用a、b、c、p分别表示控制左转弯、直行、右转弯和人行横道的交通信号灯。

本设计的交通信号灯的工作顺序是当路口1的车辆允许直行时,4个路口的交通信号灯的亮灯情况是:3a3b2p绿3c红+4a4b4c 3p全红+1c 绿1a1b4p红+2c绿2a2b1p红;当路口2的车辆允许直行时,4个路口的交通信号灯的亮灯情况是:4a4b3p绿4c红+ 1a1b1c 4p全红+ 2c绿2a2b1p红+3c绿3a3b2p红;当路口3的车辆允许直行时,4个路口的交通信号灯的亮灯情况是:1a1b4p绿1c红+ 2a2b2c 1p全红+3c绿 3a3b2p红+4c 绿4a4b3p红;当路口4的车辆允许直行时,4个路口的交通信号灯的亮灯情况是:2a2b1p绿2c红+3c3a3b2p全红+4c绿4a4b3p红+1c绿1a1b4p红。所以综上所述交通信号灯所给出的通行顺序一共有4种组合,分别就是:1A、1B、3C、4C、2P;2A、2B、1C、4C、3P;4P、2C、1C、3B、3A;1P、3C、2C、4B、4A。交通信号灯控制的通行也即是按照这四种组合的顺序依次进行,不断的循环。

综上所述,本设计就是要使用AT89C52单片机和并行接口芯片8155来控制交通信号灯,使之能够按照上述的过程进行亮灭。

2 硬件电路设计

本设计使用的AT89C52单片机一共拥有四组个并行接口,它们分别是P0口、P1口、P2口和P3口,但是P0口是作为地址和数据总线复用的端口,而P2口也同时拥有高8位地址线这样的第二功能,P3口同样也是具有第二功能的,如此一来,只有P1口可以作为双向I/O口使用。对于大多数的应用场合来说,一个端口是肯定不够的。所以在本设计中我们使用8155芯片来对单片机的P0口进行扩展。如下面图2为本设计的硬件结构框图。

2.1 AT89C52单片机

在电子行业中有着广泛的应用的AT89C52是由ATMEL公司所生产的,这是一种性能较高的8位单片机,价格低廉。该单片机的闪存为8k字节,拥有存取数据存储器和只读程序存储器,它的数据存储器大小为256 字节,该单片机的在制造工艺上采用了ATMEL高密度、非易失性存储技术,耐用性好。在对该单片机进行编程时完全可以使用MCS-51指令系统,单片机内部置拥有通用8位中央处理器和Flash存储单元。

AT89C52一共含有四组双向输入输出(I\O)端口,分别为P0、P1、P2和P3口。在本设计中我们使用到的是P0口。该单片机的P0口双向I/O 口, 同时它也是地址和数据总线的复合使用端口。当将P0口设置为输出高电平的时候,P0口的工作状态就是高阻抗状态。如果我们需要使用P0口来来访问外部的程序存储器或者是需要访问外部的数据存储器的时候,P0口的工作状态就是在数据总线和转换低八位地址这两个功能之间不停地转换,同时内部的上拉电阻会在访问期间被激活。在对闪存进行编程的时候,该端口是接收指令字节的,而当进行程序的校验工作时,该端口相反的就是输出字节。

在本设计中我们需要使用到定时器来实现定时功能,定时器所定的时间要在数码管上显示出来。在该设计中我们需要使用到一个16 位定时器。在所选择的MCU中,定时器2能够符合我们的要求,在使用定时器的时候我们首先要设置它的工作方式。该工作方式是通过特殊功能寄存器T2CON来设置的。定时器2 一共有三种工作方式,分别是捕获方式、自动重装载方式和波特率发生器方式,在本设计中我们使用的是自动重装载工作方。定时器2 工作在定时器工作方式时,每个机器周期低八位寄存器的数值就会增加一个,而单片机是由十二个震荡时钟来组成一个机器周期的,所以,计数的速度就是震荡频率的十二分之一。

2.2 并行接口芯片8155

在本设计中我们会通过MCU的外部的64Kbytes的随机存取数据存储器的一部分空间的扩展,使其成为外部输入输出端口的地址空间的使用对象。这样做的依据就是该单片机的外部随机存取存储器和输入输出端口的地址是统一编写的。经过这样的操作我们就可以访问单片机P0口上所接的并行接口芯片,这是个和访问外部随机存取存储器一样的过程。在本设计中我们使用的是8155芯片来对单片机的P0口进行扩展。

8155芯片是Intel公司推出的可编程RAM\IO芯片,采用的是双列直插的封装。8155芯片一共有40个引脚,其中地址\数据线为AD0-AD7一共八条;I\O端口总线为22条,编号分别为PA0-PA7,PB0-PB7,PC0-PC5;控制总线一共有八条,ALE是一个输入端口作用为地址锁存,IO\`M端口实现IO口和RAM的选择,其值为0时选择内部RAM,其值为1时选择IO口;CE为片选线;RD,RW为读写控制;TIMERIN和TIMEROUT分别为定时器的输入和输出,他们分别输入定时器所需的时钟和输出所产生的方波脉冲。

8155芯片内有256B的RAM,当IO\`M端口得值为0时,CPU就可以对8155的RAM进行读写操作了,此时寻址的范围是00H-0FFH。8155芯片的片内I\O还包含了四个寄存器,分别是命令\状态寄存器、PA寄存器、PB寄存器和PC寄存器。当IO\`M端口得值为1时,CPU对8155的I\O口进行读写操作,写入命令寄存器的控制命令将决定8155的工作方式。8155芯片的内部还有一个14位的减一计数器,它既可以用作定时又可以用作外部事件计数。向TIMEIN端口每输入一个计数脉冲信号,计数器的值就会减一,当计数器的值减到零的时候。就在TIMEOUT端口发出一个方波或者是脉冲信号,这是由程序所决定的。

3 软件设计

根据硬件电路设计的要求,本设计的程序流程图如图3所示。

系统程序的结构包含了主程序、功能子程序和中断子程序。其中主程序包含了系统初始化和系统工作循环两大块。系统初始化是对系统的各项进行初始化设置,系统工作循环是实现系统的连续不断工作。功能子程序部分包含了延时子程序、数码管动态显示子程序和LED显示子程序。中断子程序中包含了数码管的中断和数码管显示倒计时中断两个中断子程序。

本设计的软件部分首先从主函数控制红绿灯的显示开始的,通过中断子程序来进行系统工作状态的转换并且同时进行倒计时。在设计程序时要考虑到对数码管进行去抖动。

4 结束语

智能交通灯控制系统的研究涉及范围极广,需要对各项高新技术研究领域的内容进行了综合,因而选择智能交通灯控制系统是有效控制和有力疏导城市交通状况的有力手段。本文内容详细地介绍了基于AT89C52单片机的智能交通灯控制系统的设计与实现,对于道路交通控制系统而言,系统的稳定性至关重要,本系统的设计包含了硬件电路的原理和软件的设计思路。比较而言整个系统的结构较为简单,制作也十分简易,具有一定的实用和推广价值。

参考文献

[1]谢维成 . 单片机原理与应用及 C51程序设计 [M]. 北 京 :清华大学出版社,2014

[2]汪世明.基于 Proteus 的单片机应用技术[M].北京:电子工业出版社,2009.

[3]侯玉宝.基于Proteus的 51系列单片机设计与仿真[M].北京:电子工业出版社,2008.

[4]杨居义.单片机课程设计指导[M].北京:清华大学出版社,2009.

[5]刘德新,周志文,张卫丰 . 基于 STC89S52 单片机智能交通灯控制系统的设计与制作及应用 [J]. 深圳职业技术学院学报,2012(9):38-41.

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

[7]穆怀艳.单片机控制交通灯设计方案[J].青年科学,2009,(2).

相关推荐