基于单片机的可编程智能交通灯控制系统

2016-09-12 02:35张维
电子设计工程 2016年4期
关键词:交通灯数码管倒计时

张维

(陕西工业职业技术学院 陕西 咸阳 712000)

基于单片机的可编程智能交通灯控制系统

张维

(陕西工业职业技术学院 陕西 咸阳 712000)

文中设计一种基于AT89S52单片机的智能交通灯控制系统。本系统主要由单片机系统、键盘电路、LED显示电路和数码管显示电路等部分组成。通过搭建硬件及软件电路实现交通灯基本正常转换功能及某一个车道无车辆的通行调整功能以及紧急状况下的紧急车辆避险的功能。本系统具有制作简易,可操作性强,性能稳定,不受外界干扰,功能可靠,具有一定的实用价值。

AT89S52单片机;LED;数码管;交通灯

交通控制系统是城市交通的重要指挥系统,它与人们日常生活密切相关。随着人们生活水平的提高,对交通管制也提出了更高的要求。加之社会经济和城市交通的快速发展及城市道路的改造与拓宽,使得城市的十字路口越来越多,交通堵塞越来越严重。良好的交通控制系统是保障城市交通有序、快速、安全、有效的手段之一。本文正是以此为出发点,对单片机控制的交通灯系统作以介绍,对于改善交通堵塞起到一定程度的缓解作用。

1 系统设计

1.1 设计任务

基于AT89S52单片机设计一个能够控制12盏交通信号灯并配有数码管倒计时显示的可编程交通控制系统,要求交通信号灯按照交通规则的模式来运行。另外,本设计还配有几个扩展功能。设计由单片机主控电路、键盘控制电路、LED显示电路、数码管显示电路等部分组成[1]。

1.2 设计思路

交通控制系统主要控制A主干道和B支干道两干道的交通,以AT89S52单片机为核心芯片,通过控制三色LED的亮灭来控制各干道的通行;显示主要是采用两位的数码管进行动态倒计时显示;另外,可以通过4个按键来模拟某一个干道没有车辆的情况及紧急状况下的紧急车辆避险的情况。

1.3 理论分析

1.3.1 交通灯显示的理论分析

交通信号灯控制系统设计的流程图如图1所示。

图1 交通信号灯控制系统设计的流程图Fig.1 The flow chart of the traffic lights control system

1.3.2 系统模拟以下交通情况

1)设计一个十字路口的交通灯控制电路,要求东西方向(A主干道)车道和南北方向(B支干道)车道两条交叉道路上的车辆交替运行,时间可通过软件设置修改;

2)在绿灯转为红灯时,要求黄灯先亮,才能变换运行车道;

3)东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的同时都用数码管进行显示(采用倒计时的方法);

4)扩展功能实现:(分3种情况进行)如果东西红灯,但待通行车辆多,而南北绿灯,车辆少,这时通过按键,让东西通行,同时数码管显示00,南北方向亦然;如果遇到有紧急车辆(如急救车、消防车,警车等)通过,则东西南北4个方向,全为红灯,且数码管显示为00。

2 硬件电路设计

2.1 单片机主控电路

单片机采用AT89S52型单片机,其中内部具有8 kB程序存储器可用。一方面要完成对各模块的控制,另一方面也要协调好各模块的时序及口线冲突问题。

交通信号灯控制系统原理图如下:

1)电源接口与下载口电路

电源接口是接+5 V直流电压为整个单片机供电,并且为了提高电路的抗干扰能力,分别接一个0.1 μF的电容和一个10 μF电容接在+5与接地线之间,一个起低通滤波作用,一个起高通滤波作用。下载电路是由一个四路波码开关和一个插口组成。此电路可以根据具体情况的需要,随时更改软件程序,实现预期功能[2]。具体电路如图2所示。

图2 电源接口与下载口电路Fig.2 Power interface circuit and download port

2)单片机主控电路

单片机主控电路是由AT89S52单片机,时钟电路和复位电路等部分组成,具体电路如图3所示。本设计充分利用了AT89S52单片机的I/O接口资源,分别控制红黄绿灯,数码管倒计时显示,按键的响应等。时钟电路用于产生AT89S52单片机的所需要的时钟控制信号,因为单片机的内部电路在时钟信号控制下,才能按照时序指令进行工作。本设计外部晶振用12 MHz的晶振,这样可以使传输波特率更加准确[3]。单片机复位是由外部的复位电路来实现的。本设计的复位电路采用按键复位。单片机的I/O接口中的P3.0到P3.7接扩展口,它可以根据具体情况的需要扩展其它的功能。

图3 单片机主控电路Fig.3 MCU control circuit

2.2 按键控制电路

因为本设计时精简和优化了电路,所以单片机剩余的并口资源还比较多,可以使用4个按键,分别是K1、K2、K3和K4对交通灯的扩展功能进行控制[4]。K1、K2、K33个键是扩展功能的执行键,K4是扩展功能的复位键(即退出扩展功能,回到原状态)。K1、K2、K3和K4分别与单片机的P2.3、P2.2、P2.1、P2.0口相连。如果东西红灯,但待通行车辆多,而南北绿灯,车辆少,这时可按下K1键,让东西通行,执行后按下K4键,恢复原状态;如果南北红灯,但待通行车辆多,而东西绿灯,车辆少,这时可以按下K2键,让南北通行,执行后按下K4键,恢复原状态;如果遇到有紧急车辆(如急救车、消防车,警车等)通过,则按下K3键,东西南北4个方向,全为红灯,只让紧急车辆通过,执行后按下K4键,恢复原状态。具体电路如图4所示。

2.3 LED显示电路

