找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6483|回复: 3
打印 上一主题 下一主题
收起左侧

车流量检测

[复制链接]
跳转到指定楼层
楼主
ID:116202 发表于 2016-4-23 20:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1 绪论
1.1 交通灯控制系统的发展
1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。
1914年,电气启动的红绿灯出现在美国。这种红绿灯由红绿黄三色圆形的投光器组成,装在纽约5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。
1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。
信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。
1.2 课题研究的背景  
随着城市机动车辆的不断增加,许多大城市出现了交通超负荷运行的情况。因此,自80年代后期,这些城市纷纷修建城市高速道路,在高速道路建设完成的初期,它们也曾有效地改善了交通状况。然而,随着交通量的快速增长和缺乏对高速道路的系统研究和控制。高速道路没有充分发挥出预期的作用。而城市高速道路在构造上的特点,也决定了城市高速道路的交通状况必然受高速道路与普通道路耦合处交通状况的制约。所以,如何采用合适的控制方法,最大限度利用好耗费巨资修建的城市高速道路。缓解主干道与匝道、城区同周边地区的交通拥堵状况,越来越成为交通运输管理和城市规划部门亟待解决的主要问题。
目前,国内大部分中小城市仍采用传统的交通灯控制模式,但随着城市的不断发展,基于车流量的智能交通灯控制系统必将受到广大人民的青睐。传统的交通信号灯,通常采用定时分配方式控制,主要存在三方面的缺陷:(1)车道放行车辆时,十字路口经常出现不同相位上车辆放行时问相同,车辆多的一方容易出现车辆堆积,造成下一路口的交通阻塞;(2)当某相位上无车时,恰好是该相位上的车辆通行时间,则在这段时间内,就出现了交通指挥盲点;(3)当一路口车流量很大时,不能够自动延长口的绿灯时间,导致在一个周期内此路口的车辆不能完全通过。
为了更好的解决上述问题,本系统利用传感器检测车流量状态,用单片机AT89C51对路口车流量进行统计,并执行相应的处理程序,来实现智能交通灯控制系统,达到了根据车流量大小实时控制路口的通行情况。该交通系统的设计具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,具有广泛的应用前景。
1.3 课题研究的主要内容
本课题研究的内容有如下几个方面:
(1)基于车流量的智能交通灯控制系统的工作原理。
(2)基于车流量的智能交通灯控制系统的硬件设计。
(3)车流量检测原理及其硬件电路设计。
(4)基于车流量的智能交通灯控制系统的程序设计。

