基于单片机的车辆闯红灯监控系统_第1页
基于单片机的车辆闯红灯监控系统_第2页
基于单片机的车辆闯红灯监控系统_第3页
基于单片机的车辆闯红灯监控系统_第4页
基于单片机的车辆闯红灯监控系统_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于单片机的车辆闯红灯监控系统摘要基于整个交通控制系统的发展情况,本设计主要进行如下方面的研究:用智能,集成,且功能强大的单片机芯片为控制中心,设计出一套十字路口的交通控制系统,以指挥该路口的实时通行状态。本设计主要做了如下几方面的工作:一是确定系统交通控制的总体设计,包括,十字路口具体的通行禁行方案设计以及系统应拥有的各项功能,在这里,本设计除了有信号灯状态控制能实现基本的交通功能,还有倒计时显示提示,基于题目要求,又要求了具有智能调度功能,当侦测某一通道繁忙另一通道空闲时,能自动调整红绿灯时间。紧急状况处理:当有紧急通行车辆(如消防车、救护车、警车)要求通过时,能自动开通该通道而关闭另一通

2、道。违规检测及处理,遥控可设置等强大功能。 二是进行软件系统的设计,对于本系统,本团队采用单片机C语言编写,对单片机内部结构和工作情况做了充足的研究,了解定时器,中断以及延时原理,总体上完成了软件的编写。关键词:交通灯,遥控器,led显示,中断1. 系统方案论证方案一:在十字路口四个干道处50米处安装红外对管,检测车辆堵车时间,当红外对管的信号屏蔽较长时间时,即判断此路口为繁忙,自动切换为绿灯,以保障通行,同时红外对管也可以用来作为车辆计数器。在四个干道的黄线外地下设置地感线圈,当该干道为红灯状态时,启动地感线圈,如果有车闯红灯时,由于车的金属材质引起线圈的振荡频率改变,送出一个电平变化给单片

3、机的判断口,从而进入报警程序,发出声光警报。方案二:设在十字路口,分为东西直行、东西左拐和南北直行、南北左拐,在任一时刻只有一个方向通行,另外三个方向禁行,持续一定时间,经过短暂的过渡时间,依次进行通行禁行方向轮流转换。其具体状态如下所示。交通状态从状态1开始变换,直至状态8然后循环至状态1,周而复始,闯红灯用微动开关的电平变化来模拟,设置二个按键,按键1为繁忙检测,当按下为3秒时,启动状态转换,该干道变为绿灯,按键2为闯红灯检测,用下降沿触发给单片机的中断口一个中断信号,触发送出声光警报,而设置加减倒计时则用遥控器实现。综合比较方案,认为方案二更方便可行,方便功能实现。2单片机交通控制系统的

4、功能要求本设计能模拟基本的交通控制系统,用红绿黄灯表示禁行,通行和等待的信号发生,还能进行倒计时显示,自动检测繁忙,交通违规处理和紧急处理等功能。(1)倒计时显示和状态显示倒计时显示可以提醒驾驶员在信号灯灯色发生改变的时间、在“停止”和“通过”两者间作出合适的选择。倒计时显示是用来减少驾驶员在信号灯色改变的关键时刻做出复杂判断的1种方法,它可以提醒驾驶员灯色发生改变的时间,帮助驾驶员在“停止”和“通过”两者间作出合适的选择 。状态1状态2状态3状态4状态5状态6状态7状态8东西直行通行等待变换禁行等待变换禁行等待变换禁行等待变换南北直行禁行等待变换通行等待变换禁行等待变换禁行等待变换东西左拐禁

5、行等待变换禁行等待变换通行等待变换禁行等待变换南北左拐禁行等待变换禁行等待变换禁行等待变换通行等待变换(2)闯红灯检测现阶段,车辆检测器检测方式有很多,各有其优缺点,如红外线检测器、地磁检测器、机械压电检测器,磁频检测器、波频检测器、视频检测器等。一般闯红灯采用传感器+单片机+外围器件来实现。 因为闯红灯的速度快,所以用下降沿触发的中断信号。(3)时间手动设置 除系统根据车流量自动控制调整,也可以通过遥控进行手动设置,增加了人为的可控性,避免自动故障和意外发生,并再紧急状态下,可设置所有灯变为红灯。键盘是单片机系统中最常用的人机接口,一般情况下有独立式和行列式两种。前者软件编写简单,但在按键数