LED显示电路是用12个LED来实现红绿黄灯转换状态,共4对电路分别代表东西南北4个方向的红绿黄灯,因为对角的交通指示灯的情况是一样的,所以可以将对角的LED灯并联起来,这样一方面从硬件上简化了电路,一方面从软件上降低了编程的难度。A主干道的红绿黄分别接到单片机的P1.2、P1.1、P1.0进行交通灯状态的控制,B支干道的红绿黄分别接到单片机的P1.5、P1.4、P1.3口进行交通灯状态控制[5]。具体电路如图5所示。

图4 按键控制电路Fig.4 Key control circuit

图5 LED显示电路Fig.5 LED display circuit

2.4 数码管显示电路

数码管显示电路用来实现倒计时显示功能,用PNP三极管作为其驱动,P0.0、P0.1、P0.2、P0.3、P0.4、P0.5、P0.6口为数码管的7段的段控制端,P2.7、P2.6为数码管的位控制端。采用共阳极接法,即低电平驱动可使数码管点亮[6]。数码管显示采取分时段动态倒计时显示的方法,主要是位控制端的选择和数码管显示时个位与十位的选取的实现,倒计时的时间长短主要是通过软件编程设置的。具体电路如图6所示。

图6 数码管显示电路Fig.6 LED display circuit

3 软件设计

3.1 系统程序流程图

根据具体电路设计要求,系统程序流程图如图7所示。状态1为南北红灯,东西绿灯;状态2为南北红灯,东西黄灯;状态 3为南北绿灯,东西红灯;状态4为南北黄灯,东西绿灯。按键函数是根据扩展状态的按键K1,K2,K3,K44个按键实现相应功能[7]。

3.2 系统程序结构

1)主程序:包括系统初始化和工作循环两大板块。前一板块的任务是对系统的各种初始化设置,后一板块的任务是对系统进行连续的监测和服务。

2)功能子程序:本文的子程序包括延时子程序,数码管动态显示子程序等。

3)中断子程序:本文中断子程序包括数码管显示中断和数码管倒计时显示中断等两个中断子程序[8]。

本系统软件设计首先是从主函数控制红绿灯显示开始的,通过中断子程序进行状态转换并进行倒计时显示。当按下某一个(K1、K2、K3)键,执行扩展的几个功能,此时中断停止,保存数码管的此刻的值,按下K4键可使系统继续从刚才的保存时的状况继续执行,此过程要注意按键去抖。

图7 系统程序流程图Fig.7 The flow chart of system program

4 系统调试

4.1 LED显示电路调试

当LED显示电路连接完毕后,将写好的测试程序通过下载口下载到单片机芯片内(主要是利用高低电平检测LED灯的亮灭),通电即可检测,同时也检测了单片机系统是否工作正常。经调试,LED显示正常。

4.2 数码管电路调试

将写好的测试程序通过下载口下载到单片机芯片内,主要是检测数码管的各段的亮灭以及数码管显示是否正确,开电源即可测试。经调试,数码管显示正常。

4.3 系统电路调试

系统上电,将写好的交通灯控制系统程序通过下载口下载到单片机片内即可开始测试,观察交通灯的一个循环(共计4个状态),红绿黄3种灯的显示状态是否正常,同时观察数码管倒计时的显示是否正常。最后结合4个按键检测扩展功能下的交通灯及数码管显示是否正常。经调试,系统的各项预期功能均可以实现。

5 结束语

文中详细介绍了基于AT89S52单片机的交通灯控制系统的设计,硬件原理及软件的构成。经调试,本设计的交通控制系统达到了设计的要求,能控制A主干道和B支干道两干道的交通,并能采用两位数码管进行动态倒计时显示;可以实现某一个干道没有车辆的交通情况及紧急状况下的紧急车辆避险的情况。整个电路结构简单,制作简易,可操作性强,性能稳定,不受外界干扰,功能可靠,且软件工作量不大,具有一定的实用价值。本设计电路仍然有需改进的地方,例如可以增加蜂鸣器进行紧急预警,增加行人通行的动态指示等。

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

[2]李萍.基于AT89S51的智能交通灯控制系统设计与仿真[J].电子设计工程,2014(1):190-193.

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

[4]何玲,吴恒玉,唐民丽.基于单片机的智能交通灯控制系统的研究与设计[J].电子设计工程,2011(11):144-146.

[5]黄毅.智能交通灯控制系统设计与仿真[J].科技咨询,2008(28):125-126.

[6]李群芳.单片微型计算机与接口技术[M].北京:电子工业出版社,2005.

[7]谭浩强.C语言程序设计[M].北京:清华大学出版社,2014.

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

Design of programmable traffic lights control system based on AT89S52 single-chip microcomputer

ZHANG Wei
(Shaanxi Polytechnic Institute,Xianyang 712000,China)

The design of traffic light control system based on the single-chip microcomputer of AT89S52 is introduced.The system is mainly made up of the single-chip microcomputer system,keyboard circuit,LED display circuit and other components.This system can achieve the normal function of traffic lights and the function of the condition without a car on lane and the emergency hedge function of emergency vehicles.This system has the advantages of simple manufacture,the strongly maneuverability,the stable performance,without external interference and certain practical value.

AT89S52 single-chip microcomputer;LED;digital control;traffic lights

TN99

A

1674-6236(2016)04-0171-04

2015-04-08 稿件编号:201504066

张 维(1986—),男,陕西咸阳人,硕士,讲师。研究方向:电力电子技术及过程控制技术。

猜你喜欢
交通灯数码管倒计时
微课教学设计之“数码管动态显示”
Arduino编程
基于单片机的交通灯模糊控制器研究
MC9S08FL16单片机数码管静态显示分析
单片机控制的四位数码管动态显示编程
为什么交通灯是红黄蓝三种颜色?
一直飘红的交通灯
基于单片机的LED模拟交通灯设计