基于单片机的智能交通控制系统设计论文.docx
《基于单片机的智能交通控制系统设计论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的智能交通控制系统设计论文.docx(13页珍藏版)》请在冰豆网上搜索。
![基于单片机的智能交通控制系统设计论文.docx](https://file1.bdocx.com/fileroot1/2023-1/31/d74cd561-5925-4822-a089-c0064b6e9b4e/d74cd561-5925-4822-a089-c0064b6e9b4e1.gif)
基于单片机的智能交通控制系统设计论文
2单片机交通控制系统总体设计........................................2
2.3单片机交通控制系统的基本构成及原理...................................4
3系统硬件电路的设计................................................5
4.1程序主体设计流程..................................................12
4.4中断原理.........................................................13
致谢...............................................................17
基于单片机的智能交通控制系统
摘要:
交通控制系统是近现代社会随着物流、出行等交通发展产生的一套独特的公共管理系统。
要保证高效安全的交通秩序,除了制定一系列的交通规则,还必须通过一定的科技手段加以实现。
本文在对目前交通控制进行深入分析的基础上,运用检测传感、实时调整智能化控制的实现技术,将传感器监测、实时调整车辆通行时间的算法与单片机控制作用相结合,提出了基于单片机的交通控制系统设计方案。
8051单片机的交通灯控制系统由8051单片机、交通灯显示、LED倒计时、车流量检测及调整、违规检测、紧急处理、时间模式手动设置等模块组成。
系统除基本交通灯功能外,还具有通行时间手动设置、可倒计时显示、急车强行通过、车流量检测及调整、交通异常状况判别及处理等相关功能。
理论证明该系统能够简单、经济、有效地疏导交通,提高交通路口的通行能力。
关键词:
交通控制;8051单片机;传感器
随着人口快速的增多,交通工具的爆炸性的发展,以及道路资源的有限性,交通控制就应运而生,在人类的生活、工作环境中,交通扮演着极其重要的角色,人们的出行都无时不刻与交通打着交道。
自18世纪工业革命以来,工业发展带动整个交通运输的发展,从而催生了单独的交通控制学问与管理机构。
交通控制系统是近现代社会随着物流、出行等交通发展产生的一套独特的公共管理系统。
要保证高效安全的交通秩序,除了制定一系列的交通规则,还必须通过一定的技术手段加以实现。
现代人类科学技术,特别是电子科学技术的发展和成熟能比较好的解决系统建立中硬软件方面要求的技术难题。
目前,交通控制方面的研究能完全实现自动智能化,甚至将整个区域整合成一个统一的系统范围,还能根据正常时段以及特定突发时段的情况进行科学的自动调整。
交通对于社会的工业经济和人们的生活生产中有着十分重要的意义。
随着单片机和传感技术的迅速发展,自动检测领域发生了巨大变化,交通自动监测控制方面的研究有了明显的进展,并且必将以其优异的性能价格比,逐步取代传统的交通控制措施。
2单片机交通控制系统总体设计
2.1单片机交通控制系统的通行方案设计
设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。
其具体状态如下图所示。
说明:
黑色表示亮,白色表示灭。
交通状态从状态1开始变换,直至状态6然后循环至状态1,周而复始,即如图2.1所示:
图2.1交通状态
通过具体的路口交通灯状态的演示分析我们可以把这四个状态归纳如下:
◆东西方向红灯灭,同时绿灯亮,南北方向黄灯灭,同时红灯亮,倒计时20秒。
此状态下,东西向禁止通行,南北向允许通行。
◆东西方向绿灯灭,同时黄灯亮,南北方向红灯亮,倒计时2秒。
此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。
◆南北方向红灯灭,同时绿灯亮,东西方向黄灯灭,同时红灯亮,倒计时20秒。
此状态下,东西向允许通行,南北向禁止通行。
◆南北方向绿灯灭,同时黄灯亮,东西方向红灯亮,倒计时2秒。
此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。
本设计能模拟基本的交通控制系统,用红绿黄灯表示禁行,通行和等待的信号发生,还能进行倒计时显示和紧急处理等功能。
2.2.1倒计时显示
倒计时显示可以提醒驾驶员在信号灯灯色发生改变的时间、在“停止”和“通过”两者间作出合适的选择。
驾驶员和行人普遍都愿意选择有倒计时显示的信号控制方式,并且认为有倒计时显示的路口更安全。
倒计时显示是用来减少驾驶员在信号灯色改变的关键时刻做出复杂判断的1种方法,它可以提醒驾驶员灯色发生改变的时间,帮助驾驶员在“停止”和“通过”两者间作出合适的选择。
2.2.2紧急处理
交通路口出现紧急状况在所难免,如特大事件发生,救护车等急行车通过等,我们都必须尽量允许其畅通无阻,毕竟在这种情况下是分秒必争的,时时刻刻关系着公共财产安全,个人生死攸关等。
由此在交通控制中增设禁停按键,就可达到想此目的。
单片机设计交通灯控制系统,可用单片机直接控制信号灯的状态变化,基本上可以指挥交通的具体通行,当然,接入LED数码管就可以显示倒计时以提醒行使者,更具人性化。
本系统在此基础上,加入了违规检测电路和车流量检测电路为单片机采集数据,单片机对此进行具体处理,及时调整控制指挥,为了超越视觉指挥的局限性,同时接上蜂鸣器,在听觉上加强了指挥提醒作用。
图2.2系统的总体框图
据此,本设计系统以单片机为控制核心,连接成最小系统,由车流量检测模块,违规检测模块,和按键设置模块等产生输入,信号灯状态模块,LED倒计时模块和蜂鸣器状态模块接受输出。
系统的总体框图如上所示。
键盘设置模块对系统输入模式选择及具体通行时间设置的信号,系统进入正常工作状态,执行交通灯状态显示控制,同时将时间数据倒计时输入到LED数码管上实时显示。
在此过程中还要实时捕捉违规检测和紧急按键信号,以达到对异常状态进行实时控制的目的。
急停按键和违规检测随时调用中断。
在模式选择上,若为自动模式,将不断调用车流量检测模块对车流量进行检测统计,到达一定时间将修正通行时间一满足不同路况的需要。
实现本设计要求的具体功能,可以选用AT89S51单片机及外围器件构成最小控制系统,12个发光二极管分成4组红绿黄三色灯构成信号灯指示模块,8个LED东西南北各两个构成倒计时显示模块,车流量检测传感器采集流量数据,光敏传感器捕获违规信号,若干按键组成时间设置和模式选择按钮和紧急按钮等,以及用1个蜂鸣器进行报警。
3.1.1系统硬件电路构成
本系统以单片机为核心,组成一个集车流量采集、处理、自动控制为一身的闭环控制系统。
系统硬件电路由车流量检测电路、单片机、违规检测电路,状态灯,LED显示,按键,蜂鸣器组成。
其具体的硬件电路总图如图3.1所示。
图3.1总体设计电路图
其中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接蜂鸣器。
3.1.2系统工作原理
系统上电或手动复位之后,系统等待模式选择设置键按下,模式分两种:
红绿灯时间自动和红绿灯时间设置。
若此时F键按下,则设置为自动模式,若此时按下的是S键,则设置为时间设置模式,依次按S若干次,J键若干次可设置好两个方向的红绿灯时间,再按F键确认。
其实这个过程就是将存储时间值的寄存器进行设置,以及标志是否要进行车流量检测及调整。
接下来,系统必须先显示状态灯及LED数码管,将状态码值送显P1口,将要显示的时间值送显P0口和用P2口来选通LED数码管的显示导通,在此同时以50ms为周期,用软件方法计时1秒,到达1s就要将时间值减1,刷新LED数码管。
时间到达一个状态所要全部时间,则要进行下一状态判断及衔接,并装入次状态的相应状态码值以及时间值,当然,还要开启两个外部中断,其一为违规信号或禁停信号输入,一旦信号有效,中断开始,进入中断服务子程序,开启蜂鸣器禁止全部通行,当按下F键,中断结束返回。
其二为车流量检测信号输入,若检测到车辆经过,进入相应的中断子程序,将存储车流量的计数器加1,然后中断结束返回。
每满一个状态循环周期,若为自动模式,则须将检测到的车流量数据处理一次,判断两个方向的交通轻重缓急状况,再调整下次状态循环的红绿灯时间,以达到自动控制的目的。
3.2.1AT89S51芯片内部结构简介
中央处理器:
中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
数据存储器(内部RAM):
数据存储器用于存放变化的数据。
AT89S51中数据存储器的地址空间为256个RAM单元,但其中能作为数据存储器供用户使用的仅有前面128个,后128个被专用寄存器占用。
程序存储器(内部ROM):
程序存储器用于存放程序和固定不变的常数等。
通常采用只读存储器,且其又多种类型,在89系列单片机中全部采用闪存。
AT89S51内部配置了4KB闪存。
定时/计数器(ROM):
定时/计数器用于实现定时和计数功能。
AT89S51共有2个16位定时/计数器。
并行输入输出(I/O)口:
8051共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。
每个口都由1个锁存器和一个驱动器组成。
它们主要用于实现与外部设备中数据的并行输入与输出,有些I/O口还有其他功能。
全双工串行口:
A89S51内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。
时钟电路:
时钟电路的作用是产生单片机工作所需要的时钟脉冲序列。
中断系统:
中断系统的作用主要是对外部或内部的终端请求进行管理与处理。
AT89S51共有5个中断源,其中有2个外部中断源和3个内部中断源。
图3.2AT89S51系列单片机的内部结构示意图
3.2.2主要引脚功能
AT89S51引脚图如图3.3所示:
图3.3引脚图
·VCC:
电源电压
·GND:
地
·P0口:
P0口是一组8位漏极开路型双向I/0口,也即地址/数据总线复用口。
·P1口:
Pl是一个带内部上拉电阻的8位双向I/O口,Pl的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
表3.1具有第二功能的P1口引脚
端口引脚
第二功能:
P1.5
MOSI(用于ISP编程)
P1.6
MOSI(用于ISP编程)
P1.7
MOSI(用于ISP编程)
·P2口:
P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
·P3口:
P3口是一组带有内部上拉电阻的8位双向I/0口。
P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
P3口除了作为一般的I/0口线外,更重要的用途是它的第二功能,如下表所示:
表3.2具有第二功能的P1口引脚
端口引脚
第二功能:
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外部数据存储器读选通)
P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。
·RST:
复位输入。
·ALE/————PROG:
当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。
对F1ash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
·————PSEN:
程序储存允许。
(————PSEN)输出是外部程序存储器的读选通信号,当AT89S51由外部程序存储器取指令(或数据)时,每个机器周期两次————PSEN有效,即输出两个脉冲。
当访问外部数据存储器,没有两次有效的————PSEN信号。
·——EA/VPP:
外部访问允许。
欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。
F1ash存储器编程时,该引脚加上+12V的编程电压Vpp。
·XTAL1:
振荡器反相放大器及内部时钟发生器的输入端。
发光二极管:
根据本设计的特点,红绿灯的显示不可少,红绿灯的显示采用普通的发光二极管。
每个方向上设置红绿黄灯,总共4组。
如果东西红灯亮,那南北方向就是绿灯亮,反之亦然,所以在硬件上连接图上也是对称分布的,如下图3.8所示。
图3.8信号灯的连接
在本设计中,实际控制的灯只有6个,即:
东西红灯,东西绿灯,东西黄灯,南北红灯,南北绿灯,南北黄灯,其中均是低电平有效。
共有4钟状态:
东西红灯亮,南北绿灯亮(11011101/DDH);东西红灯亮,南北黄灯亮(10111101/BDH);东西绿灯亮,南北红灯亮(11101101/EDH);东西黄灯亮,南北红灯亮(11100111/E7H)。
括号中是P1端口8个引脚值P1.7,P1.6,P1.5,P1.4,P1.3,P1.2,P1.1,P1.0以及对应的十六进制码。
在用于显示发光二极管时,直接由MOV指令将十六进制码送入P1口。
刚才的4个状态是依次变换的,这就要涉及到状态的判断和衔接了。
先把P1端口的值与所有的4个状态码比较,若相同则判断成功当前状态,再把下一状态的状态码送显P1即可。
蜂鸣器:
本设计采用一般蜂鸣器,蜂鸣器使用PNP三极管进行驱动控制,当连接到单片机上的引脚输出为低电平,PNP导通,蜂鸣器蜂鸣;当连接到单片机上的引脚输出高电平时,PNP截止,蜂鸣器停止蜂鸣。
紧停按键和违规信号传感器连接到外部中断引脚INT1,P3.6捕获到一个低电平,则进入该中断,中断程序中先把蜂鸣器P3.7端口置0,启动蜂鸣。
并且等待恢复键F键按下,然后关闭蜂鸣返回。
电源电路设计:
由于单片机工作时需要的+5V电压,所以在设计电源电路时,需要一个电子元件能提供+5V电压,由于7805能够提供5V电压的三端稳压电源,在实际的电路控制中应用其作为电源电路较为广泛,在普通的电子元器件商场都有销售易于购买,并且技术相对成熟.7805一脚为电源输入端,二脚为公共接地端,三脚即为我们所需要的+5V电压输出端.本文采用最典型的7805提供电压的电路,即在7805的1脚和公共接地端(即2脚)之间接入0.3μF的电容,在公共接地端和三脚+5V电压输出端之间接入0.1μF的电容。
图3.11+5V电源电路
4系统软件程序的设计
全部控制程序实际上分为若干模块:
键盘设置处理程序,状态灯控制程序,LED显示程序,消抖动延时程序,次状态判断及处理程序,紧停或违规判断程序,中断服务子程序,车流量计数程序,红绿灯时间调整程序等。
整个软件程序方面主要分两大部分:
按键处理程序和50ms扫描程序。
流程图如图4.1所示。
图4.1系统总流程图
首先是按键处理程序,89S51通过对IO扫描,确定是否有键按下,再判断具体是那个键按下,根据键值跳转到按键处理程序。
按键处理结果可设置两种工作模式:
红绿灯时间设置模式和红绿灯时间自动模式,次程序相当于系统的模式设置,若想重新设置则要按下复位键。
设置过后进入50ms扫描程序。
50ms扫描程序开始后,先刷新显示模块,若为自动模式则接下来要计数车流量,然后扫描紧停信号和违规信号,若捕获则调用中断,中断服务子程序主要启动蜂鸣器,直至恢复键按下。
50ms已到则重新扫描。
扫描20次之后计时到达1s则时间数据减1,在显示模块中修改显示缓冲区内容。
在半个状态对换时,车流量计数程序在一个状态变换循环先后计数两个方向的车流量,然后调用红绿灯时间调整程序,更新红绿灯时间。
当前状态时间已到,则判断次状态装入相应数据,然后进入下一状态。
定时器工作的基本原理其实就是给初值,让它不断加1直至减完为模值,这个初值是送到TH和TL中的。
它是以加法记数的,并能从全1到全0时自动产生溢出中断请求。
因此,我们可以把计数器记满为零所需的计数值,即所要求的计数值设定为C,把计数初值设定为TC可得到如下计算通式:
TC=M-C
式中,M为计数器模值。
计数值并不是目的,目的是时间值,设计1次的时间,即定时器计数脉冲的周期为T0,它是单片机系统主频周期的12倍,设要求的时间值为T,则有C=T/T0。
计算通式变为:
T=(M-TC)T0
模值和计数器工作方式有关。
在方式0时M为8192;在方式1时M的值为65536;在方式2和3为256。
就此可以算出各种方式的最大延时。
如单片机的主脉冲频率为12MHZ,经过12分频后,若采用方式0最大延时只有8.129毫秒,采用方式1最大延时也只有65.536毫秒。
这就是为什么扫描周期为50ms的原因。
MCS-51的工作频率为12MHZ,机器周期与主频有关,机器周期是主频的12倍,所以一个机器周期的时间为12*(1/12MHZ)=1us。
我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定1秒的时间,但同时由于单片机的运行速度很快其他的指令执行时间可以忽略不计。
本系统主要使用了外部中断,中断信号有引脚INT0和INT1输入,低电平有效,CPU每个时钟周期都会检测INT0和INT1上的信号,8051允许外部中断以电平方式或负边沿方式两种中断方式输入中断请求信号,可由用户通过设置TCON中IT0和IT1位的状态来实现。
以IT0为例,IT0=0,为电平触发方式,IT0=1,为负边沿触发方式,本设计采用电平方式,IE0为其中断标志位,有中断信号则置位,中断服务子程序响应后,IE0自动清零。
IE中的EA为允许中断的总控制位,为1开启,EX0为外部中断允许控制位,为1开启。
在按键计数的过程中,还存在机械抖动与软件方面的矛盾,即当程序检测到了有按键按下,则会计一次数,但是实际上,按键闭合后在微观上还会弹起,然后闭合,一直到达稳定,显然后面的弹落是无效的,为了使程序避免这个问题,可以在检测到首次闭合时,调用一定时间的延时程序。
此处延时程序完全用软件完成,利用程序执行一条指令的时间,再加上两次累减嵌套。
交通信号灯成果展示图
交通灯控制在交通运输领域有着非常重要的作用。
本文完成了基于单片机的交通灯控制系统的设计与模拟。
包括通行方案的设计,系统的硬件开发、软件编程与仿真调试等。
在论文完成过程中,主要做的工作有:
(1)确定交通系统具体的通行方案,规定东西向和南北向车辆的行止状态和时间分配,以及要求其他多功能的实现。
(2)以ATMEL公司的AT89S51单片机为核心进行系统硬件设计,输入量包括:
车流量,按键状态和违规检测传感信号;输出控制交通信号灯亮灭状态及时间,以及LED数码管倒计时显示。
(3)在车流量检测系统中采用模糊控制方法,这需要知道被控对象的数学模型,进行清晰化,具体化。
因此,必须实施调查确定车流量少,中,多所要求的具体数量,然后经过单片机控制器的相关算法及处理确定红绿灯亮灭时间。
参考文献
[1]张毅坤.《单片微型计算机原理及应用》.西安电子科技大学出版社,1998:
26-56
[2]曹国华.《单片机原理及接口技术》.西安电子科技大学出版社,2000:
86-102
[3]雷丽文.《微机原理与接口技术》.电子工业出版社,1997:
58-76
[4]吴黎明.《单片机原理及应用技术》.科学出版社,2005:
86-101
[5]韩克.《电子技能与EDA技术》.暨南大学出版社,2004:
27-86
[6]周润景.《基PROTEUS的电路及单片机系统设计与仿真》.航空航天大学出版社,2006
[7]张毅坤.《单片微型计算机原理及应用》.西安电子科技大学出版社,1998:
76-94
[8]李鸿恩.《数字电子技术》.重庆大学出版社,1994:
4-34
[9]胡宴如.《模拟电子技术》.高等教育出版社,2004:
37-76
本论文是在老师指导下完成的。
从论文选题到课题难点的解决,都给予了本人悉心地指导。
老师的治学态度、专业造诣和敬业精神都使我收益非浅。
在此,我首先向老师致以衷心的感谢!
在课题完成过程中,还得到了同学的帮助,给我提供了很多思路与经验,对我深入理解课题的有关知识与方法起到了重要作用。
在此,我对同学们也表示诚挚的谢意。
最后,衷心感谢在百忙之中抽出时间审阅本论文的老师。