6、量较多时特别浪费I0口资源,一般用于按键数量少的系统。后者适用于按键数量较多的场合,但是在单片机I0 口资源相对较少而需要较多按键时,此方法仍不能满足设计要求。本系统创造性的用了遥控器来控制,省掉了按键的烦恼。(4)紧急处理 交通路口出现紧急状况在所难免,如特大事件发生,救护车等急行车通过等,我们都必须尽量允许其畅通无阻,毕竟在这种情况下是分秒必争的,时时刻刻关系着公共财产安全,个人生死攸关等。由此在交通控制中增设禁停遥控,就可达到当有紧急通行车辆(如消防车、救护车、警车)要求通过时,能自动开通该通道而关闭另一通道。(5)违规检测 如闯红灯等,也时有发生,交警等交通管理人员虽然可以进行实时监管

7、,但是耗费精力,在路口设置检测传感器就可以进行自动的警报提示。除了红灯警报,为了超越视觉指挥的局限性,同时接上蜂鸣器,在听觉上加强了指挥提醒作用。据此,本设计系统以单片机为控制核心,由车流量检测模块,违规检测模块,和遥控设置模块等产生输入,信号灯状态模块,LED倒计时模块和蜂鸣器状态模块接收输出。系统的总体框图如上所示。遥控设置模块对系统输入模式选择及具体通行时间设置的信号,系统进入正常工作状态,执行交通灯状态显示控制,同时将时间数据倒计时输入到LED数码管上实时显示。在此过程中还要实时捕捉违规检测和紧急按键信号,以达到对异常状态进行实时控制的目的。急停按键和违规检测随时调用中断。在模式选择上

8、,若为自动模式,将不断调用车流量检测模块对车流量进行检测统计,到达一定时间将修正通行时间以满足不同路况的需要。3系统硬件电路的设计3.1系统硬件总电路图原理图设计PCB设计3.2系统硬件总电路构成及原理实现本设计要求的具体功能,可以选用AT89C52单片机及外围器件构成最小控制系统,16个发光二极管分成4组红绿黄蓝四色灯构成信号灯指示模块,两位数码管构成倒计时显示模块,堵车繁忙检测,闯红灯信号检测,采用遥控控制时间设置和紧急情况调控等,以及用1个蜂鸣器和1个红灯进行报警,因时间紧迫,传感器和光敏接收器用按键触动来模拟。3.2.1系统硬件电路构成本系统以单片机为核心,组成一个集车流量采集、处理、

9、自动控制为一身的闭环控制系统。系统硬件电路由车流量检测电路、单片机、违规检测电路,状态灯,LED显示,按键,遥控器,蜂鸣器组成。其中P0,P2,用于送显两片LED数码管,组成动态扫描电路,P0用于控制红绿黄蓝发光二极管,XTAL1和XTAL2接入晶振时钟电路,REST引脚接上复位电路,P3.2即INT1接违规检测电路和紧停东西时间设置键J,P3.3即INT0接车流量检测电路,P2.6接警示灯,P2.7接蜂鸣器。3.2.2系统工作原理系统上电或手动复位之后,系统等待模式选择设置键按下,模式分两种:红绿灯时间自动和红绿灯时间设置。首先显示00,接着由遥控器进行加计数,接着按遥控器的确认键,开始倒计