2 课题研究方案2.1 具体研究方案2.1.1 系统总体方案
通过对课题研究内容的理解,并考虑系统的性价比,得到系统的总体方案。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif
图2-1 总体方案
2.1.2 车流量检测方案
方案一:
采用遥感微波检测器(RTMS)。微波交通检测器是利用雷达线性调频技术原理,通过发射中心频率为10.525GHz或24.200GHz的连续频率调制微波(FMCW);在检测路面上,投映一个宽度为3-4米,长度为64米的微波带。每当车辆通过这个微波投映区时,都会向RTMS反射一个微波信号,RTMS接收反射的微波信号,并计算接收频率和时间的变化参数以得出车辆的速度及长度,提供车流量、道路占有率、速度和车型等实时信息。为了检测出车道上车的数量,RTMS在微波束的发射方向上以2M为一个层面分展探测物体,微波束在15度范围内投影形成一个分为32个十层面的椭圆形波束,(椭圆的宽度取决于仪器选择的工作方式),通过这种方式可检测出车量数RTMS具有两种基本的使用模式,分别是路边侧向模式和前方正向模式。路边侧向模式可以使用一台RTMS同时检测多至8条车道,并提供每条车道的交通信息。前方正向模式,用一台RTMS实时检测一条单一车道的交通情况。RTMS的检测精度高,且是一个全天候的车辆检测器。
方案二:
采用磁感应车辆检测器.这种环形线圈检测器是传统的交通检测器,是目前世界上用量最大的一种检测设备。这些埋设在道路表面下的线圈可以检测到车辆通过时的电磁变化进而精确地算出交通流量。交通流量是交通统计和交通规划的基本数据,通过这些检测结果可以用来计算占用率(表征交通密度),在使用双线圈模式时还可以提供速度、车辆行驶方向、车型分类等数据,这些数据对于交通管理和统计是极为重要的。原理方框图如下:
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image002.gif
图2-2 磁检测器方框图
该方案测量精度较好,且性能稳定。
方案三:
利用红外线车辆检测器。红外线车辆检测器是利用被检测物对光束的遮挡或反射,通过同步回路检测物体有无。物体不限于金属,所有能反射光线的物体均可被检测。光电开关将输入电流在发射器上转换为光信号射出,接收器再根据接收到的光线的强弱或有无对目标物体进行探测。如当汽车通过光扫描区域时,部分或全部光束被遮挡,从而实现对车辆数据的综合检测。红外线车辆扫描系统提供了车辆轮廓扫描的解决方案,并提供车辆分离信号,同时还能够检测挂钩是否存在及其位置,由于光学产品的高速响应,当车速低于100公里/小时,系统可对车辆间距0.3米车辆实现可靠的分离检测并抓取车辆轮廓数据,当车速低于200公里/小时,对车辆间距0.6米的车辆实现可靠的分离检测并抓取轮廓数据,系统可自动分类超过100种车型,车辆自动分类的准确率超过99%。常利用光电开关技术成熟,高速响应,可输出丰富的车辆数据信息,能可靠检测各种特殊车辆。抗干扰性强,不受恶劣气象条件或物体颜色的影响,安装简便。
方案一造价高,且易受环境影响,方案二需将检测器埋入地底下,对已建成道路使用不方便。方案三性价比高,且设计简单,权衡利弊,故选用方案三。
2.1.3 主控制器选择
方案一:
采用数字电路设计。通过译码器,计数器,以及555定时器等组成一个交通灯控制系统,虽然易于实现,但由于涉及的集成数字芯片较多,且不便于实现车流量检测信号的输入,故很难完成系统设计任务。
方案二:
采用AT89C51单片机作为主控制器。AT89C51具有两个16位定时器/计数器,5个中断源,便于对车流量进行定时中断检测。32根I/O线,使其具有足够的I/O口驱动数码管及交通灯。外部存贮器寻址范围ROM、RAM64K,便于系统扩展。其T0,T1口可以对外部脉冲进行实时计数操作,故可以方便实现车流量检测信号的输入。
单片机具有功耗小、速度快、价格低等优点,且编程简单,故选用方案二。
2.1.4 显示方案选择
该系统要求完成倒计时、状态灯等显示功能。基于上述原因,我们考虑了三种方案:
方案一:
完全采用数码管显示。这种方案只显示有限的符号和数码字符,无法胜任题目要求。
方案二:
完全采用点阵式LED显示。这种方案实现复杂,且须完成大量的软件工作;但功能强大,可方便的显示各种英文字符,汉字,图形等。
方案三:
采用数码管与点阵LED相结合的方法因为设计既要求倒计时数字输出,又要求有状态灯输出等,为方便观看并考虑到现实情况,用数码管与LED灯分别显示时间及状态信息。
这种方案既满足系统功能要求,又减少了系统实现的复杂度。权衡利弊,第三种方案可互补一、二方案的优缺,我们决定采用方案三以实现系统的显示功能。
2.2 单片机概述2.2.1 单片机发展
单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。
单片机经过1、2、3三代发展,目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增强,内部资源在增多,引脚的多功能化,以及低电压低功耗。
2.2.2 AT89C51单片机简介
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable ReadOnly Memory)的低电压,高性能的CMOS 8位微处理器,单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。
AT89C51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在分别加以说明:
(1)中央处理器:
中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
(2)数据存储器(RAM)
89C51内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。
(3)程序存储器(ROM):
89C51共有4KB掩膜ROM,用于存放用户程序,原始数据或表格。
(4)定时/计数器(ROM):
89C51有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。
(5)并行输入输出(I/O)口:
89C51共有4组8位I/O口(P0、P1、P2和P3),用于对外部数据的传输。
(6)全双工串行口:
89C51内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。
(7)中断系统:
89C51具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。
(8)时钟电路:
89C51内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但89C51单片机需外置振荡电容。
单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。INTEL的MCS-51系列单片机采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机则采用普林斯顿结构。
AT89C51单片机的引脚说明:MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。其常用封装形势如下:
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpgfile:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image006.jpg
   
                     
图2-3 引脚说明
Pin9:RESET/Vpd复位信号复用脚,当89C51通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,及89C51的初始态。
89C51的复位方式可以是自动复位,也可以是手动复位,如图2-4。此外,RESET/Vpd还是一复用脚,Vcc掉电期间,此脚可接备用电源,以保证其内部RAM的数据不丢失。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image008.jpg
图2-4 复位电路说明
Pin30:AE/file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image010.gif当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当访问外部程序存储器,ALE会跳过一个脉冲。
如果单片机是EPROM,在编程其间,file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image010.gif将用于输入编程脉冲。
Pin29:file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image012.gif当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。
Pin31:EA/Vpp程序存储器的内外部选通线,89C51内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。显然,对内部无程序存储器的8031,EA端必须接地。
在编程时,EA/Vpp脚还需加上21V的编程电压[2]。
2.3 光电开关概述2.3.1 光电开关的工作原理
光电开关(光电传感器)是光电接近开关的简称,它是利用被检测物对光束的遮挡或反射,由同步回路选通电路,从而检测物体有无的。物体不限于金属,所有能反射光线的物体均可被检测。光电开关将输入电流在发射器上转换为光信号射出,接收器再根据接收到的光线的强弱或有无对目标物体进行探测。其工作原理图如下:
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image014.jpg
图2-5 光电开关工作原理简图
发送器对准目标发射光束,发射的光束一般来于半导体光源,发光二极管(LED)、激光二极管及红外发射二极管。光束不间断地发射,或者改变脉冲宽度。接收器有光电二极管、光电三极管、光电池组成。在接收器的前面,装有光学元件如透镜和光圈等。在其后面是检测电路,它能滤出有效信号和应用该信号。
2.3.2 光电开关的分类
光电开关按检测方式可分为反射式、对射式和镜面反射式三种类型。 对射式检测距离远,可检测半透明物体的密度(透光度)。反射式的工作距离被限定在光束的交点附近,以避免背景影响。镜面反射式的反射距离较远,适宜作远距离检测,也可检测透明或半透明物体。下表给出了光电开关的检测分类方式及特点说明。
表2-1 光电开关的检测方式

