基于单片机的交通灯控制系统设计Word下载.docx
- 文档编号:22189329
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:33
- 大小:241.37KB
基于单片机的交通灯控制系统设计Word下载.docx
《基于单片机的交通灯控制系统设计Word下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的交通灯控制系统设计Word下载.docx(33页珍藏版)》请在冰豆网上搜索。
2.4交通灯控制系统的总体4
3交通控制系统设计及理论4
3.1程序主体设计流程4
3.2交通控制系统的理论依据5
4交通灯控制系统的硬件、软件支持6
4.1AT89S51单片机简介6
4.2AT89S51芯片最小系统7
4.3系统设计中Keil软件作用8
4.4proteus硬件仿真软件8
5系统总电路的设计原理及各模块8
5.1系统硬件总电路构成及原理8
5.2系统工作原理8
5.3各控制模块9
5.4违规检测电路及模拟12
结论15
致谢16
参考文献17
附录一:
总电路图18
附录二:
程序19
1引言
1.1交通灯控制系统的研究现状
如今,红绿灯安装在各个路口,成为疏导交通车辆最常见和最有效的手段。
这一技术在19世纪就已出现了。
从采用计算机控制到现代化的电子定时监控,交通信号灯在科学化、自动化上不断地更新、发展和完善。
但是,随着社会的不断进步,传统的交通灯的缺陷也日益出现,其中设计过于死板,达不到道路的最大通行效率是最明显的问题,红绿灯交替变换时间过于程式化。
目前,大部分城市的十字路口的交通控制灯,通常的做法是:
事先经过车辆流量的调查,利用传统的方法设计好红绿灯的延时,然而,实际上的车流量是不断变化的,有的路口在不同的时间段车流量的大小甚至有很大的差异,所以说,统计的方法己不能适应迅速发展的交通现状。
1.2基于单片机的交通灯控制系统设计的意义
交通灯一般设在十字路口,醒目位置用红、绿、黄三种指示灯。
加上一个倒计时显示计时器来控制行车。
对于一般情况下的安全行车,车辆分流尚能发挥作用,但根据实际行车过程中出现的情况,存在以下缺点:
1.两车道的车辆轮流放行时间相同且固定,在十字路口,经常一个车道为主干道,车辆较多,放行时间应该长些;
另一车道为副干道,车辆较少,放行时间应该短些。
2.没有考虑紧急车通过时,两车道应采取的措施,如,消防车执行紧急任务通过时,两车道的车都应停止,让紧急车通过。
基于单片机交通灯控制系统的设计能根据道路交通拥护,交叉路口经常出现拥堵的情况。
利用单片机控制技术.提出了软件和硬件设计方案,能够实现道路的最大通行效率。
1.3交通灯控制系统设计实现的功能
交通信号灯指挥着人和各种车辆的安全运行,为了保证交通秩序和行人安全,在道路上有红、黄、绿信号灯,红灯亮,表示禁止通行;
黄灯亮,表示未过停车线的车辆停止通行,已过停车线的车辆继续通行;
绿灯亮,表示允许通行。
可实现的功能为:
1)设计一个十字路口交通灯控制电路,要求南北、东西方向交叉路口的车辆交替运行,两个方向根据车流量大小自动调节通行时间,车流量大,通行时间长,车流量小,通行时间短。
2)拥有车流量检测电路和特种车辆自动通行控制模块,设计紧急切换开关;
3)东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用数码管显示器进行显示(采用倒计时的方法)。
4)设置盲人提示音电路,考虑到社会弱势群体通行问题。
2交通灯控制系统的总体设计
2.1交通控制系统中功能实现要求
(1)倒计时显示
倒计时可以提醒驾驶员在信号灯灯色改变的时间,在停止、通过作出合适选择。
驾驶员和行人普遍愿意选择有倒计时显示的信号控制方式,且有倒计时显示的路口更安全。
倒计时显示是用来减少驾驶员在信号灯色改变的关键时刻做出复杂判断的一种方法,它可提醒驾驶员灯色改变的时间,帮助驾驶员在停止、通过作出合适的选择。
(2)车流量检测及调整
车辆检测器作为交通系统的基本组成部分,在交通系统中占有重要的地位。
如今,车辆检测器检测方式有很多,如红外线检测器、地磁检测器、磁频检测器、波频检测器、视频检测器等。
一般车流量检测器采用传感器、单片机、外围器件来实现。
本设计使用的红绿灯切换,根据道口东西向和南北向的车流量,用统计方法确定。
交通警察不断观察十字路口的两个方向,根据车辆密度和流速决定是否切换红绿灯,以保证最佳的道路交通控制状态。
(3)时间手动设置
除系统根据车流量自动控制调整,也可通过键盘手动设置,增加了人为可控性,避免自动故障和意外发生,在紧急状态下,可设置所有灯变为红灯。
键盘是单片机系统中最常用的人机接口,有独立式和行列式两种。
前者软件编写简单,但在按键数量较多时特别浪费I/0口资源,一般用于按键数量少的系统。
后者适用于按键数量较多的场合,但是在单片机I/0口资源相对较少而需要较多按键时,此方法仍不能满足设计要求。
本系统要求的按键控制不多,且I/0口足够,可直接采用独立式。
(4)紧急处理
交通路口出现紧急状况在所难免,如特大事件发生,救护车等急行车通过等,我们都必须尽量允许其畅通无阻,毕竟在这种情况下是分秒必争的,时时刻刻关系着公共财产安全,个人生死攸关等。
由此在交通控制中增设禁停按键,就可达到想此目的。
(5)违规检测
交通规则应人人遵守,但违反规则,如闯红灯等,也时有发生,交警等交通管理人员虽然可以进行实时监管,但是耗费精力,在路口设置检测传感器就可以进行自动的警报提示。
(6)语音
为了帮助盲人安全通行,设计中加入提示音提醒盲人的安全出行。
2.2交通控制系统的工作原理
本系统运用单片机对交通灯控制系统实施控制,通过直接控制信号灯的状态变化,指挥交通的具体运行,运用了LED数码管显示倒计时以提醒行驶者,更添加了盲人提示音电路,方便视力障碍群体通行,更具人性化。
在此基础上,加入了特种车辆自动通行控制模块和车流量检测电路为系统采集数据,经单片机进行具体处理,及时调整通行方向。
由此,本设计系统以单片机为控制核心,构成最小系统,根据特种车辆自动通行控制模块、车辆检测模块和按键设置模块等产生输入,由信号灯状态模块,LED倒计时模块和盲人提示音模块输出。
系统进入工作状态,LED数码管实时显示数据倒计时,执行交通灯状态显示控制,在此过程中若有控制信号和实时车流量检测信号,可对异常状态进行实时控制,随时调用中断,达到修正通行时间满足不同时间不同路况的需求。
2.3交通控制系统的通行方案设计
在十字路口,分东西和南北向,任一时刻只有一个方向通行,另一方向禁行,持续一定时间,
经过短暂的过渡时间,将通行禁行方向对换。
其具体状态如下图所示。
说明:
黑色表示亮,白色表示灭。
交通状态从状态1开始变换,直至状态6然后循环至状态1,周而复始。
图2-1交通状态
通过具体的路口交通灯状态的演示分析我们可以把这四个状态归纳如下:
◆东西红灯灭,绿灯亮,南北黄灯灭,红灯亮,倒计时20秒。
此状态下,东西向禁止通行,南北向允许通行。
◆东西绿灯灭,黄灯亮,南北红灯亮,倒计时2秒。
此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。
◆南北红灯灭,绿灯亮,东西黄灯灭,红灯亮,倒计时20秒。
此状态下,东西向允许通行,南北向禁止通行。
◆南北绿灯灭,黄灯亮,东西红灯亮,倒计时2秒。
东西南北路口均有红绿黄3灯和数码显示管2个,在任一个路口,遇红灯禁止通行,绿灯允许通行,黄灯亮警告行止状态将变换。
红绿灯状态如下即0表示灭,1表示亮。
表2-1交通状态及红绿灯状态
状态1
状态3
状态4
状态6
东西向
禁行
等待变换
通行
南北向
东西红灯
1
东西黄灯
东西绿灯
南北红灯
南北绿灯
南北黄灯
2.4交通灯控制系统的总体
图2-2系统的总体框图
键盘设置模块对系统输入模式选择及具体通行时间设置的信号,系统进入正常工作状态,执行交通灯状态显示控制,同时将时间数据倒计时输入到LED数码管上实时显示。
在此过程中还要实时捕捉违规检测和紧急按键信号,以达到对异常状态进行实时控制的目的。
急停按键和违规检测随时调用中断。
3交通控制系统设计及理论
3.1程序主体设计流程
全部控制程序分为:
键盘设置处理程序,状态灯控制程序,LED显示程序,消抖动延时程序,次状态判断及处理程序,紧停或违规判断程序,中断服务子程序,车流量计数程序,红绿灯时间调整程序等。
整个软件程序方面主要分两大部分:
按键处理程序和50ms扫描程序。
系统上电或手动复位后,系统等待模式选择设置键按下,模式分两种:
红绿灯时间自动和红绿灯时间设置。
若此时F键按下,则为自动模式,若此时按下的是S键,则为时间设置模式,依次按S若干次,J键若干次可设置好两个方向的红绿灯时间,再按F键确认。
其实这个过程就是将存储时间值的寄存器进行设置,以及标志是否要进行车流量检测及调整。
图3-150ms扫描程序
图3-2交通灯的软件设计流程图
按键处理程序,80C51通过对IO扫描,确定是否有键按下,再判断具体是那个键按下,根据键值跳转到按键处理程序。
按键处理结果两种工作模式:
红绿灯时间设置模式和红绿灯时间自动模式,次程序相当于系统的模式设置,若想重新设置则要按下复位键。
设置过后进入50ms扫描程序。
50ms扫描程序开始,先刷新显示模块,若为自动模式则接下来要计数车流量,然后扫描紧停信号和违规信号,若捕获则调用中断,中断服务子程序主要启动蜂鸣器,直至恢复键按下。
50ms已到则重新扫描。
扫描20次之后计时到达1s则时间数据减1,在显示模块中修改显示缓冲区内容。
在半个状态对换时,车流量计数程序在一个状态变换循环先后计数两个方向的车流量,然后调用红绿灯时间调整程序,更新红绿灯时间。
3.2交通控制系统的理论依据
3.2.1定时器原理
定时器工作的基本原理就是给初值,让它不断加1直至减完为模值,初值是送到TH和TL中的。
是以加法记数的,并能从全1到全0时自动产生溢出中断请求。
因此可把计数器记满为零所需的计数值,即所要求计数值为C,把计数初值设定为TC可得到如下计算通式:
M为计数器模值。
计数值并不是目的,目的是时间值,设计1次的时间,即定时器计数脉冲的周期为T0,它是单片机系统主频周期的12倍,设要求的时间值为T,则有
计算通式变为:
3.2.2软件延时原理
MCS-51工作频率12MHZ,机器周期与主频有关,机器周期是主频12倍,一个机器周期的时间为
具体每条指令的周期数,可通过指令的执行条数来确定1秒的时间,单片机运行速度很快其他指令执行时间可忽略不计。
延时方法可以有两种:
一种是利用MCS-51内部定时器产生溢出中断来确定1秒的时间,在主程序中设定一个初值为20的软件计数器和使T0定时50毫秒,当T0到50毫秒时CPU就响应它的溢出中断请求,进入他的中断服务子程序。
在中断服务子程序中,CPU先使软件计数器减1,然后判断它是否为零,为零表示1秒已到可以返回到输出时间显示程序,另一种是采用软件延时的方法。
3.2.3中断原理
此系统主要用外部中断,中断信号有引脚INT0和INT1输入,低电平有效,CPU每个时钟周期都会检测INT0和INT1上的信号,8051允许外部中断以电平方式或负边沿方式两种中断方式输入中断请求信号,可由用户通过设置TCON中IT0和IT1位来实现。
以IT0为例,IT0=0,为电平触发方式,IT0=1,为负边沿触发方式,本设计采用电平方式,IE0为其中断标志位,有中断信号则置位,中断服务子程序响应后,IE0自动清零。
IE中的EA为允许中断的总控制位,为1开启,EX0为外部中断允许控制位,为1开启。
3.2.4消抖动
在按键计数的过程中,存在机械抖动与软件方面的矛盾,即当程序检测到了有按键按下,则会计一次数,但是实际上,按键闭合后在微观上还会弹起,然后闭合,一直到达稳定,显然后面的弹落是无效的,为了使程序避免这个问题,可以在检测到首次闭合时,调用一定时间的延时程序。
此处延时程序完全用软件完成,利用程序执行一条指令的时间,再加上两次累减嵌套。
4交通灯控制系统的硬件、软件支持
4.1AT89S51单片机简介
AT89S51是美国ATMEL公司生产的低功耗,高性能8位单片机,片内含4kbytes的可系统编程的Flash只读程序存储器。
与单片机产品兼容8K字节在系统、可编程Flash存储器、1000次擦写周期、全静态操作、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器、八个中断源、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。
AT89S51芯片内部结构:
中央处理器(CPU)、数据存储器(RAM)、程序存储器(ROM)、定时/计数器(ROM)、并行输入输出(I/O)口、全双工串行口、时钟电路、中断系统;
AT89S51共有5个中断源,其中又2个外部中断源和3个内部中断源。
图4-1AT89S51系列单片机的内部结构示意图
AT89S51系列单片机主要引脚:
VCC:
电源电压;
GND:
地;
P0口:
是一组8位漏极开路型双向I/0口,即地址/数据总线复用口;
P1口:
是一个带内部上拉电阻的8位双向I/O口;
P2口:
是一个带有内部上拉电阻的8位双向I/O口;
P3口:
是一组带有内部上拉电阻的8位双向I/0口;
RST:
复位输入;
ALE/
:
当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节;
程序储存允许(
)输出是外部程序存储器的读选通信号;
/VPP:
外部访问允许,电压Vpp引脚为+12V;
XTAL1:
振荡器反相放大器及内部时钟发生器的输入端。
图4-2AT89S51系列单片机引脚图
4.2AT89S51芯片最小系统
最简单单片机系统包括晶振、复位、电源、系统的输入控制、输出显示,以及其他外围模块(如通信、数据采集等)。
(1)时钟电路
单片机的晶振电路,即时钟电路。
其工作流程,就是在系统时钟作用下,一条一条地执行存储器中的程序。
晶振的频率越高,单片机处理数据的速度越快,系统功耗也会相应增加,稳定性也会下降。
(2)复位电路(上电复位,手动复位)
系统刚上电时,单片机内部程序还没有开始执行,需要一段准备时间,即复位时间。
一个稳定的单片机系统必须设计复位电路。
当程序跑飞或死机时,也需要系统复位。
(3)EA脚的功能及接法
单片机EA脚控制程序从内部存储器和外部存储器读取程序。
单片机内部的flash容量都很大,因此要从内部的存储器读取程序,不需要外接ROM来存储程序,即EA脚必须接高电平。
本设计中复位方式采用上电∕按键手动复位方式,时钟采用内部时钟。
如下图3.4所示。
图4-3本系统复位与时钟方式
4.3系统设计中Keil软件作用
本设计系统中运用为keil软件;
汇编语言源程序要为CPU可执行的机器码有两种方法:
一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法。
机器汇编是通过汇编软件将源程序变为机器码,用于MCS-52单片机的汇编软件。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等,通过一个集成开发环境(uVision)将这些部份组合在一起。
运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。
使用C语言编程,可选Keil,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会十分方便。
Keil软件集编辑,编译,仿真于一体,支持汇编,PLM语言和C语言的程序设计,界面友好,易学易用。
Keil生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势。
4.4proteus硬件仿真软件
Proteus软件是电子设计自动化软件,可提供仿真数字和模拟、交流和直流等数千种元器件和多达30多个元件库;
提供现实的虚拟仪器仪表;
提供图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来;
提供丰富的测试信号用于电路的测试,这些测试信号包括模拟信号和数字信号;
提供了大量的元件库,有RAM、ROM、键盘、马达、LED、LCD、AD/DA、部分SPI器件、部分IIC器件,编译方面支持Keil和MPLAB等编译器。
在计算机上学习电工基础,模拟电路、数字电路、单片机应用系统等课程,进行电路设计、仿真、调试等。
Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路工作情况。
对于这样的仿真实验,从某种意义上讲,弥补了实验和应用间差距。
5系统总电路的设计原理及各模块
5.1系统硬件总电路构成及原理
实现本设计要求的具体功能,选用AT89C51单片机及外围器件构成最小控制系统,12个发光二极管分成4组红绿黄三色灯构成信号灯指示模块,8个LED东西南北各两个构成倒计时显示模块,车流量检测传感器采集流量数据,光敏传感器捕获违规信号,若干按键组成时间设置和模式选择按钮和紧急按钮等,以及用1个蜂鸣器进行报警。
系统硬件电路构成:
单片机为核心,组成一个集车流量采集、处理、自动控制为一身的闭环控制系统。
系统硬件电路由车流量检测电路、单片机、违规检测电路,状态灯,LED显示,按键,语音提示器组成。
其具体的硬件电路图如附录。
其中P0,P2,用于送显两片LED数码管,P1用于控制红绿黄发光二极管,XTAL1和XTAL2接入晶振时钟电路,RESET引脚接上复位电路,P3.3即INT1接违规检测电路和P3.2即INT0接紧停/东西时间设置键J,P0.6,P0.7接车流量检测电路,P3.6接南北时间设置键S,P3.7接自动模式选择/返回键F,P3.4接语音提示器。
5.2系统工作原理
系统必须先显示状态灯及LED数码管,将状态码值送显P1口,将要显示的时间值送显P0口和用P2口来选通LED数码管的显示导通,在此同时以50ms为周期,用软件方法计时1秒,到达1s就要将时间值减1,刷新LED数码管。
时间到达一个状态所要全部时间,则要进行下一状态判断及衔接,并装入次状态的相应状态码值以及时间值,开启两个外部中断,其一为违规信号或禁停信号输入,一旦信号有效,中断开始,进入中断服务子程序,开启蜂鸣器禁止全部通行,当按下F键,中断结束返回。
其二为车流量检测信号输入,若检测到车辆经过,进入相应的中断子程序,将存储车流量的计数器加1,然后中断结束返回。
每满一个状态循环周期,若为自动模式,则须将检测到的车流量数据处理一次,判断两个方向的交通轻重缓急状况,再调整下次状态循环的红绿灯时间,以达到自动控制的目的。
5.3各控制模块
5.3.1车检测模块
用来判断各方向车辆状况,比如:
20秒内可以通过的车辆为20辆,当20秒内南往北方向车辆通过车辆达不到20辆时,判断该方向为少车,当20秒内北往南方向车辆通过车辆也达不到20辆时,判断该方向也为少车,下一次通行仍为20秒,当20秒时间内南往北或北往南任意一个方向通过的车辆达20辆时证明该状态车辆较多,下一次该方向绿灯放行时间改为40秒,当40秒内通过的车辆数达45辆时车辆判断为拥挤,下一次绿灯放行时间改仍为40秒,当40秒车辆上通过车辆达不到45辆时,判断为少车,下次绿灯放行时间改为20秒,依此类推。
绿灯下限时间为20秒,上限值为40秒,初始时间为20秒。
由于南往北,北往南时间显示相同,所以只要一个方向多车,下次时间就要加长东往西,西往东也一样,显示时间选择如表5-1.
表5-1显示时间选择
车辆情况
本次该
方向通行时间
下次表该
南往北少车,北往南少车
20秒
40秒
南往北少车,北往南多车
南往北多车,北往南少车
南往北多车,北往南多车
东往西少车,西往东少车
东往西少车,西往东多车
东往西多车,西往东少车
东往西多车,西往东多车
图5-2十字路口车辆通行顺序
车检测方法选择:
传统车流量检测方法:
空气管道检测、磁感应检测技术、红外检测技术
本设计采用视频图像的车流量检测,基本思想是视频图片中每条车道上设置一个固定区域作为虚拟的检测线,对该区域内图像进行处理,完成对车辆信息的获取。
采用此方法优点:
1)能够提供高质量的图像信息,信息量大,可以高效、准确、可靠地完成道路交通的监视和控制工作。
2)安装视频摄像机方便、经济,现在国内许多城市道路已经安装了摄像机监控系统。
3)计算机视觉和数字图像处理技术发展迅速,满足了系统实时性、可靠性方面的要求。
图5-3基于视频图像的车流量检测工作原理
图5-4基于视频图像的车流量检测图
5.3.2信号灯模块
信号灯用来显示车辆通行状况,下面以一个十字路口为例,说明一个交通灯的四种状态。
每个路口的信号的的转换顺序为:
绿——>
黄——>
红,绿灯表示允许通行,黄灯表示禁止通行,但已经驶过安全线的车辆可以继续通行,是绿灯过渡到红灯提示灯。
红灯表示禁止通行。
绿灯的最短时间为20秒,最长时间为40秒,红红最短时间为25秒,最长时间为45秒,黄灯时间为5秒。
图5-5交通信号灯运行状态
图5-6信号灯显示电路
5.3.3时间显示模块
在交通信号灯的正上方安装一个显示绿灯通行时间,红灯等待时间的显示电路,采用数码管显示电路。
由于东往西、西往东方向显示的时间相同,南往北、北往南方向显示的时间也相同,所以只需要考
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 交通灯 控制系统 设计