10、时,同时状态灯开始按规律进行显示。时间到达一个状态所要全部时间,则要进行下一状态判断及衔接,并装入次状态的相应状态码值以及时间值,当然,还要开启两个外部中断,其一为违规信号或禁停信号输入,一旦主干道红灯信号有效,中断开始,进入中断服务子程序,开启蜂鸣器禁止全部通行,当断开按键,中断结束返回。其二为车流量检测信号输入,若检测到车辆经过,进入相应的中断子程序,将存储车流量的寄存器加1,然后中断结束返回。每满一个状态循环周期,若为自动模式,则须将检测到的车流量数据处理一次,判断两个方向的交通轻重缓急状况,再调整下次状态循环的红绿灯时间,以达到自动控制的目的。3.3其它硬件介绍及连接车辆繁忙检测电路及

11、模拟为了达到对红绿灯的时间控制,需要对道路上的车流量进行检测。当前比较流行的车流量检测器件,是一种自感式的车辆传感器。其工作原理是当车辆经过传感器时,引起其自感的变化,考虑到单片机系统的便利性,本次设计用一种手动的操作方式,即车流量的检测电路用微动开关代替。其基本思路为:当车流量大时,由微动开关送出一个高低电平变化,引起状态灯进行切换。违规检测电路及模拟在红灯和黄灯期间,车辆是禁行的,为了对那些违反规则的车辆进行检测,可使用超声波车辆传感器。但是,用于受到条件的限制,本系统设计中只是使用了微动开关模拟。因为时间有限制,我们团队用开关模拟闯红灯的操作,即在主干道红灯时,开关给个电平变化给单片机的

12、中断入口,进行判断,从而进行相应操作。两位LED数码管我们采用的是两位的共阳LED数码管,一个LED数码管就有两根位选线和8根段选线,要想显示一个数值,就要分别对它们的高低电平来加以控制,用动态扫描显示两位数字。显示数值g,f,e,d,c,b,a,dp驱动代码01000000181H111110011F3H20100100149H30110000161H40011001133H50010010125H60000010105H711110001F1H80000000101H90010000121H表3.1 驱动编码表3.3.4其它器件(1)发光二极管根据本设计的特点,红绿灯的显示不可少,红绿灯的

13、显示采用普通的发光二极管。每个方向上设置红绿黄蓝灯,总共4组。如果东西红灯亮,那南北方向就是绿灯亮,反之亦然,所以在硬件上连接图上也是对称分布的,如下图3.8所示。2)蜂鸣器本设计采用一般蜂鸣器,蜂鸣器使用PNP三极管进行驱动控制,当P2.7引脚输出为低电平,PNP导通,蜂鸣器蜂鸣;当P2.7引脚输出高电平时,PNP截止,蜂鸣器停止蜂鸣。如下图3.9所示图3.9 蜂鸣器连接(3)按键控制独立按键一端接地,另一端接上拉电阻。低电平有效,当按键按下端口接地,单片机捕获到低电平,从而知道相应的输入信息。4 系统软件程序的设计4.1程序主体设计流程全部控制程序实际上分为若干模块:遥控设置处理程序,状态

14、灯控制程序,LED显示程序,消抖动延时程序,次状态判断及处理程序,紧停或违规判断程序,中断服务子程序,车流量计数程序,红绿灯时间调整程序等。首先是初始化处理程序,89C51通过对遥控器扫描,进行初始值的加减,按遥控器的确认键后,状态灯按规定状态进行亮灭显示,想重新设置则要按下复位键。扫描程序开始后,先刷新显示模块,然后扫描紧停信号和违规信号,若捕获则调用中断,中断服务子程序主要启动蜂鸣器,直至恢复键按下。50ms已到则重新扫描。扫描20次之后计时到达1s则时间数据减1,在显示模块中修改显示缓冲区内容。接着进入红绿灯时间调整程序,更新红绿灯时间。当前状态时间已到,则判断次状态装入相应数据,然后进