file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image016.jpg


光电开关按结构可分为放大器分离型、放大器内藏型和电源内藏型三种。放大器分离型是将放大器与传感器分离,并采用专用集成电路和混合安装工艺制成,由于传感器具有超小型和多品种的特点,而放大器的功能较多。因此,该类型采用端子台连接方式,并可交、直流电源通用。具有接通和断开两种延时功能,兼有接点和电平两种输出方式。放大器内藏型是将放大器与传感器一体化,采用专用集成电路和表面安装工艺制成,使用直流电源工作。其响应速度快,有0.1ms和1ms两种,能检测狭小和高速运动的物体。兼有电压和电流两种输出方式,能防止相互干扰,在系统安装中十分方便。电源内藏型是将放大器、传感器与电源装置一体化,采用专用集成电路和表面安装工艺制成,它一般使用交流电源,适用于在生产现场取代接触式行程开关。可直接用于强电控制电路,也可自行设置自诊断稳定工作区指示灯,输出备有SSR固态继电器或继电器常开、常闭接点,可防止相互干扰。
2.3.3 光电开关的应用
随着我国工业自动化技术的迅速发展,光电开关自动化元件将被普遍采用。应用领域也在不断扩展,采用集成电路技术和SMT表面安装工艺而制造的新一代光电开关器件,具有延时、展宽、外同步、抗相互干扰、可靠性高、工作区域稳定和自诊断等智能化功能。这种新颖的光电开关是一种采用脉冲调制的主动式光电探测系统型电子开关,它所使用的冷光源有红外光、红色光、绿色光和蓝色光等,可非接触、无损伤地检测和控制各种固体。新型光电开关具有体积小、功能多、寿命长、精度高、响应速度快、检测距离远以及抗光、电、磁干扰能力强等优点。
目前,这种新型的光电开关已被用作物位检测、液位控制、产品计数、宽度判别、速度检测、定长剪切、孔洞识别、信号延时、自动门传感、色标检出、冲床和剪切机以及安全防护等诸多领域。
在本系统中,采用对射式红外线光电开关HJS18-M14DNK检测车流量。HJS18-M14DNK工作电压为直流10-30V,检测距离为10m,响应时间小于3ms,能在-25℃~55℃的温度条件下正常工作。当有车辆通过光电开关之间时,输出端将输出一个开关信号,送入单片机,单片机执行相应程序自动对输入信号进行计数,从而完成对车流量的统计。
2.4 七段数码管
分段式数码管由分布在同一平面上若干段发光的笔画组成,如半导体显示器。其基本结构是PN结,即用发光二极管(LED)组成字型来来显示数字。这种数码管的每个线段都是一个发光二极管,因此也称LED数码管或LED七段显示器。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。
                                 
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image018.jpg
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image020.jpg
图2-6 共阳极数码管结构图                           图2-7 共阳极数码管结构图
2.5 电源电路设计
单片机系统电源设计是单片机应用系统设计中的一项重要工作,电源的精度和可靠性等各项指标,直接影响系统的整体性能。为了使单片机正常工作,以5V直流电为单片机供电。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image022.jpg
图2-8 电源电路图
(1)复位电路的设计
复位电路是使单片机的CPU或系统中的其他部件处于某一确定的初始状态,并从这上状态开始工作。通常单片机复位电路有两种:上电复位电路和按键复位电路。上电复位是单片机上电时复位操作,保证单片机上电后立即进入规定的复位状态。它利用的是电容充电的原理来实现的。按键复位电路,它不仅具有上电复位电路的功能,同时它的操作比上电复位电路的操作要简单的多。如果要实现复位的话,只要按下RET键即可。它主要是利用电阻的分压来实现的,在此设计中,采用的按键复位电路。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image024.jpg
图2-9 复位电路
复位电路的工作原理是,复位键接通电源上电后,单片机自动实现复位操作。上电瞬间RET引脚获得高电平,随着电容的充电,RET引脚的高电平将逐渐下降。RET引脚的高电平只要能保持足够的时间即2个机器周期,单片机就可以进行复位操作。有效的复位电路不仅在上电时可以自动复位,而且在单片机运行期间,利用按键也可以完成复位操作。
(2)晶振电路的设计
晶振电路用于产生单片机工作所需要的时钟信号,而时序所研究的是指令执行中各信号之间的相互关系。单片机本身就如一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地工作。通常在引脚Xl和X2跨接石英晶体和两个补偿电容构成自激振荡器,如图2-10中Y1、C1、C2。可以根据情况选择6MHz、12MHz或24MHz等频率的石英晶体,,补偿电容通常选择33pF左右的瓷片电容。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image025.jpg
图2-10 晶振电路
根据系统设计要求,结合各单元电路,得到所需系统原理图。详图见附录I

