智能交通灯基于车流量自动调时概要.docx
- 文档编号:30247608
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:28
- 大小:336.58KB
智能交通灯基于车流量自动调时概要.docx
《智能交通灯基于车流量自动调时概要.docx》由会员分享,可在线阅读,更多相关《智能交通灯基于车流量自动调时概要.docx(28页珍藏版)》请在冰豆网上搜索。
智能交通灯基于车流量自动调时概要
2015届本科毕业设计
基于单片机的多功能交通灯设计
院(系)名称
物理与电子信息学院
专业名称
电子信息科学与技术
学生姓名
苑大彪
学号
110524065
指导教师
王招娣助教
完成时间
2015年5月8日
基于单片机的多功能交通灯设计
苑大彪
物理与电子信息学院电子信息科学与技术专业学号:
110524065
指导教师:
王招娣
摘要:
本文是以AT89S51单片机为核心器件设计了一种多功能交通灯控制器系统。
该系统可完成十字路口东西南北方向的交通灯定时控制及实时路况车流量检测的任务,它不仅可以工作在固定计数模式下,而且可通过红外传感器装置实时检测南北和东西方向连续几次的车流量,并将其与系统设置的阈值进行对比完成自适应计时调节,最后通过控制红黄绿灯的循环点亮的方法,显示输出结果。
本文通过proteus硬件仿真软件对系统结果进行测试,结果表明系统能够准确的根据车流量自动调控红绿灯时长,具有一定的使用价值。
关键词:
车流量检测;自适应调节;定时;多路复用
DesignofMulti-functionalTrafficLightBasedonSingle
ChipMicrocomputer
YuanDa-biao
CollegeofPhysicsandElectronicInformationElectronicInformationScienceandTechnology
No:
110524065
Tutor:
WangZhao-di
Abstract:
ThisarticleisbasedonAT89S51microcontrollerasthecoredesignofamultifunctionaltrafficlightcontrolsystem.ThesystemcanrealizethecrossroadsofEastandWestdirectiontrafficlighttimingcontrol,completedthetaskofreal-timetraffictrafficdetection,Itcannotonlyworkatafixedcountmode,andcanbedetectedinrealtimebyaninfraredsensordevicenorth-southandeast-westtrafficflowsuccessive,andwiththethresholdsetbythesystemcomparedtoperformingadaptivetimingadjustment,finallycontrollingthetrafficlightdisplayoutputresults.Byusingproteushardwaresimulationtotestthesystem,Theresultsshowthatthesystemcanaccuratelyautomaticcontrolaccordingtothetraffic.Itshowsthatithasacertainvalue.
Keywords:
Trafficdetection;Automaticadjustment;Timing;Multiplexers
目录
1绪论1
1.1引言1
1.2课题研究的目的及意义1
2系统方案设计2
2.1自动模式设置2
2.2绿灯工作模式设置3
2.3交通管理的方案论证3
3硬件系统设计4
3.1单片机概述4
3.2单片机最小系统6
3.2.1时钟电路模块6
3.2.2复位电路模块7
3.2.3系统电源设计7
3.2.4按键功能介绍8
3.3系统硬件电路设计9
3.3.1硬件设计框图9
3.3.2红外收发传感电路9
3.3.3稳压芯片选型9
3.3.4数码管显示电路设计10
3.4本章小结11
4软件系统设计11
4.1软件总体设计方案11
4.2部分软件功能介绍12
4.2.1延时设置12
4.2.2软件延时去抖动14
4.2.3手动模式选择14
4.2.4自动模式切换15
4.3本章小结16
5仿真结果及分析17
5.1Proteus软件介绍17
5.2硬件仿真分析17
总结19
致谢19
参考文献20
1绪论
1.1引言
随着我国经济的高速发展,城市中人口越来越多,居民出行的次数和机动车数量不断增加,城市道路拥挤、车流量不均衡的问题日益严重。
人们常常会为道路的拥挤,交通秩序的混乱,而导致的出行时间过长等交通问题倍感苦恼。
交通堵塞既增加了人们的出行时间,又无形中增加了日常车辆的耗油,损失了经济也浪费了能源。
交通的堵塞,造成车辆不断的加速刹车,间接的增加了燃料耗费,加重了环境污染,降低市民的生活品质,影响人们的身心健康。
有时候遇到紧急情况,例如120、消防,也可能因为交通的堵塞而造成无法挽回的损失。
如此看来,提高城市交通的运行能力,实现交通的科学化管理迫在眉睫。
如何才能保持城市交通的安全便捷,高效畅通和绿色环保,已成为政府政策规划的一个重要参考[1,2]。
为了缓解城市交通的堵塞,相关部门从以下几个方面进行了考虑[3]:
1)拓宽道路
此方法是解决交通堵塞的最基本方法,因为当汽车使用率增加时,就需要有更多的道路来容纳车流。
不过此方法仅能“增加”道路的面积,而无法“根治”交通的堵塞,因为汽车数量并未随之减少。
即便方案可行,但投入巨大,短时间内也见不到成效。
2)减少道路交叉
既通过架设高架桥和开发地铁等方式,减少车辆在道路上遇红绿灯停行的时间,在治理交通堵塞方面有一定的作用,但和拓宽道路一样,成本很高,短时间见不到效果。
3)交通信号灯控制系统
通过道路上的车流量,调整信号灯的周期,使得道路交叉口的停堵时间减少,以期达到高架和地铁的效果,让车辆少停快行,从而有效缓解交通的堵塞。
1.2课题研究的目的及意义
该方案主要涉及根据检测车流量自动调整绿灯时长和闯红灯的简单控制。
1)检测车流量以自动调整绿灯时长
传统的交通灯控制方法大多是以路口的状况,按丁字、十字与多路口分时段进行红绿黄灯控制,实现各路口依次通行,常常存在车多的路向绿灯通行时间短、无车或少车的路向却亮着绿灯的情况,为克服这种少车路向绿灯时无车通行,多车路向绿灯通行时间短而堵车的现象,在不增加成本的情况下,结合现实的情况,我们把车流量分成空闲(双向车流量都不大)、单忙(只一个方向的车流量大)、双忙(双向车流量都大)三种情况(例如上下班、节假日期间车流量较大,工作日车流量较小),用软件实现检测一段连续时间内的车流量,以实现交通灯的自动简单控制。
2)闯红灯
该功能主要是为了处理交通管理中的紧急情况,在交通信号灯正常工作的基础上,增加的紧急优先处理功能,如消防、急救等需要闯红灯的情况出现时,东西南北方向的红灯会均闪烁数秒,待紧急情况处理后,交通信号灯又恢复到之前的工作状态。
2系统方案设计
2.1自动模式设置
结合现实中的情况,我们把车流量分成空闲(双向车流量都不大)、单忙(只一个方向的车流量大)、双忙(双向车流量都大)三种情况,例如上下班、节假日期间车流量较大,夜间车流量较小,通过红外传感器检测绿灯车道的车流量,在黄灯阶段,通过比较检测到的值和预设的值,判断车流量的大小。
我们采用比较连续几次的车流量来决定绿灯时长是否切换。
以3次为例,分析东西方向,只有连续3次东西方向的车流量大于预设值,再判断为忙,反过来,只有连续3次东西方向的车流量小于预设值,才能由忙切换为闲,倘若不满足连续的要求,工作模式既保持不变。
程序中考虑路况车况,可以调整检测连续次数的大小,并有指示灯提示当前要检测的连续次数。
如下图,从左至右的四个LED灯,采用8421的方法编码表示连续的次数,亮代表1,灭代表0,其中最左边的红灯,亮代表工作在自动调节模式,灭代表工作在手动调节模式。
图1手动时指示灯显示图2自动时绿灯连续检测2次时指示灯显示
2.2绿灯工作模式设置
交通灯为手动调整模式时,具体绿灯时长模式选择由按键S2控制,模式选择提示由倒计时牌上数码管的dp显示,交通灯工作在自动调整模式时,绿灯时长模式自动切换,数码管上的dp自动显示,具体绿灯时长模式如表1。
表1模式设置
车流量(模式)
空闲
单忙(东西)
单忙(南北)
双忙
Dp1(十位小数点)
灭
灭
亮
亮
Dp2(个位小数点)
灭
亮
灭
亮
南北通行时间
30s
30s
60s
60s
东西通行时间
45s
75s
45s
75s
图3两位数码管的dp1和dp2
2.3交通管理的方案论证
东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。
红灯亮禁止通行,绿灯亮允许通行。
黄灯亮提示人们注意红、绿灯的状态即将切换。
以车流量为空闲时为例,指示灯燃亮的方案如表2。
表2指示灯燃亮规则
时间
40S
5S
25S
5S
……
南北道
红灯亮
红灯亮
绿灯亮
黄灯亮
……
东西道
绿灯亮
黄灯亮
红灯亮
红灯亮
……
说明:
1)当南北道为绿灯,此道车辆、行人可通过,绿灯时长25秒;东西方向为红灯,此道车辆、行人禁止通行,红灯时长30秒。
2)南北方向变为黄灯时,燃亮5秒,警示车辆和行人红、绿灯的状态即将切换,此时东西方向依旧为红灯,禁止车辆通行。
3)当南北方向为红灯,南北道车辆、行人禁止通过,红灯时长45秒;东西方向为绿灯,此道车辆通行,绿灯时长40秒。
东西方向车流大通行时间长。
4)东西方向变为黄灯时,燃亮5秒,警示车辆和行人红、绿灯的状态即将切换。
南北方向依旧是红灯,禁止车辆通行。
5)这样如上表所示红、绿、黄依次出现,行人和车辆就能安全畅通的通行。
6)有闯红灯时,东西南北方向的红灯都闪烁,为消防、急救等车辆让道。
时间为6秒。
7)此表可根据车流量动态设定红绿灯初始值。
3硬件系统设计
3.1单片机概述
单片微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。
单片微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。
通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:
中央处理器、存储器和I/O接口电路等。
因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。
AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案[4]。
AT89S51(如图4)具有如下特点:
40个引脚,4kBytesFlash片内程序存储器,256bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,6个中断源,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
下面重点介绍其中部分引脚特性:
Vcc:
电源端,接+5V。
Vss:
接地端。
P0口(P0.0~P0.7):
该端口为漏极开路的8位准双向口,它为8位地址线和8位数据线的复用端口,使用时需接外部上拉电阻。
在访问外部程序存储器时,它作存储器的低8位地址线。
图4AT89S51管脚图
P1口(P1.0~P1.7):
它是一个内部带上拉电阻的8位准双向I/O口,作为输入口使用时,应先向其内部锁存器写1。
P2口(P2.0~P2.7):
它为一个内部带上拉电阻的8位准双向I/O口,作为输入口时同样需先向其内部锁存器写1。
在访问外部程序存储器时,它作存储器的高8位地址线。
P3口(P3.0~P3.7):
P3口同样是内部带上拉电阻的8位准双向I/O口,P3口除了作为一般的I/O口使用之外,其还具有第二引脚功能,具体如表3所示。
表3P3口线的第二功能
口线
特殊功能
信号名称
P3.0
RXD
串行输入口
P3.1
TXD
串行输出口
P3.2
INT0
外部中断0输入口
P3.3
INT1
外部中断1输入口
P3.4
T0
定时器0外部输入口
P3.5
T1
定时器1外部输入口
P3.6
WR
写选通输出口
P3.7
RD
读选通输出口
XTAL1:
接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,若使用外部TTL时钟时,该引脚接外部时钟的输入端。
XTAL2:
接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出,若使用外部TTL时钟时,该引脚必须悬空。
地址锁存允许信号ALE:
系统扩展时,ALE用于控制地址锁存器锁存P0口输出的低8位地址,从而实现数据与低位地址的复用。
此外,ALE是以六分之一晶振频率的固定频率输出的正脉冲,可作为外部时钟或外部定时脉冲使用。
外部程序存储器读选通信号PSEN:
PSEN是读外部程序存储器的选通信号,低电平有效。
访问程序存储器控制信号EA:
当为高电平时,CPU执行片内程序存储器指令,但当PC中的值超过0FFFH时,将自动转向执行片外程序存储器指令。
当为低电平时,CPU只执行片外程序存储器指令。
复位信号RST:
该信号高电平有效,在输入端保持两个机器周期的高电平后,就可以完成复位操作。
3.2单片机最小系统
最小系统由这四部分组成:
单片机、电源、时钟电路、复位电路,电路图如图6。
3.2.1时钟电路模块
时钟电路在单片机系统中起着非常重要的作用,是保证系统正常工作的基础。
在一个单片机应用系统中,时钟是保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢。
根据不同需要可以采用不同频率的晶振,这里采用12MHz的晶振,另外有两个33pF的电容,两晶振引脚分别连到XTAL1和XTAL2振荡脉冲输入输出引脚。
具体连接图如图5所示[4]。
外接石英晶体或陶瓷谐振器以及电容C1,C2接在放大器的反馈电路中构成并联谐振电路。
谐振器本身对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度以及温度的稳定性,如果使用石英晶体,推荐使用33pF,而使用陶瓷谐振器建议选择40pF。
图5时钟电路
图6单片机最小系统
3.2.2复位电路模块
单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。
89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。
当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。
除进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,可以按复位键以重新启动,也可以通过监视定时器来强迫复位。
具体电路如图7所示。
3.2.3系统电源设计
为51系列单片机系统提供的电源为稳定的5V直流电源。
本系统用一个7805芯片为系统提供稳定的5V直流电源。
7805稳压芯片能提供多种固定的输出电压,应用范围广。
内部含过热保护,短路保护,输出电流可达1A。
虽然该芯片是固定稳压电路,但使用不同的外接元件,可获得不同的输出电压。
25℃时输出电压范围为5~18V。
本系统7805的输入电压为9V直流电压。
9V直流电压可用普通干电池提供,也可以用市面上很容易买到的普通变压器提供。
7805对输入电压要求不高,但输入电压一般应大于所需输出电压2V以上[5]。
图7复位电路
在7805与9V电源之间用一个IN4001整流二极管来提高系统的安全性。
IN4001能提供正向最大电流1A,最大反向峰值电压50V,防止了电源反接或电源不稳定给系统带来的安全隐患。
7805的5V调控输出采用生产该芯片的公司提供的经典电路。
在输出端5V电压处接一个蓝色发光二极管来作为电源指示灯。
具体电气连接如图8所示。
图8电源电路
3.2.4按键功能介绍
本系统一共用到五个按键,除了一个用于单片机功能复位外,其中三个采用了功能复用。
按键S0和S1分别表示东西和南北车道上的红外传感器,其工作原理一样,以东西方向的S0为例,东西方向为红灯时,S0按下,表示东西车道上有急救车辆闯红灯,单片机会做出反应,东西南北车道上的绿灯均熄灭,红灯均闪烁,警示车辆让道;东西方向为绿灯时,交通灯工作在手动模式下时,红外传感器不检测车流量,按下S0无反应;交通灯工作在自动模式下时,每按下一次S0表示东西车道有一辆车通过,模拟红外传感器检测车流量,待东西方向变为黄灯时,将绿灯时检测到的车流量与系统预定值比较,判断此次通行是忙还是闲,以此自动调节东西车道的绿灯时长。
按键S2采用了功能复用,与按键S搭配使用。
S键控制的是交通灯的工作模式切换,其状态显示由标号为S的LED表示,S亮时,表示工作在自动模式下,S灭时,表示工作在手动模式下。
在自动模式下,按键S2用于调整需要检测的连续绿灯次数,LED灯S22、S21、S20运用8421的编码方式排列,表示需要检测的绿灯次数;在手动模式下,按键S2用于切换车道的闲忙模式,通过数码管的小数点表示,亮表示忙,灭表示闲。
3.3系统硬件电路设计
3.3.1硬件设计框图
本系统基于单片机AT89S51所设计,附有系统电源、时钟电路、复位电路、数码管显示电路等,具体如图10所示。
3.3.2红外收发传感电路
本系统通过红外线发射二极管和接收管检测车道是否有车辆通过。
红外线二极管发射红外光,如果该车道有车辆通过,红外线从车辆反射回来,相当于人眼睛的红外接收器,检测到反射回的红外光线,并发出信号来表明检测到从车辆反射回的红外线,单片机基于这个传感器的输入检测车流量。
红外接收管/检测器有内置的光滤波器,除了需要检测的980nm波长的红外线外,它几乎不允许其他光通过。
红外检测器还有一个电子滤波器,它只允许大约38.5kHz的电信号通过。
换句话说,检测器只寻找每秒闪烁38500次的红外光。
这就防止了普通光源像太阳光等对红外接收管的干扰。
太阳光是直流干涉(0Hz)源,它完全被红外探测器忽略[5]。
仿真过程红外传感器用按键代替。
3.3.3稳压芯片选型
7805为3端稳压集成电路,TO-220封装,能提供多种固定的输出电压,应用范围广。
内含过流、过热和过载保护电路。
带散热片时,输出电流可达1A。
虽然是固定稳压电路,但使用外接元件,可获得不同的电压和电流[6-8]。
引脚排列如图9:
主要特点:
1)输出电流可达1A
2)输出电压有:
5V
3)过热保护
4)短路保护图97805
5)输出晶体管SOA保护
图10总电路图
3.3.4数码管显示电路设计
数码管按段数分为7段数码管和8段数码管。
7段数码管是由七段条形发光二极管组成的“8”字形的LED显示器,每段分别用a、b、c、d、e、f、g表示;8段数码管则是在7段的基础上再加一个圆点型发光二极管,用dp表示。
由于连接方式的不同,数码管又分共阳极接法和共阴极接法,接法不同,段码值不同[6-8]。
在该设计中采用共阴极接法,具体段码值确定如表3。
表3采用共阴极连接
显示数值
dpgfedcba
驱动代码(16进制)
0
00111111
3FH
1
00000110
06H
2
01011011
5BH
3
01001111
4FH
4
01100110
66H
5
01101100
6DH
6
01111100
7DH
7
00000111
07H
8
01111111
7FH
9
01101111
6FH
3.4本章小结
本系统基于单片机AT89S51所设计,附有系统电源、时钟电路、复位电路、数码管显示电路等,硬件电路十分简洁,且对元器件参数无特殊要求,只需采用各元器件厂家推荐的经典电路就可以满足设计的需要,需要的成本很低。
简易的硬件需求,使得该系统能够很方便的投入使用和维护。
4软件系统设计
4.1软件总体设计方案
软件设计部分采用模块化程序设计,用C语言编写。
Keil是美国KeilSoftware公司出品的51系列兼容单片机C语言软件的开发系统,与汇编相比,C语言在功能、结构、可读性、可维护性上有明显的优势,易学易用[9]。
本次单片机课程设计软件设计部分采用模块化程序设计,程序部分由主程序、T0中断程序、T1中断程序、数码管显示子程序、延时子程序等组成。
其程序流程图如图11所示。
4.2部分软件功能介绍
4.2.1延时设置
延时方法分两种:
一种是硬件延时,利用MCS-51内部定时器产生溢出中断来延时,另一种是软件延时。
在此采用计数器硬件延时与软件延时相结合的方法来实现延时1s,采用软件延时解决按键的抖动问题。
计数器硬件延时1S:
1)计数器初值计算[9]
定时器工作时必须给计数器送计数器初值,这个值是送到TH和TL中的。
他是以加法记数的,并能从全1到全0时自动产生溢出中断请求。
因此,我们可以把计数器记满为零所需的计数值设定为C和计数初值设定为TC可得到如下计算通式:
TC=M-C
式中,M为计数器模值,该值和计数器工作方式有关。
在方式0时M为213;在方式1时M的值为216;在方式2和3为28
2)计算公式
T=(M-TC)T计数或TC=M-T/T计数
其中T计数是单片机时钟周期TCLK的12倍;TC为定时初值。
例如单片机的主脉冲频率为12MHz,经过12分频,计数频率就是1MHz,计数周期为1us,所以
方式0 TMAX=213*1微秒=8.192毫秒
方式1 TMAX=216*1微秒=65.536毫秒
显然1秒钟已经超过了计数器的最大定时时间,所以我们只有采用定时器和软件相结合的办法才能解决这个问题。
3)延时1秒的方法
我们采用在主程序中设定一个初值为20的软件计数器,使T0定时50毫秒。
这样每当T0到50毫秒时CPU就响应它的溢出中断请求,进入他的中断服务子程序。
在中断服务子程序中,CPU先使软件计数器减1,然后判断它是否为零。
为零表示1秒已到可以返回到输出时间显示程序。
图11系统流程图
4)相应程序代码
(1)主程序
voidinit(void)
{
TMOD=0x01;
EA=1;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
ET0=1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 交通灯 基于 车流量 自动 概要
![提示](https://static.bdocx.com/images/bang_tan.gif)