智能交通控制系统的设计_第1页
智能交通控制系统的设计_第2页
智能交通控制系统的设计_第3页
智能交通控制系统的设计_第4页
智能交通控制系统的设计_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

智能交通系统****课程论文题目:智能交通控制系统的设计学院:工程学院专业:电气工程及其自动化班级:姓名:学号:指导教师:2012年06月目录TOC\o"1-2"\h\z\u1 研究意义 42 交通灯研究现状 42.1 国内城市交通现状 42.2 国际先进成果 43 研究内容 54 硬件设计 54.1 单片机概述 64.2 电源电路 64.3 检测电路 74.4 紧急按键K1电路 94.5 红绿灯显示电路 104.6 振荡电路 104.7 复位电路 114.8 单片机系统 124.9 交通灯演示系统 145 软件设计 145.1 主程序设计 155.2 延时子程序 165.3 黄灯闪烁子程序 185.4 车流量算法子程序 185.5 紧急车辆子程序 186 调试 196.1 断电调试 196.2 通电调试 196.3 基本要求部分的测试与分析 197 总结 19参考文献 20摘要:交通控制系统是近现代社会随着物流、出行等交通发展产生的一套独特的公共管理系统。要保证高效安全的交通秩序,除了制定一系列的交通规则,还必须通过一定的科技手段加以实现。本文根据AT89C51单片机的特点及交通灯在实际控制中的特点,提出了一种用单片机自动控制交通灯以及时间显示的方法,同时给出了软硬件设计的方法。设计的过程包括硬件电路设计和程序设计两大步骤,对在单片机应用中可能遇到的重要设计问题都有涉足。本系统采用单片机作为核心控制器,通过红外检测系统来测量东西方向和南北方向的车流量大小,经过简单的算法得出红绿灯时间。然后分别用红、黄、绿灯的不同组合来指挥两个方向的通车与禁行,用LED数码管作为倒计时指示,实时地控制当前交通灯时间使LED显示器进行倒计时工作并与状态灯保持同步,在保持交通安全的同时最大限度地提高交通能顺畅交替运行,从而实现十字路口的智能交通控制。本设计主要做了如下几方面的工作:一是确定系统交通控制的总体设计,包括,十字路口具体的通行禁行方案设计以及系统应拥有的各项功能,二是进行传感器的硬件电路、显示电路等的设计和基本功能要求。关键字:单片机;交通灯;红外检测;智能控制 Abstract:Trafficcontrolsystemisamodernsocietywithlogistics,transportationandothertransportationdevelopmentauniquesetofpublicmanagementsystem.Toensuretheeffectivesafetytraffic,exceptforaseriesoftrafficrules,alsomustpassacertainscientificandtechnologicalmeanstoachieve.BasedonAT89C51microcontrollerfeaturesandtrafficlightsintheactualcontrolofthecharacteristicsofproposedmethodtodisplayasingle-chipautomaticcontroloftrafficlightsandtime,giventhehardwareandsoftwaredesignmethods.Thedesignprocessincludestwostepsofthehardwarecircuitdesignandprogramdesign,importantdesignissuesthatmaybeencounteredinSCMapplicationshavetogetinvolved.Thesystemusesamicrocontrollerasthecorecontrollerbyinfrareddetectionsystemtomeasurethesizeoftheeast-westdirectionandnorth-southdirectionoftrafficflow,asimplealgorithmtocometotrafficlightstime.Differentcombinationsofred,yellow,green,andthenwereusedtodirecttheopeningofthetwodirectionsandtheforbiddenline,asthecountdownindicationLEDdigitaltubereal-timecontroloftrafficlights,LEDdisplaycountsdownandkeeppacewiththestatuslightsmaximizethetraffictomaintaintrafficsafetyandsmoothalternatingoperation,inordertoachievethecrossroadsoftheintelligenttrafficcontrol.Thedesignmadethefollowingmainaspects:oneistheworkofthetrafficcontrolsystemdesign,includingcrossroads,specificrestricteddesignandsystemshouldbewitheachfunction,twoisthatthesensor,thehardwarecircuitdesignofthecircuitandthebasicfunctionrequirements.Keywords:SCM;trafficlights;infrareddetection;intelligentcontrol研究意义随着社会经济快速发展,汽车数量的急剧增加,给城市交通带来了极大的压力。特别是在上下班高峰期,巨大的车流量使得道路拥挤,造成了不必要的时间浪费与经济损失。由此可见,交通拥塞已成为一个国际性的问题。因此,设计可靠、安全、便捷的智能交通灯控制系统有极大的现实必要性。而社会上正在使用的交通控制系统主要有两个缺陷:1、车道放行车辆时,时间设定相同且固定,十字路口经常出现主车道车辆多,放行时间短,车流无法在规定时间内通过,而副车道车辆少,放行时间明显过长;2、未考虑急车强通(例如,消防车执行紧急任务时,两车道都应等待消防车通过)。由于交通信号灯控制系统缺乏有效的应急措施,导致十字路口交通受阻,造成不必要的经济损失。本系统利用AT89C51单片机,实现了根据区域车流量、红外检测或者人为操作进行十字路口交通信号灯智能控制,并在软硬件方面采取一些改进措施,实现了根据十字路口车流、红外检测量进行交通信号灯智能控制,并且在紧急情况下,可以使用紧急按键使两路口都为红灯,让紧急车辆通过后再恢复正常通车,这样,交通信号灯现场控制灵活、有效,从一定程度上解决了交通路口堵塞、车辆停车等待时间不合理等问题,并可通过人为控制来解决紧急车辆强通问题。该系统具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,并且具有良好的扩展完善特点,有广泛的应用前景。交通灯研究现状国内城市交通现状汽车进入家庭步伐的加快和城市汽车数量的增多,城市道路交通问题显得越来越重要。我们在马路上经常会看到这种现象:一旦整个路口的交通信号灯出现故障,若没有交警的及时疏导,该路口就会塞得一塌糊涂。原交通信号控制大都采用继电器实现,存在着功能少、可靠性差、维护量大等缺点,越来越不能适应城市道路交通高速发展的要求。另外,根据人车流量的多少,可能随时增加路口的交通信号,比如增加转弯或人行道交通信号,原有系统的制约性就更明显了。交通问题在现在乃至将来的一段时间内仍是制约国内各大中城市发展的主要问题之一。以北京为例,“开车没有骑车快,坐车没有走路快”,这种现象在北京交通高峰时段已是见怪不怪。当年,奥委会在《申办城市手册》中谈到交通问题时指出:“成功举办奥运会的关键因素是要有一个有效的交通系统”,而“北京正面临着经济发展和城市快速扩展而产生的交通需求挑战”,从而可见一个有效的先进的交通系统的重要性。目前各城市都在不断改善交通设施,改进各十字路口交通灯控制方式,都得到了很好的效果。国际先进成果智能控制交通系统是目前研究的方向,也已经取得不少成果,在少数几个先进国家已采用智能方式来控制交通信号,其中主要运用GPS全球定位系统等。出于便捷和效果的综合考虑,可以制作传感器探测车辆数量来控制交通灯的时长。具体如下:在入路口的各个方向附近的地下按要求埋设感应线圈,当汽车经过时就会产生涡流损耗,环状绝缘电线的电感开始减少,即可检测出汽车的通过,并将这一信号转换为标准脉冲信号作为单片机的控制输入,并用单片机的计数器计数,按一定控制规律自动调节红绿灯的时长。比较传统的定时交通灯控制与智能交通灯控制,可知后者的最大优点在于减缓滞流现象,也不会出现空道占时的情形,提高了公路交通通行率。目前,基于单片机的智能交通系统在国内外还处于研究发展阶段,但已取得了很大的研究成果,得到了丰富的理论知识。研究内容综合研究和分析国内外交通灯的研究技术以及方向,总结各类检测车流量技术的特点和应用前景,利用现有的检测技术和控制技术设计一种基于51单片机的交通灯智能控制的装置。本次毕业设计设计一个主动式红外对射式传感器和单片机在交通系统中的应用设计,基本研究内容有以下几点:(1)学习并熟悉单片机的基本结构、引脚功能说明等硬件方面的知识。(2)在传感器上,主要使用的是红外传感器,在这方面我们要了解传感器的工作原理,传感器是该系统的检测部分的核心之一,它关系到其它各个部分的运行和操作。(3)学会利用多种语言编写单片机的程序,特别是高级语言的使用会极大地降低编写程序的复杂性。(4)在电路方面,我们要了解电路的作用,电路的工作原理,电路的设计原理,加深我们对电路知识的学习。(5)要熟悉系统设计思路,组织电路的设计,了解整个电路的联系,将其组成一个整体,实现最终的设计思路。硬件设计本系统利用AT89C51单片机作为系统的核心控制部件,利用其定时器/计数器作为红外传感器的接收端,通过高低电平的变化来统计通过检测区域的车流量,然后通过软件计时来控制接在P0端口的红绿灯的点亮与熄灭状态,并在8段数码管(接在P1和P2端口)上显示倒计时。系统的电路图主要由电源电路、遮光式红外传感器检测电路、红绿灯显示电路、红绿灯时间倒计时电路以及紧急按键K1电路等电路组成。系统的基本原理框图如图4-1所示。图4-1系统的基本原理框图下面从各个电路分别加以说明,首先介绍一下单片机。单片机概述单片机也被称为微控制器(Microcontroller),是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着INTELi960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。单片机比专用处理器更适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。电源电路电源采用输出为正5V直流电压的稳压电源电路。IC采用集成稳压器7805三端稳压器。它是一种标准化、系列化的通用线性稳压电源集成电路,以其体积小、成本低、性能好、工作可靠性高、使用简捷方便等特点,成为目前稳压电源中应用最为广泛的一种单片式集成稳压器件。当输出电流较大时,7805应配上散热板。C3为输入端滤波电容,C5为输出端滤波电容。如图4-2所示。图4-2电源电路本系统采用220V交流电电源,经过5V适配器滤波后,在固定式三端稳压器LM7805的Vin和GND两端形成一个并不十分稳定的直流电压(该电压常常会因为市电电压的波动或负载的变化等原因而发生变化)。此直流电压经过LM7805的稳压和电容的滤波便在稳压电源的输出端产生了精度高、稳定度好的直流输出电压。检测电路检测电路是本系统能够实现智能控制红绿灯时间的关键。检测电路的核心是红外传感器,下面首先对红外传感器做一个简单地介绍:红外传感器的发展传感器被定义为能感受规定的被测量并按照一定的规律转换成可用输出信号的器件或装置,通常由敏感元件和转换元件组成。红外传感器是利用物体产生红外辐射的特性,实现自动检测的传感器。在物理学中,我们就已经知道可见光、不可见光、红外光及无线电等都是电磁波,它们之间的差别只是波长(或频率)的不同而已。红外技术发展到现在,已经为大家所熟知,这种技术已经在现代科技、国防和工农业等领域获得了广泛的应用。红外传感系统是利用红外线为介质的测量系统,按照功能能够分成五类:(1)辐射计,用于辐射和光谱测量;(2)搜索和跟踪系统,用于搜索和跟踪红外目标,确定其空间位置并对它的运动进行跟踪;(3)热成像系统,可产生整个目标红外辐射的分布图像;(4)红外测距和通信系统;(5)混合系统,是指以上各类系统中的两个或者多个的组合。红外传感器根据探测机理可分成为:光子探测器(基于光电效应)和热探测器(基于热效应)。常用的红外传感器(1)红外探测器红外系统的核心是红外探测器,按照探测的机理不同,可以分为热探测器和光子探测器两大类。热探测器是利用辐射热效应,使探测元件接收到辐射能后引起温度升高,进而使探测器中依赖于温度的性能发生变化。检测其中某一性能的变化,便可探测出辐射。多数情况下是通过热点变化来探测辐射的。当元件接收辐射,引起非电量的物理变化时,可以通过适当的变换后测量相应的电量变化。(2)红外测温产品HEITRONICS拥有40多年非接触红外测温经验,50多种红外测温仪和非接触红外测温系统可满足不同行业用户的特殊需求,提供最优非接触红外测温解决方案。在高性能和高品质的红外测温产品市场,来自德国的HEITRONICS以其在尖端领域应用中良好的品质记录,被广泛公认为是世界一流的红外测温产品供应者而受到信任。HEITRONICS系列产品已广泛应用于冶金,玻璃,造纸,纺织,橡胶,木材,制陶,塑料涂层,沥青建筑,电子,食品,石化,水泥等工业制造、科学研究和实验领域。(3)压电传感器压电传感器是一种典型的有源传感器,它是以某些电介质的压电效应为基础,在外力作用下,电介质表面产生电荷,从而实现外力与电荷量间的转换,达到非电量的电测目的。压电传感器的应用:可分为单向力,双向力和三向力传感器。压电传感器的物理基础是压电效应,压电敏感元件感受力的作用而产生电压或电荷输出,即根据输出电压或电荷的大小和极性,就可确定作用力的大小和方向。由此可见,压电传感器可以直接用于测力,或测与力有关的压力、位移、振动加速度等。(4)磁电传感器磁电传感器可分为两大类,一类是基于铁芯线圈电磁感应原理的磁电感应式传感器,一类是基于半导体材料磁敏效应的磁敏传感器。磁敏管的应用:不但具有很高的磁灵敏度,同时能识别磁场极性:而且体积小,功耗低,因而具有广泛的应用前景。(5)光电传感器光电传感器是一种将光信号转换成电信号的装置,它具有结构简单,性能可靠,精度高,反应快等优点,在现代测量和自动控制系统中,应用非常广泛,是一种很有发展前途的新型传感器。(6)人体热释电红外传感器介绍和应用在电子防盗、人体探测器领域中,被动式热释电红外探测器的应用非常广泛,因其价格低廉、技术性能稳定而受到广大用户和专业人士的欢迎。(7)无线红外传感器无线红外传感器又称无线红外探测器是根据人体红外光谱而工作,当人体在其接受范围内活动时,探测器输出报警信号,广泛用于银行、仓库和家庭等场所的安全防范。综上所述,每一种传感器都有他的用处和广泛的应用前景。经过比较,在本文系统中最适合采用的是光电传感器,下面再简单地介绍下。主动式红外传感器简介光电传感器是通过把光强度的变化转换成电信号的变化来实现控制的。光电传感器在一般情况下,有三部分构成,它们分为:发送器、接收器和检测电路。发送器对准目标发射光束,发射的光束一般来源于半导体光源,发光二极管(LED)、激光二极管及红外发射二极管。光束不间断地发射,或者改变脉冲宽度。接收器有光电二极管、光电三极管、光电池组成。在接收器的前面,装有光学元件如透镜和光圈等。在其后面是检测电路,它能滤出有效信号和应用该信号。本文采用的是一种对射型光电传感器,即主动红外探测器。主动红外探测器由红外发射机、红外接收机和报警控制器组成。分别置于收、发端的光学系统一般采用的是光学透镜,起到将红外光束聚焦成较细的平行光束的作用,以使红外光的能量能够集中传送。红外光在人眼看不见的光谱范围,有人经过这条无形的封锁线,必然全部或部分遮挡红外光束。接收端输出的电信号的强度会因此产生变化,从而启动报警控制器发出报警信号。主动式红外探测器遇到小动物、树叶、沙尘、雨、雪、雾遮挡则不应报警,人或相当体积的物品遮挡将发生报警。由于光束较窄,收发端安装要牢固可靠,不应受地面震动影响,而发生位移引起误报,光学系统要保持清洁,注意维护保养。因此主动式探测器所探测的是点到点,而不是一个面的范围。其特点是探测可靠性非常高。但若对一个空间进行布防,则需有多个主动式探测器,价格昂贵。主动式探测器常用于博物馆中单体贵重文物展品的布防以及工厂仓库的门窗封锁、购物中心的通道封锁、停车场的出口封锁、家居的阳台封锁等等。主动式红外探测器有单光束、双光束、四光束之分。以发射机与接收机设置的位置不同分为对向型安装方式和反射式按装方式,反射型安装方式的接收机不是直接接收发射机发出的红外光束,而是接收由反射镜或适当的反射物(如石灰墙、门板表面光滑的油漆层)反射回的红外光束。当反射面的位置与方向发生变化或红外发射光束和反射光束之一被阻挡而使接收机无法接收到红外反射光束时发出报警信号。对于用于检测车流量的传感器,本系统采用主动式红外对射传感器,它相对于传统的被动式热释红外传感器有以下优点:(1)主动式对射红外传感器安装于十字路口上,采用多光束综合判断,当有车辆通过遮挡时,才被触发,极大的降低了传感器的误报(例如飞鸟等);(2)天气的变化对被动式热释红外传感器产生的影响很大,而主动式对射红外传感器大大地降低了这方面的影响。检测电路从上面的介绍可知,我们利用红外传感器的红外线发射和接收方向性较强的特点,在车辆经过的路面上安装密度适当的几排红外线发射接收电路,组成红外线矩阵,在没有遮挡的情况下红外线接收电路产生高电平信号,反之产生低电平信号。因此,根据车驶入、通过、驶出测试区时等状态引起的矩阵内各点高低电平的复杂变化,通过硬件电路的设计和软件算法的处理,最终统计出经过该测量区域内双向并排经过的车辆的总流量。红外传感器的检测示意图如图4-3所示。图4-3红外传感器检测示意图紧急按键K1电路当有紧急车辆通过时,操作员可以按下紧急按键K1,K1接在单片机的P3.1端口上,这样就产生了一个高电平。而单片机通过软件程序检测到P3.1口为高电平后,再通过软件调用一段子程序,使东西和南北方向都为红灯,并接通蜂鸣器警告普通车辆禁止通行,先让紧急车辆通过。待紧急车辆通过后,交通控制系统会恢复中断前的现场。其电路原理图如图4-4所示:图4-4紧急按键K1电路原理图红绿灯显示电路交通灯最基本的功能是颜色灯的显示,每个路口均需红、黄、绿灯各一盏,东、西道上的两组同色灯蝉联在一起,南、北道的两组同色也彼此互联。这6盏灯分别接在单片机的P0.0-P0.5口,如图3-6所示。D1、D2、D3分别代表的是东西方向的绿、黄、红灯;N1、N2、N3分别代表的是南北方向的绿、黄、红灯。当东西方向为绿灯时,P0.0口输出低电平,绿灯D1点亮;对应地,P0.6口也输出低电平,南北方向的红灯N3点亮。当东西方向为红灯时,P0.2口输出低电平,红灯D3点亮;对应地,P0.3口也输出低电平,南北方向的绿灯N1点亮。而当东西方向和南北方向均为黄灯时,黄灯会以2HZ的频率闪烁(通过软件来实现的),提醒车辆的驾驶员注意红绿灯的转换。下面图4-5是红绿灯与单片机的接线图。图4-5东西、南北方向红绿灯与单片机接线图振荡电路AT89C51的XTAL1和XTAL2引脚分别为单极片内反相放大器的输入/输出端,其频率范围为1.2~12MHz。XTAL2又是内部时钟发生器的输入端,这个内部反相器可与外部元件组成如图4-6所示的皮尔斯(Pierce)振荡器。当采用石英晶体振荡器时,C=(30±10)pF;当采用陶瓷谐振振荡器时,C=(40±10)pF。在任何情况下,振荡器始终驱动内部时钟发生器向主机提供时钟信号。因为时钟发生器的输入是个二分频触发器,所以对外部振荡信号的脉宽无特殊要求,但必须保证高低电平的最小宽度。图4-6单片机振荡电路复位电路本文中的单片机采用了外接的复位电路,并且采用了一种上电复位和手动复位的组合[9],复位电路图如图3-11所示。单独上电复位的电路时,并没有图3-11中与电容并联的开关,当Vcc上升时间不超过1ms,振荡器启动时间不超过10ms,则在Vcc接通电源时,这个自动上电复位电路保证在上电开机时对8951单片机进行正确的复位。当电源接通时,电源Vcc向电容充电,电流流入RST引脚。开始时,由于电容器上的电压不能突变,所以RST引脚上的电压升至等于Vcc电源电压,因为RST上的电压是Vcc和电容器上电压之差,所以随着充电过程,电容器上电压不断上升,RST引脚上的电压就不断下降。电容器容量越大,充电时间常数越大,即电容器上电压上升越慢,则RST引脚上的电压就下降越慢,必须使RST引脚上的电压保持在斯密特触发器的触发门槛电压以上足够长的时间,以满足复位操作的要求。所需的这个时间应为振荡器的起振时间再加上两个机器周期以上,因而所选的电容应足够大。如果Vcc上升时间不超过1ms,振荡器的起振时间不超过10ms,则选取10uf的电容就可提供可靠的复位。手动复位可在上电复位基础上并接一个复位开关(如图4-7),这样既保证上电复位,又可手动复位。单片机复位后,内部特殊功能寄存器复位后的状态为确定值。复位后,PC=00H,这表明程序从0000H地址单元开始执行。PSW=00H,表明选寄存器0组为工作寄存器组。P0至P3=FFH,表明已向各端口写入1。此时,各端口既可用于输入又可用于输出。IE=0**00000B,表明各个中断均被关断。编程时如果记住一些特殊功能寄存器复位后的状态,对于减少应用程序中的初始化是十分必要的。图4-7单片机复位电路单片机系统本设计单片机主要是用于控制交通灯的演示系统,故只需要单片机最小系统即可完成。单片机的最小系统是指能够驱动单片机工作的最小电路。此电路由单片机、时钟电路、电源、复位电路4个组成部分组成。图4-8为单片机最小电路的电路图。其中,单片机复位电路原理是在单片机的复位引脚rst上外接电阻和电容,实现上电复位,而复位时间是(时钟周期=12×振荡周期,振荡周期=1/f),这个时间只能大不能小,具体数值可以由rc电路计算出时间常数。3.9.1双电源供电电路供电电路由主电源和备用电源组成。主电源主要是由变压器、6A整流桥、2颗1000μF电容以及7805三端稳压管组成。这个部分为系统提供主要的供电,输出电压为5V直流。备用电源主要是由4位的5号电池盒组成。这个部分在主电源断电时能够几乎瞬时的为系统提供电源,输出电压也是6V直流。该电源直接接到单片机的电源端。图4-8交通灯演示系统电路图备用电源存在的意义就在于,如果主电源一旦断电的话能够及时的提供系统所需要的电力,以保证整个系统在主电源断电的时间内依然能够正常的工作。在实际的应用过程中,备用电源可以根据需要设置一个合适的容量,本设计出于演示的需要就只提供了4颗5号电池为载体的备用电源。主电源和备用电源的切换功能电路如图4-9所示。该切换电路的原理是根据二极管的单向导电性。单向导电性是指二极管的PN结加正向电压时,电阻值很小,PN结导通;加反向电压时,电阻值很大,PN结截止。当主电源正常工作时,由于二极管处于截止状态,由主电源供电,当主电源突然断开时,二极管导通,由电池组供电。此处选用双二极管串联工作原因是:当选用一个时,图4-9主电源和备用电源切换功能电路假设二极管处于截止状态,此时二极管阴极电位为5V,阳极电位为6V,所以电压差为1V,此时二极管一定处于导通状态,所以假设不成立。当主电源工作时电池组也提供电源,这会造成两个不同电压的电源并联,造成干电池组给主电源充电。而当选用两个二极管串联时,假设二极管处于截止状态,此时电压差为0.5V,0.5V<0.7V二极截止,假设成立。而当主电源断开时,能提供电压为6V减去2个二极管的压降为4.6V,此电压能保证单片机正常工作。中断系统主要是负责高低峰方案和紧急方案的切换。电路图如图4-10所示。图3-10中断系统交通灯演示系统根据功能,交通灯的演示系统从功能上则分为:倒计时电路、红绿灯功能电路。倒计时电路主要是由双位共阴数码管和74HC573N驱动模块组成,控制信号通过单片机的端口P1口进行信号的传输。倒计时电路负责的是显示红绿灯持续显示的时间。当绿灯或者红灯持续显示时,数码管显示该状态的持续时间,在黄灯闪烁显示时,起到倒计时秒数的作用。红绿灯功能电路主要是由各色的发光二极管和74HC573N驱动模块组成,控制信号跟数码管一样都是通过P1口进行传输。红绿灯电路负责的是各个车行道和人行道通行状态的显示。软件设计在本次设计中,采用了C语言作为程序编程的语言。相较于C语言,汇编语言的机器代码生成效率很高但可读性却并不强,复杂一点的程序就更是难读懂,而C语言在大多数情况下其机器代码生成效率和汇编语言相当,但可读性和可移植性却远远超过汇编语言,而且C语言还可以嵌入汇编来解决高时效性的代码编写问题。对于开发周期来说,中大型的软件编写用C语言的开发周期通常要小于汇编语言很多。综合以上C语言的优点,本设计在编程的时候选择了C语言。本设计在编程环境上也选择了KeilμVision2.0。这款软件支持众多不同公司的MCS51架构芯片,它集编辑、编译、仿真为一体,同时还支持PLM、汇编和C语言的程序设计,界面友好、简单易学,在调试程序。软件仿真方面都有很强大的功能。在初期的软件调试阶段,KeilμVision会提供非常便利的环境。在没有突发事件按钮和高低峰切换按钮都没有按下时交通灯的执行预定方案。预定程序执行方案流程图如图5-1。根据本设计交通灯的模型和实现的功能,程序流程图如图5-2所示。图5-1预定程序执行方案流程图上面主要讲述了系统的硬件设计部分,但一个系统必须有软件(即程序)来控制计算机运行。目前,对大多数MCS-51单片机的应用系统的编程语言主要有PLM、汇编和c语言。其中汇编和c语言比较常用。汇编语言的机器代码生成效率很高但可读性并不强,复杂一点的程序就更难读懂,而c语言在大多数情况下,其机器代码生成效率和汇编语言相当,但可读性和可移植性却远远超过汇编语言,而且c语言还可以嵌入汇编语言来解决高时效性的代码编写问题。因此,c语言是单片机开发、应用的重要趋势。目前,c语言已经成为在单片机基础上应用最为广泛的计算机语言之一。将c语言向单片机移植始于20世纪80年代的中后期。这些年,经过各公司(Keil/Franklin、Archmeades、IAR、BSO/Tasking等公司)坚持不懈的努力,终于在20世纪90年代,单片机c语言编程开始日趋成熟。现在c语言已经成为专业化的单片机编程高级语言。过去长期困扰人们的所谓“高级语言产生代码太长,运行速度太慢,因此不适合单片机使用”的缺点已被克服。现在MCS-51单片机上c语言的代码长度,已经做到了只有汇编语言的1.2-1.5倍。4K字节以上的程序,c语言的优势更能得到发挥。关于执行速度的问题,只要有好的仿真器帮助,找出关键代码,进一步用人工优化,就能很简单地达到十分完美的程序。从开发速度、软件质量、结构严谨、程序坚固等方面比较,c语言的优势更多。c语言有很多鲜明的特点,比较适于编写系统软件和大型的应用软件。下面结合MCS-51介绍单片机c语言的优越性。(1)不懂得单片机的指令集,也能够编写完美的单片机程序。(2)直接访问物理地址,可以进行位操作。(3)同函数的数据实行覆盖,有效利用片上有限的RAM空间。(4)语言提供复杂的数据类型(数组、结构、联合、枚举、指针等),极大地增强了程序处理能力和灵活性。(5)提供专门针对MCS-51单片机的data、idata、pdata、xdata、code等存储类型,自动为变量合理地分配地址。(6)提供small、compact、large等编译模式,以适应片上存储器的大小。(7)提供常用的标准函数库,以供用户直接使用。(8)c语言作为高级语言对机器没有依赖性,可以在各种不同的机器和操作系统上应用,而不必改写源代码(所谓的移植性好),生成目标代码的效率高。主程序设计本系统的程序就是用的c语言来编译的,下面是系统的主程序流程图:图5-2主程序流程图延时子程序单片机的1秒钟延时可以有两种方法,一种是利用AT89C51单片机内部定时器溢出中断来确定1秒的时间;另一种是采用软件延时来确定1秒的时间。计数器硬件延时(1)计数器初值计算定时器工作时必须给计数器送计数器初值,这个值是送到TH和TL中的。他是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值设定为C和计数初值设定为TC可得到如下计算通式:式中,M为计数器摸值,该值和计数器工作方式有关。在方式0时M为13;在方式1时M的值为16;在方式2和3时M的值为8。(2)计算公式或T计数是单片机时钟周期TCLK的12倍;TC为定时初值如单片机的主脉冲频率为TCLK12MHz,经过12分频方式0方式1显然1秒钟已经超过了计数器的最大定时间,所以我们只有采用定时器和软件相结合的办法才能解决这个问题.(3)1秒的方法我们采用在主程序中设定一个初值为20的软件计数器和使T0定时50毫秒.这样每当T0到50毫秒时CPU就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中,CPU先使软件计数器减1,然后判断它是否为零。为零表示1秒已到可以返回到输出时间显示程序。软件延时MCS-51系列的单片机的工作频率为2-12MHZ,我们选用的8951单片机的工作频率为12MHZ。机器周期与主频有关,机器周期是主频的12倍,所以一个机器周期的时间为12*(1/12M)=1us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定1秒的时间。计数器计数由硬件部分单片机的简介,我们知道了8951包含两个计数/定时器。T0是由TH0和TL0组合而成,T1的结构也是一样。当T0或T1用作计数器时,计数器的计数脉冲是从外部引脚引入的,这两个引脚分别是P3.5和P3.4,当这两个管脚出现下降沿时引发一个计数脉冲。计数脉冲引起T0和T1的当前值发生变化将不占用CPU时间。4.4数码管显示子程序数码管常用的显示方法有动态显示和静态显示两种。所谓动态显示,就是单片机定时地对显示模块件扫描,在这种方法中,显示模块件分时工作,每次只能有一个器件显示,但由于人视觉的暂留现象,所以仍感觉所有的器件都在显示。此种显示的优点是使用硬件少,因而价格低。但它占用机时长,只要单片机不执行显示程序,就立刻停止显示。由此可见,这种显示将使计算机的开销太大,所以,在以工业控制为主的单片机控制系统中应用很少。所谓静态显示,是由单片机一次输出显示后,就能保持该显示结果,直到下次送新的显示模型为止。这种显示占用机时少,显示可靠,因而在工业控制中得到了广泛的应用。这种显示方法的缺点是使用元件多,且线路比较复杂,因而成本比较高。但是,随着大规模集成电路的发展,目前已经研制出具有多种功能的显示模块件,例如,锁存器、译码器、驱动器和显示模块4位一体的显示模块件,用起来比较方便。黄灯闪烁子程序黄灯是警告信号,警告人们红绿灯即将转换,面对黄灯的车辆不能越过停车线,因此在这里设置黄灯闪烁点亮3s更加能引起人们的注意,从而尽量避免事故的发生。车流量算法子程序主程序中最重要的子程序即为车流量的算法子程序,它是交通灯系统实现智能化的重要手段。该子程序通过两方向实际车流量的大小与事先预定的车流量的大小进行一个简单的算法得出一个合理的绿灯通行时间,使得两方向上的车流能够及时畅通地通过十字路口。我们在这里设定东西方向的预定车流量为60,南北方向的预定车流量为45。通过主程序中的算法子程序“uintsuanfa(m)”我们可以发现,局部变量x和y分别被赋值等于单片机计数器T0和T1的值,然后再进行一个简单的代数算法。这里对两方向的车流量的大小分成了三种情况:(1),若两方向上的车流量都小于或等于5,则绿灯时间都赋予20s(之所以选择20s,是因为不能让绿灯通行时间太短,便于下一阶段的车流量检测);(2),若5<x<60或者5<y<45,即两个方向上没有都达到预定的车流量大小的情况下,我们就让下一个阶段的绿灯时间就等于计数器检测到的车流量大小;(3),若两个方向车流量大小均达到或超过预定值,则需要经过下面一个简单的算法:x=x-60;y=y-45;z=x-y;x=x+60;y=y-45;if(x>90)x=90;if(y>90)y=90;经过以上的算法之后,得到的绿灯时间完全符合正常情况的红绿灯时间,且不会太长,以免让红灯车道上的车辆等待太长时间。紧急车辆子程序紧急车辆的通过功能也是本系统与现在市面上正在使用的交通灯的主要区别之一,这个设计很人性化。比如,一辆救护车需要紧急救人,但在十字路口处遇到红灯,则这个功能的设计将会发挥很大的作用,为救人争取更多的时间。当有紧急车辆需要通过时,操作员按下按键K1,单片机P0.2和P0.5输出低电平,使得接在这两个端口上的两个红灯点亮,禁止普通车辆通过。调试断电调试为安全起见,防止硬件烧坏,首先进行断电调试,用万用表检测系统是否有短路现象,再检查严原理是否正确,各个线路的电平是否正常。经检测,未出现短路现象以及各个电平都正常。通电调试(1)关掉交流电源开关,用万用表直流电压档测量稳压输出电压,测量结果只有4.2V,用12V电源直接接入7805输入端,测量输出电压达到4.99V。经检查分析为稳压芯片7805输入端电容没有接入,输入电压变化太大,造成7805无法稳压。经处理问题解决。(2)检查系统时钟是否正常工作,用万用表直流电压档测量XTAL1与AXTAL2两端间的电压,检测到电压若为2.5V左右,则视为正常工作。(3)检查复位电路是否正常工作。(4)检查数码管显示和LED灯是否正常。基本要求部分的测试与分析(1)系统上电后,显示交通灯基本状态,按中断按键,中断正常,直接进入S5状态,按复位按键,整个系统复位成功。(2)按高低峰切换按键,系统即时切换到高峰时段方案,再按下高低峰切换按键,系统即时切换到低峰时段方案,最后按下高低峰按键,系统重新进入预定流程。(3)在未进行任何

温馨提示

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

评论

0/150

提交评论