交通灯控制系统设计含全部程序文档格式.docx
《交通灯控制系统设计含全部程序文档格式.docx》由会员分享,可在线阅读,更多相关《交通灯控制系统设计含全部程序文档格式.docx(49页珍藏版)》请在冰豆网上搜索。
Citytrafficcontrolsystemisacitytrafficdatamonitoring,trafficsignalcontrolandtrafficmanagementcomputersystem,itisthemostimportantpartofthemoderncitytrafficcontrolsystem.However,withtherapidgrowthofcitytrafficandhighspeedroadandcontrol,someroadsappearoverloadsituation.Therefore,howtousetheappropriatemethodoftrafficcontrol,themaximumutilizationofcityroadconstruction,easetrafficjamssituationwiththesurroundingareaofthemainroadandtheramp,thecity.Therefore,in-depthstudy,
Invehicletrafficbusycrossroadstrafficordertoachieveeverythingingoodorderandwellarranged,thiswillbethetrafficsignallampcontrolsystem.Alotoftrafficsignalcontrol.Thesystemadopts51SeriesMCUSTC89C51andprogrammableparallelI/Ointerfacechip89C52centricdevicestodesignthetrafficlightcontroller,realizedthecrossroadsredyellowgreenlightalternately,andthereleaseandtheforbiddentimecountdowndisplay,thesystempractical,simpleoperation,strongfunctionexpansion.
Keyword:
MCU;
STC89C52;
trafficlights
第一章绪论
1.1交通灯的背景与设计意义
1.1.1交通灯的背景
随着科技的不断进步和各种交通工具的迅速发展,为了使交通指挥的更加有序的运行需要,第一盏名副其实的三色灯(红、黄、绿三种标志)于1918年诞生。
起始它是三色圆形四面投影器,被安装在纽约市五号街的一座高塔上,由于它的诞生,使城市交通大为改善。
黄色信号灯的发明者是我国的胡汝鼎,他怀着“科学救国”的抱负到美国深造,在一次偶然的事件中他终于想到在红、绿灯中间再加上一个黄色信号灯,提醒人们注意危险。
他的建议立即得到有关方面的肯定。
于是红、黄、绿三色信号灯即以一个完整的指挥信号家族,遍及全世界的交通领域。
1.1.2设计意义
随着我国经济的高速发展,车辆的数量与日俱增,无疑会给道路交通带来沉重的压力,很多大城市都不同程度的受到交通堵塞问题的困扰。
为了解决交通堵塞问题,使车辆高效、安全的出行因此设计出以人性化、智能化为目的的交通控制系统。
科学的交通控制系统对资源物流和人们的出行都十分有价值的,从而保证交通线路的畅通安全。
基于传统交通灯控制系统设计存在一定的缺陷,红绿灯交替时间固定和各种特殊情况。
因此,智能交通灯控制系统的设计就更加的重要以及研究意义,它能根据道路交通状况,交叉路口出现拥堵等情况。
利用单片机控制技术,运用软件硬件相互结合,提出智能交通灯控制系统设计的设计方案,使道路能够实现高速、有效、安全的运行。
1.2设计的目的
交通灯控制系统设计研究的发展,旨在解决人类交通因需求的增多而带来的出行及安全问题,由于道路建设的暂时不足和交通工具的快速增长,就要使更多的车辆安全高效的利用有限的道路资源,避免无序和抢行等无控制原因造成的不必要阻塞甚至瘫痪,另外,针对整个交通线路车辆多少实时调整和转移多条线路的分流也十分必要。
交通网络是城市的动脉,象征着一个城市的工业文明水平。
现在各大城市交通建设已初具规模,而部分小城市建设日益加快,交通控制的提高势在必行,研发交通控制技术是十分有潜力的。
具有优良科学的交通控制技术对资源物流和人们出行都是十分有价值的,保证交通线路的畅通安全,才能保证出行通畅,物流准时到位,甚至是生命通道的延伸。
1.3交通灯国内外发展现状
当前世界各国广泛使用的最具代表性却有实施的城市道路交通信号控制系
统有英国的TRANSYT与SCOOTS交通控制系统和澳大利亚的SCATS系统。
在信号机的发展历程中,自适应理论一直受到各研究机构的欢迎,比如上面所述的SCOOTS和SCATS系统。
最近几年,国外仍偏向于引进自适应理论来对交通信号控制系统进行研制,特别是美国有十几个大学或研制机构正在研制自适应交通信号控制系统,具有代表性的有美国亚利桑那大学研制的RHODES。
我国交通领域的发展起步较晚,基本是从新中国建国之后,随着各方面的条件的成熟以及社会发展的要求,才建立及健全交通控制系统的,主要引用国外的交通控制系统。
各级交通管理部门通过技术引进和自主创新,在中国部分大中城市里,摒弃旧有的控制方式,一些先进的控制技术得到应用。
虽然在整体规模和层次上与世界发达国家还有不少差距,但部分领域技术水平已处于世界先进位置。
目前,我国交通控制系统己不单单是对交叉口信号灯进行控制,而是集交叉口信号的控制和干线控制以及现代城市高速公路交通控制于一体的混合型交通,实现区域信号控制和城市高速公路集成控制.
1.4交通灯的功能与作用
交通信号灯的出现,使交通有了很大的改观,对于交通流量的控制,提高道路高效、安全的通行能力,减少交通事故有显著地效果。
1968年,联合国《道路交通和道路标志信号协定》对交通信号灯的含义作了明确的规定。
绿灯是通行信号,绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。
左右转弯车辆都必须让正在路口行驶的非机动车辆和过人行横道的行人优先通行。
红灯是禁止通行信号,红灯的车辆必须在路口的停车线后停车。
黄灯是警告信号,黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。
第二章系统总体方案设计
2.1交通灯控制系统设计方案
交通信号灯设在十字路口,分为东西向(A方向)和南北向(B方向),在任一时刻只有一个方向通行,相反,另一方向禁行,持续一定时间,经过短暂的黄灯过渡时间,将A、B两个方向的通行方向对换。
其具体状态如下图2-1所示。
说明:
黑色表示该灯亮,白色表示该灯灭。
交通通行状态从状态1开始变换,直至状态4,然后循环到状态1,如图下图(图2-1)所示:
直至状态4然后循环至状态1,通过路口交通灯状态的演示分析我们可以把这四个状态归纳如下:
图2-1交通状态
(1)东西方向绿灯亮,南北方向红灯亮。
此状态下,东西向允许通行,南北向禁止通行。
(2)东西方向黄灯亮,南北方向红灯亮。
此状态下,除了已经正在通行中的车辆外其他所有车辆都需等待状态转换。
(3)南北方向绿灯亮,东西方向红灯亮。
此状态下,东西向禁止通行,南北向允许通行。
(4)南北方向黄灯亮,东西方向红灯亮。
此状态下,除了已经正在通行中的车辆外其他所以车辆都需等待状态转换。
下面我们用表格记录交通灯状态和行止状态的关系如下表所示:
表2-1交通状态及红绿灯状态
状态1
状态2
状态3
状态4
东西向
通行
等待变换
禁行
南北向
东西红灯
1
东西黄灯
东西绿灯
南北红灯
南北绿灯
南北黄灯
交通灯在该十字路口东西南北方向均有红绿黄3个信号灯和数码显示管2个,状态及红绿灯状态如表2.1所示。
0表示灭,1表示亮。
2.2交通灯控制系统的功能描述
本设计的交通灯控制系统能实现基本的交通控制,用红绿黄三种信号灯表示禁行,通行和等待信号灯的转换,并且还具有倒计时显示,车流量检测及调整功能。
2.2.1倒计时显示
倒计时显示该功能能够提醒驾驶员在信号灯相互转换期间,在“禁行”和“通行”两者之间作出合适的选择。
驾驶员和行人在路口时、车流量大时都愿意选择有倒计时显示的信号控制方式,普遍都认为有倒计时显示的路口更安全。
倒计时显示是用来驾驶员在信号灯色转换的时刻做出正确的判断,便于减少交通事故的发生率,使车辆和行人都能高效、安全的出行。
2.2.2车流量的检测与调整
随着我国经济建设和科技的迅速发展,城市人口和机动车辆在与日俱增,交通运行量越来越大,交通拥挤、堵塞和事故现象日趋严重。
车辆检测作为智能交通系统的组成部分,在智能交通系统具有极其重要的地位。
从目前的情形来看,车辆检测的检测方式有很多,各有优缺点。
例如:
红外线检测器、地磁检测器、机械压电检测器,磁频检测器、波频检测器、视频检测器等。
通常车流量检测采用传感器、单片机及其外围电路来实现。
而且,目前国内使用的红绿黄信号灯都是固定的红绿黄灯时间,并自动切换。
在智能交通系统中红灯时间和绿灯时间,是根据路口东西向和南北向的车流量,利用统计方法确定的。
2.3交通灯控制系统的基本构成及原理
交通灯控制系统利用51单片机设计,单片机可以直接控制红绿黄信号灯的状态变化,基本上可以控制交通的正常通行。
接入LED数码管就可以显示倒计时时间来提醒驾驶员及行人,这使交通控制系统更具人性化。
本交通灯控制系统设计在此基础上加入了车流量检测电路,单片机对此进行具体处理,及时调整红绿黄信号灯的时间控制。
如图(图2-2)所示:
图2-2系统的总体框图
本交通灯控制系统以STC89C52单片机为控制核心,连接成最小系统,由车流量检测模块,信号灯状态模块,LED倒计时模块。
系统的总体框图如上所示。
给该系统上电,系统进入正常运行状态,执行交通信号灯循环显示的状态控制,同时将倒计时时间数据输入到LED数码管上实时显示。
在此过程中还要实时车流量的检测便于及时的调整红绿黄信号灯的禁行与通行时间,从而提高车辆及行人的通行效率。
因此满足不同路况的需要。
第三章系统硬件设计
3.1单片机简介及其外围电路
3.1.1单片机型号选择及简介
单片机属于控制类芯片,目前其应用领域非常广泛。
(1)工业自动化。
如数据采集,测控技术。
(2)智能仪器仪表。
如数字示波器、数字信号源、数字万用表、感应电流表等。
(3)消费类电子产品。
如洗衣机、电冰箱、电视机等。
(4)通信方面。
如调制解调器、程控交换技术等。
(5)武器准备。
如飞机、军舰、坦克、导弹等。
单片机的特点:
(1)性价比高,开发周期短,易于产品化,
(2)集成度高,可靠性好,抗干扰性强,
(3)功能完善,接口多样,
(4)低功耗、低电压
一般电源供电电压在5V范围内单片机都能正常工作,供电的下限可达1~2V。
(5)总线多样,易于扩展单片机外部的典型三总线结构,方便系统构扩展,构成各种规模的应用系统。
外部总线增加了I2C及SPI等串行总线方式,可根据需要进行并行或者串行扩展。
本系统采用的主控芯片是STC89C52(管脚图如图3-1)所示:
图3-1
STC89C52是一种低电压,高性能CMOS8位单片机,片内含8KBYTES的可反复擦写的只读程序存储器(EPROM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准的80C51和80C52产品的指令系统和引脚兼容,芯片擦写允许程序存储器在系统内部或一个普通的非易失存储器的程序员所改写。
片内置通用8位中央处理器(CPU)和FLASH存储单元,功能强大的STC89C52单片机适用于许多较为复杂控制应用场合。
STC89C52提供以下标准功能:
8K字节FLASH闪速存储器,256字节内部RAM,32个I/O口线,3个16位定时/计数器,一个6向两级中断结构,一个全双工串行通信口,片内振荡器及时时钟电路:
同时,STC89C52可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
管脚说明:
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为低八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为STC89C52的一些特殊功能口,如下所示:
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(计时器0外部输入)
P3.5T1(计时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
XTAL1:
它在单片机内部是一个反向放大器的输入端,构成了片内振荡器。
当采用外部时钟时,HMOS单片机的该引脚应接地;
CHMOS单片机的该引脚作为外部振荡信号的输入端。
XTAL2:
它在单片机内部是片内振荡器的反向放大器的输出端。
当采用外部时钟时,HMOS单片机的该引脚作为外部振荡信号的输入端;
CHMOS单片机的该引脚应悬空不接
3.1.2单片机最小系统电路
单片机最小系统以STC89C52为核心,外加时钟电路和复位电路,电路结构简单,抗干扰能力强,成本相对较低,非常符合本设计的所有要求。
时钟电路在单片机的外部通过XTAL1,XTAL2这两个引脚跨接晶体振荡器和微调电容,构成稳定的自激振荡器.本系统采用的为11.0592MHz的晶振,一个机器周期为1us,C2,C3为30pF。
复位电路分为上电自动复位和按键手动复位,RST引脚是复位信号的输入端,复位信号是高电平有效.上电自动复位通过电容C3和电阻R?
来实现。
3.2系统硬件电路构成
本系统以STC89C52单片机为核心,组成一个集车流量采集、处理、自动调整通行时间为一身的控制系统。
系统硬件电路由车流量检测电路、单片机、状态灯、数码管显示构成。
其中P2.0~P2.6口,用于数码管显示倒计时时间,P0.0~P0.5用于控制红绿黄发光二极管,XTAL1和XTAL2接入晶振时钟电路,REST引脚接上复位电路,P3.2、P3.3即INT1、INT2接车流量检测电路。
3.3系统工作原理及电路图
系统上电或复位之后,系统按正常模式运行,正常模式运行红绿灯时间固定红灯时间为50秒,绿灯时间40秒,黄灯时间10秒。
接下来,系统必须按照信号灯的系显示通过数码管倒计时,将要显示的数值按照程序显示。
计时时间满一秒,显示时间减一。
时间到达一个状态所要全部时间,则要进行下一状态判断及衔接,并显示下一状态的所对应的时间值。
在此同时按照正常运行的模式下,车流量检测电路检测车辆的数目,当车流量在小于等于5的范围内则按照正常模式运行,当车流量大于5小于等于10时,则按照红灯70秒,绿灯60秒,黄灯10秒的规律运行,当车流量为其它数目是则按照红灯90秒,绿灯80秒,黄灯10秒运行。
电路原理图如下所示:
3.4信号灯显示模块
根据交通灯控制系统的设计特点,红绿黄信号灯的显示是必不可少,红绿黄灯的显示采用普通的发光二极管。
每个方向上设置一组红绿黄灯,总共4组。
如果东西红灯亮,那南北方向就是绿灯亮,在绿灯转换为红灯时在这之间有一个黄灯的缓冲时间,在此之间东西依然为红灯,反之亦然,所以在硬件上连接图上也是对称分布的,本系统是利用单片机的p0口来驱动和控制红绿黄信号灯的亮和灭,在实际中,交通灯的信号灯需要用高电压控制,我们只是模拟一下它的控制信号,所以可以用单片机的信号引脚直接来控制发光二极管如下图所示:
3.5倒计时显示模块
数码管显示原理:
最常用的是七段式和八段式LED数码管,八段比七段多一个小数点,其他的功能基本相同。
八段数码管就是指数码管里有八个发光二极管,通过控制不同的发光二极管的亮灭来显示出不同的数字。
数码管又分为共阴极和共阳极两种类型,共阴极就是将八个发光二极管的阴极连在一起接地,这样给任何一个LED的另一端高电平,它便能点亮。
而共阳极就是将八个LED的阳极连在一起。
公共端,共阴数码管要将其接地,共阳数码管将其接正5伏电源。
一个八段数码管称为一位,多个数码管并列在一起可构成多位数码管,它们的段选线(即a,b,c,d,e,f,g,dp)连在一起,而各自的公共端称为位选线。
显示时,都从段选线送入字符编码,而选中哪个位选线,那个数码管便会被点亮。
数码管的8段,对应一个字节的8位,a对应最低位,dp对应最高位。
本系统选用通过P2口
用做输出显示控制口,
数码管采用七段式数码管即LG4021BH动态显示方式实现倒计时读秒,并且本系统数码管采用共阳极接法,共阳极接法如图所示:
为了达到对红绿黄灯之间的转换控制,提醒驾驶员和行人安全通行,实现对路口红绿黄灯时间进行倒计时。
这样就可以大大提高车辆安全通过,有效安全的通行。
3.6车流量检测控制模块
本系统通过单片机p3.2、p3.3口控制激光对管实现对十字路口的车流量检测,通过系统上电后,交通灯系统按照正常模式运行,红灯禁行时间为50秒,绿灯通行时间为40秒,黄灯缓冲为红灯和绿灯转换时间为10秒。
当车流量超过5小于等于10时红灯禁行时间为70秒,绿灯通行时间60秒,黄灯时间为10秒。
当车流量为其他数时红灯禁行时间为90秒,绿灯通行时间为80秒,黄灯时间为10秒,东西方向和南北方向过程是相同的。
具体的电路如下图所示:
第四章软件设计
4.1主程序流程图
系统的主程序开始运行时,系统初始化,检测红绿黄灯的状态字是否改变,如果改变切换红绿黄灯的状态,若没有改变看红黄绿黄灯的持续时间控制字是否改变,如果改变则改变红绿黄灯的持续时间,然后继续循环检测,若没有改变则直接循环到初始状态。
主程序流程图如下所示:
具体程序如下:
voidmain(void)
{
DISNumA=GHBtime+YHtime;
//A'
redtime
DISNumB=GHBtime;
//b'
greentime
Init_Timer0();
//初始化外部定时器0中断
ExternItrptInit();
//初始化外部中断
allInterruptEna;
//总中断使能
while(true)
{
if(FLAG_GetDisNum)
{
FLAG_GetDisNum=0;
RGY_CutControl();
TableNum[3]=(DISNumA>
>
1)%100/10;
TableNum[2]=(DISNumA>
1)%10;
TableNum[1]=(DISNumB>