3 程序设计
3.1 软件可靠性设计
在单片机软件程序的设计中,采用一些措施来提高单片机系统工作的可靠性。软件抗干扰研究的内容主要有:一、消除模拟输入信号的嗓声(如数字滤波技术);二、程序运行混乱时使程序重入正轨的方法。这里针对后者提出几种有效的软件抗干扰方法。(1)指令冗余技术
单片机CPU取指令过程是先取操作码,再取操作数。当PC受干扰出现错误,程序便脱离正常轨道“乱飞”,当乱飞到某双字节指令,若取指令时刻落在操作数上,误将操作数当作操作码,程序将出错。若“飞”到了三字节指令,出错机率更大。
在关键地方人为插入一些单字节指令,或将有效单字节指令重写称为指令冗余。通常是在双字节指令和三字节指令后插入两个字节以上的NOP。这样即使乱飞程序飞到操作数上,由于空操作指令NOP的存在,避免了后面的指令被当作操作数执行,程序自动纳入正轨。  此外,对系统流向起重要作用的指令如RET、 RETI、LCALL、LJMP、JC等指令之前插入两条NOP,也可将乱飞程序纳入正轨,确保这些重要指令的执行。
(2)软件陷阱技术
当乱飞程序进入非程序区,冗余指令便无法起作用。通过设置软件陷阱,拦截乱飞程序,将其引向指定位置,再进行出错处理。软件陷阱是指用来将捕获的乱飞程序引向复位入口地址0000H的指令。
例如,对于8051单片机,通常在单片机程序存储器中非程序区填入以下指令作为软件陷阱:
  NOP
  NOP
  LJMP0000H
