基于单片机控制交通灯的设计
2013-07-24肖传清
肖传清
(福建工程学院 信息科学与工程学院,福建 福州 350108)
基于单片机控制交通灯的设计
肖传清
(福建工程学院 信息科学与工程学院,福建 福州 350108)
本文是基于单片机控制交通信号灯的设计,主要阐述了以单片机为核心控制,在锁存器和可编程并行接口芯片的辅助下,通过设计的交通管理方案,设计单片机控制程序的工作流程,从而实现对十字路口交通信号灯的自动化控制,来指挥交通,让车辆、行人能够有条不紊地安全地通过十字路口,维护了社会车辆行人的出行安全.
单片机控制交通灯;8051单片机;十字路口;交通管理;方案;锁存器
由于微控技术的快速发展,应用单片机控制交通信号灯已经成为可能.以单片机为核心,搭建交通灯显示模块,配合以适当的控制电路和保护电路,来实现单片机控制交通信号灯,已达到交通通畅、人车和谐有序的交通状态.
1 组件介绍
本文基于单片机控制交通灯设计是面向十字路口交通灯的自动化控制,主要思路是通过单片机内部可编程定时器来定时,一定时间后按照既定规则来改变当前交通信号灯的状态.此次用到的主要组件有51系列单片机,锁存器,可编程并行接口芯片以及交通信号灯显示硬件(包括信号灯、数码管显示等等).
1.1 8051单片机
8051是MSC-51单片机系列中的典型产品,它拥有中央处理器、程序存储器ROM、数据存储器RAM、定时/计数器、串并行端口、中断系统以及数据总线、控制总线和地址总线组成.
其中中央处理器是单片机的核心处理器,能够处理8位二进制数据,中央处理器主要负责指挥、控制和调度整个单元系统协调工作,完成数据运算以及控制输入输出等操作.
程序存储器ROM是用来存放单片机运行代码以及代码中初始化数据.数据存储器RAM是单片机存放控制指令数据和用户数据的存储单元,其中供用户使用的只有128存储单元,用户可以通过统一编址,来对数据进行读写操作.
定时/计数器是可编程控制的定时器,单片机用来计时或者计数进而产生中断,以方便控制程序跳转.
8051提供了4组8位并行输入输出端口和一个全双工串行通信口,用于同外部进行数据传输. 8051具有两个外中断、两个定时中断和一个串行中断,具有较完善的终端功能.
单片机的总线系统则是在单片机内部单元之间、内部与外部之间传输数据、命令和地址.
1.2 74LS373锁存器
74LS373锁存器是将收入数据进行暂时保存的芯片,它有8位数据输入端和8位数据输出端,以及一个数据输入输出控制引脚和一个芯片使能端.当使能端允许芯片工作室,数据输入输出控制端为“0”时,锁存器读取输入数据,当控制端为“1”时,锁存器锁存读取数据,并将数据输出.
1.3 8255可编程并行接口芯片
8255芯片是可编程并行接口芯片,提供三个8位数据输入输出端口.用户可以根据自己需要设定该芯片控制字使其以不同的工作方式工作.
1.4 交通灯硬件电路
该设计主要是对一个十字路口的东西道、南北道的交通信号灯的设计,所以基本要求是东西道和南北道各有两个面向不同方向的红绿灯以及读秒数码管共四组红绿灯设施,每个道路的两侧边不同方向应有两组指示行人的红绿灯共八组.
2 整体设计
在第二章节介绍的基本单元的基础上,来对交通信号灯进行整体设计,设计流程是:提出交通管理方案→硬件框图设计→软件流程设计.
2.1 交通管理方案
本设计主要是针对十字路口交通信号灯来设计的,分东西干道和南北干道四组交通指示灯,每组交通信号灯由两套红绿灯和读秒数码管组成,其中每套红绿灯指示对面一端车辆的前进与左行(右行车辆可直接通过右行小道行驶,不必等待红绿灯指示),当交通灯在红灯或者绿灯状态接近变灯的前十秒,而每个交通读秒数码管显示读数,红绿灯黄灯亮时,读秒数码管一直读秒,直至黄灯熄灭.每个干道两侧都有两个指示行人同行的行人红绿灯,共八组,每组行人红绿灯由红灯和绿灯组成,在绿灯切换成红灯之前三秒,绿灯开始闪烁,直至切换到红灯.
表1 交通信号灯亮灭组合方案
针对车辆行人红绿灯等待和通行时间,可以根据十字路口车辆人数通行量来设定,而针对具体的交通信号灯亮灭组合见表1.
使用单片机来控制交通信号灯,可以按照表1提供的亮灭组合方案,设计单片机软件流程,来控制交通信号灯指挥交通.
2.2 硬件框图设计
在第二章节部分提到了我们所需要的部件,8051单片机,74LS373锁存器,8255可编程并行接口芯片,以及交通信号灯的显示系统,以8051单片机为核心,配合外围电路,来搭建交通信号灯指挥系统.具体的单片机控制交通信号灯硬件电路框图如图1.
图1 单片机控制交通信号灯硬件设计框图
由图1可知,8051单片机系统对整个外围电路进行指挥,当8051经过一定的处理后,将数据和控制命令通过数据总线输出后,由锁存器将数据进行临时保存;74LS373将锁存数据在下一个时间脉冲将数据发送至8255可编程并行接口芯片经过后,按照8255设定的工作方式,将数据发送给交通信号灯显示系统,来控制读秒数码管和红绿灯显示.
2.3 软件流程设计
基于单片机控制交通信号灯的基本核心在于单片机的控制,而单片机有序的控制还是需要单片机软件来实现.
单片机控制交通信号灯的流程是要根据既定的交通管理方案来进行设定,具体流程按照如下步骤.
a)数据初始化(主要是对单片机、定时器控制字以及锁存器使能端控制字、8255可编程并行接口芯片控制字进行初始化).
b)发送控制数据(南北道车辆前行绿灯亮,左行红灯亮,左右两侧人行绿灯亮;东西道车辆前行和左行红灯亮,左右两侧人行红灯亮).
c)计时器开始计时至35s.
d)初始化计时器计时10s,设定读秒数码管读秒(每一秒向南北道红绿灯发送读秒数码管显示段码).
e)发送控制数据(南北车辆前行、左行黄灯亮;东西车辆前行、左行红灯亮,两侧人行红灯亮).
f)初始化计时器计时3s,设定读秒数码管读秒,设定另外一个计时器计时3s,每0.5s,控制南北道两侧绿灯闪烁一次(每一秒向读秒数码管发送显示段码,每0.5s向南北道人行绿灯发送与当前状态相反数据).
g)发送控制数据(南北道车辆前行红灯亮,左行绿灯亮,左右两侧人行红灯亮;东西道车辆前行和左行红灯亮,左右两侧人行红灯亮).
h)计时器开始计时至10s.
i)初始化计时器计时10s,设定读秒数码管读秒(每一秒向读秒数码管发送显示段码).
j)发送控制数据(南北车辆前行红灯亮,左行黄灯亮,两侧人行红灯亮;东西车辆前行黄灯亮,左行红灯亮,两侧人行红灯亮).
k)初始化计时器计时3s,设定读秒数码管读秒(每一秒向南北道、东西道读秒数码管发送显示段码).
l)发送控制数据(南北道车辆前行、左行红灯亮,左右两侧人行红灯亮;东西道车辆前行绿灯亮,左行红灯亮,左右两侧人行绿灯亮).
m)计时器开始计时至35s.
n)初始化计时器计时10s,设定读秒数码管读秒(每一秒向东西道读秒数码管发送显示段码).
o)发送控制数据(南北车辆前行、左行红灯亮,两侧人行红灯亮;东西车辆前行、左行黄灯亮).
p)初始化计时器计时3s,设定读秒数码管读秒,设定另外一个计时器计时3s,每0.5s,控制东西道两侧绿灯闪烁一次(每一秒中发送读秒数码管显示段码,每0.5s向东西道人行绿灯发送与当前状态相反数据).
q)发送控制数据(南北道车辆前行、左行红灯亮,左右两侧人行红灯亮;东西道车辆前行红灯亮,左行绿灯亮,左右两侧人行红灯亮).
r)计时器开始计时至10s.
s)初始化计时器计时10s,设定读秒数码管读秒(每一秒向读秒数码管发送显示段码).
t)发送控制数据(南北车辆前行黄灯亮,左行红灯亮,两侧人行红灯亮;东西车辆前行红灯亮,左行黄灯亮,两侧人行红灯亮).
u)初始化计时器计时3s,设定读秒数码管读秒(每一秒向南北道、东西道读秒数码管发送显示段码).
v)循环至程序开始.
根据以上步骤来设计单片机控制交通信号灯流程图,周而复始,循环执行上述操作步骤,进而有效执行交通管理方案,指挥交通.
3 总结
基于单片机控制交通信号灯的设计,在单片机程序的控制下,向交通信号灯显示电路发送控制数据,在外围芯片和电路的配合下,完成交通信号灯的设计来控制十字路口的交通.至于交通信号灯亮灭时间可以根据当地车流人流量来设定,也可以根据主干道、支干道不同来设定.该设计的难点在于交通管理方案的设计,只有一个良好的交通管理方案,才能很好地管理道路交通,维持车辆、人流和谐有序的良好交通状态.
〔1〕郑建光,李永.基于AT89C51单片机的交通灯系统设计[J].自动化与仪器仪表,2008(06).
〔2〕王兵.基于8051单片机交通灯控制系统的设计[J].科技资讯,2011(32).
〔3〕马华玲,左谨平,张涛.基于AT89S51的交通灯控制系统设计与实现[J].交通科技与经济,2010(02).
〔4〕万强兵,王坤侠.基于单片机的交通灯控制系统的设计[J].科技信息,2011(19).
〔5〕王洁琼,王红卫,敬敏.基于单片机的实用交通灯设计[J].科协论坛(下半月),2009(06).
TP273.5;U491.5
A
1673-260X(2013)11-0032-02