15、入下一状态。4.2理论基础知识(1)定时器原理定时器工作的基本原理其实就是给初值,让它不断加1直至减完为模值,这个初值是送到TH0和TL0中的。它是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值,即所要求的计数值设定为C,把计数初值设定为TC 可得到如下计算通式:式中,M为计数器模值。计数值并不是目的,目的是时间值,设计1次的时间,即定时器计数脉冲的周期为T0,它是单片机系统主频周期的12倍,设要求的时间值为T,则有C=TT0。计算通式变为:T=(MTC)T0模值和计数器工作方式有关。在方式0时M为8192;在方式1时M的值为65536;在方式

16、2和3为256。就此可以算出各种方式的最大延时。如单片机的主脉冲频率为12MHZ,经过12分频后,若采用方式最大延时只有8.129毫秒,采用方式最大延时也只有65.536毫秒。这就是为什么扫描周期为50ms的原因,若使用软件则会耽搁程序流程,显然不可行。相反,时间计时方面却不可能只用计数器,因为显然秒钟已经超过了计数器的最大定时间,所以我们还必须采用定时器和软件相结合的办法才能解决这个问题。具体程序中:TH0=(65536-50000)/256 TL0=(65536-50000)%256 这样大概计时50ms(2)软件延时原理MCS-51的工作频率为12MHZ,机器周期与主频有关,机器周期是主

17、频的12倍,所以一个机器周期的时间为12*(1/12MHZ)=1us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定1秒的时间,但同时由于单片机的运行速度很快其他的指令执行时间可以忽略不计。我们设定一个初值为20的软件计数器和使T0定时50毫秒。这样每当T0到50毫秒时CPU就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中,CPU先使软件计数器减,然后判断它是否为零。为零表示秒已到。设定定时器需要定时50毫秒,故T0必须工作于方式。要求初值:TC=M-T*T0=216-50ms/1us=15536=3CBOH, (3)中断原理本系统主要使用了外部中断

18、,中断信号有引脚INT0和INT1输入,低电平有效,CPU每个时钟周期都会检测INT0和INT1上的信号,8051允许外部中断以电平方式或负边沿方式两种中断方式输入中断请求信号,可由用户通过设置TCON中IT0和IT1位的状态来实现。在优先级的允许下,一旦有外部中断信号产生,单片机CPU首先保护断点,PC值进栈,然后执行相应的中断服务子程序,执行完后,用RETI指令返回,此时CPU会从堆栈中取保存的断点地址,送回PC,程序再正常执行。4.3子程序模块设计(1)led灯初始值设定 通过对遥控器的按键输出进行编码,在单片机内部用程序解码,实现用遥控器进行加减显示设置,以及确定键。(2)状态灯显示及

19、判断在本设计中,实际控制的灯只有8个,即:东西红灯,东西绿灯,东西黄灯,南北红灯,南北绿灯,南北黄灯。定义IO端口如下,其中均是低电平有效。共有8种状态:东西红灯亮,南北绿灯亮;东西红灯亮,南北黄灯亮;东西绿灯亮,南北红灯亮;东西黄灯亮,南北红灯亮。P2.7,P2.6,P2.5,P2.4,P2.3,P2.2,P2.1,P2.0以及对应的十六进制码。在用于显示发光二极管时,直接将编码寻址送入P2口。刚才的8个状态是依次变换的,这就要涉及到状态的判断和衔接了。先把P2端口的值与所有的8个状态码比较,若相同则判断成功当前状态,再把下一状态的状态码送显P2即可。(3)LED倒计时显示LED计时每1秒都要刷新1次,那么计时满1秒时就要将存储时间的工作寄存器R4减1,然后送入LED显示程序中显示。下面要将时间数据R4的十位,个位分开送显P1,P0端口,首先将R4除以10,整数即十位放在A中,余数即个位放在B中,设置7段LED显示数据的数据表,用数据指针寄存器DPTR指向数据表的首地址,再加上A中的偏移量,就可以指向十位数字,然后送显即可,个位显示同理。(4)车辆繁忙检测中断服务子程序车辆繁忙检测检测是用外部中断引脚P3.2即INT1捕获到一个低电平,则进入相应的中断服务子程序,控制状态灯进行相应状态切换。(5)紧停及违规中断服务子程序紧停按键和违规信

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论