在用户程序区各模块之间的空余单元也可填入陷阱指令。当使用的中断因干扰而开放时,在对应的中断服务程序中设置软件陷阱,能及时捕获错误的中断。如某应用系统虽未用到外部中断1,外部中断1的中断服务程序可为如下形式:
  NOP
  NOP
  RETI
返回指令可用“RETI”,也可用“LJMP 0000H”。如果故障诊断程序与系统自恢复程序的设计可靠、完善,用“LJMP 0000H”作返回指令可直接进入故障诊断程序,尽早地处理故障并恢复程序的运行[11]。
考虑到程序存储器的容量,软件陷阱一般1K空间有2-3个就可以进行有效拦截。
(3)软件“看门狗”技术
若失控的程序进入“死循环”,通常采用“看门狗”技术使程序脱离“死循环”。通过不断检测程序循环运行时间,若发现程序循环时间超过最大循环运行时间,则认为系统陷入“死循环”,需进行出错处理。“看门狗”技术可由硬件实现,也可由软件实现。 在工业应用中,严重的干扰有时会破坏中断方式控制字,关闭中断。则系统无法定时“喂狗”,硬件“看门狗”电路失效。而软件“看门狗”可有效地解决这类问题。
3.2 主程序流程图
当车流量小于15的时候执行状态3,车流量小于25大于15的时候执行状态2,车流量大于25的时候执行状态1,其工作流程图如图3-1所示
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image027.gif
图3-1 主程序流程图
3.3 中断程序流程图
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image029.gif
   
   
图3-2 中断程序流程图
3.4 系统工作状态说明
光电开关将检测到的车流量脉冲信号送入单片机的T1口,T1对输入脉冲计数,同时单片机T0口对其定时,在设置的一段时间内(如1分钟),通过单片机定时器T0的溢出中断,将计数值送回,单片机通过执行相应的程序,从而控制交通状态灯切换及数码管的倒计时时间显示。单片机根据车流量变化具体工作状态如下:
①    当定时时间,执行定时中断T0,单片机将T1的计数值送给车流量检测变量CAR_NUMBEERS,单片机每执行一次程序,都将扫描该变量的值。当CAR_NUMBERS大于25辆/分,执行状态Ⅰ:东西方向绿灯,南北方向红灯,倒计时40秒,然后东西黄灯5秒,南北保持红灯5秒,紧接着东西红灯,南北方向绿灯,倒计时25秒后,南北亮黄灯5秒,东西保持红灯状态5秒后,重新扫描。
②   当系统刚开始工作或者CAR_NUMBERS大于或等于15辆/分,小于或等于25辆/分,将执行状态Ⅱ:东西方向绿灯,南北方向红灯,倒计时30秒,然后东西黄灯5秒,南北保持红灯5秒,紧接着东西红灯,南北方向绿灯,倒计时25秒后,南北亮黄灯5秒,东西保持红灯状态5秒后,重新扫描。
③   当CAR_NUMBERS小于15辆/分,执行状态Ⅲ:东西方向绿灯,南北方向红灯,倒计时50秒,然后东西黄灯5秒,南北保持红灯5秒,紧接着东西红灯,南北绿灯,倒计时45秒后,南北亮黄灯5秒,东西保持红灯5秒后,重新扫描[4]。
(2)相关参数说明
交通量counts:是指在选定的时间段内,通过道路某一地点、某一断面或某一条车道的车辆实体数。交通量是一个随机数,不同时间、不同地点的交通量都是变化的,交通量随时间和空间变化的现象,称之为交通量的时空分布特性。通常取某一时间段内的平均值作为该时间段内的交通量。
参考时间t:为了更准确地表示某个路口的车流量,选择一个适合的时间段作为参考值,即参考时间。
车流量CAR_NUMBERS:指单位时间内通过某一地点、某一断面或某一条车道的车辆实体数。具体关系如下:
CAR_NUMBERS = counts/t (辆/分)

4系统仿真与调试4.1 系统仿真4.1.1 Protues仿真软件简介
Proteus是英国Labcenter公司开发的电路分析与仿真软件。Proteus是目前最好的模拟单片机外围器件的工具,它可以仿真51系列、AVR,PIC等常用的MCU及其外围电路(如LCD,RAM,ROM,键盘,马达,LED,AD/DA,部分SPI器件,部分IC器件)。本文基于Proteus6.7SP3和KEIL uVision3软件。运行于Windows操作系统上,可以仿真、分析(SPICE)数字电路、模拟电路、数模混合电路,是目前唯一能实现对51、PIC、AVR、HC11等处理器的仿真软件。该软件的特点是:
(1)集原理图设计、仿真和PCB设计于一体,实现从概念到产品的完整开发工具。
(2)具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真,是独一无二的支持处理器与外围电路的协同仿真电路设计软件。
(3)具有全速、单步、设置断点等多种形式的调试功能。
(4)具有各种信号源和电路分析所需的虚拟仪表,是电类教学实验与创新的平台。
(5)支持Keil C51 uVision2、MPTLAB等第三方的软件编译和调试环境。
(6)具有强大的原理图到PCB板设计功能,可以输出多种格式的电路设计报表。
4.1.2 仿真原理图
Proteus软件具有仿真功能,要仿真首先要绘制原理图。点击图标file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image031.jpg打开Proteus软件,进入绘图界面后点击file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image033.jpg按扭,点击出现的元件列表框上方的按扭file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image035.jpg,在出现的“pickdevice”中的“keywords”下面的框中输入元器件的名字,或者在category中找到元器件的名字;双击元器件名称或者点击file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image036.gif,在元件列表框中就会出现所选的元器件。再点击按扭file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image038.jpg,在元件列表框中选择地线和电源。选好所有的元器件后单击元件列表中的图标就可以把所需要的元件放入编辑窗口中,调整元件的位置,并把地线和电源放入编辑窗口中,最后进行连线。通过在T1口接入一个开关,模拟光电开关信号,手动控制开关的脉冲数,即为需要模拟的车流量,从而达到仿真效果。系统仿真详图见附录II
4.1.3 加载仿真程序
单击“Debug”菜单,在下拉菜单中单击“Go”选项,(或者使用快捷键F5),然后再单击“Debug”菜单,在下拉菜单中单击“Stop Running”选项(或者使用快捷键Esc);再单击“View”菜单,再在下拉菜单中单击“Serial Windows #1”选项,就可以看到程序运行后的结果。
单击“Project”菜单,在下拉菜单中单击“file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image039.gif”单击“Output”中单击“Create HEX File”选项,使程序编译后产生HEX代码,供下载器软件使用,把程序下载到AT89C51单片机中[4]。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:260242 发表于 2017-12-11 16:39 | 只看该作者
您好,有红外接收发送的电路图吗?
回复

使用道具 举报

板凳
ID:697842 发表于 2020-2-25 10:53 | 只看该作者
学习,还有太多的地方不懂
回复

使用道具 举报

地板
ID:697842 发表于 2020-2-25 10:55 | 只看该作者
我佩服你的五体投地,我们也正在研究这个课题,请你多赐教
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表