第1页共46页1摘要根据8051单片机的特点及交通灯在实际控制中的特点,本文提出一种用单片机自动控制交通灯及时间显示的方法。同时给出了软硬件设计方法,设计过程包括硬件电路设计和程序设计两大步骤,对在单片机应用中可能遇到的重要技术问题都有涉足。本文对十字路口状态预设为两种,一种是正常状态,另一种是故障或紧急状态,并分别用黄、红、绿色灯的不同组合来表示。本文介绍了控制基本原理以及控制的表现,同时也介绍了城市交通信息系统的设计目标,开发途径及其系统结构与功能和数据地理编码、建库,同时,论述了系统中交通现状、交通管理、交通规划及背景信息查询模块的建造及应用。介绍了用于城市交叉路口的三色程控交通信号时间显示器的研制方案,对其电源供电、发光二极管构成的负载结构、灯色时间检测都给出了精巧合理的优化结构,大幅度地提高了产品可靠性并降低了制造成本。关键词:8051单片机;交通灯;自动控制;时间显示器;软件;硬件;定时器;延时;外部中断AbstractAccordingtothefeatureofSCM8051andthecharacteristicsoftrafficlightsinrealcontrol,thearticleputsforwardthemethodofusingsigle-chipmicrocomputertocontrolautomaticallythetrafficsignallightsandtime-show.Themethodofrealizationofhardwarehasalsobeengiven,thewholeprocessincludedhardwarecircuitdesigningandprogramdesigning,inwhichsomeimportanttechniqueproblemthatmaymeetduringtheuseofSinglechipinvolved.Inthispaper,thestateofcrossingwasdesignedastwostates.Oneisnormal,anotherbreackdownorurgent,whichareexpressedwithdifferentcolourlampnamedyellow、redandgreen.Thebasicprincipleandmethodofcontrollingareintroduced.Inthispaper,thedesigngoals,developmentways,systemstructure,systemfunctions,geographic第2页共46页2codesanddatabaseoftheUrbanTrafficInformationSystem(UTIS)werepresented.Furthermore,thedevelopmentandtheapplicationtestsofthetrafficsituationmodel,thetrafficmanagementmodel,thetrafficplanmodelandthebackgroundinformationinquirementmodelofUTISwerediscussed.Thispaperintroducesthedevelopmentschemeofthree-colourprogrammabletrafficsignaltimeindicatorusedinthelevel-crossingofourcity,andgivesitspowersupply,loadconstructionmadebyLEDandtimedetectionoftrafficlampcolourareasonableoptimizestructure.ThereliabilityofProductissubstantiallyimprovedwhilethecostisreduced.KeyWords:SCM8051;trafficlights;automaticcontrol;timeindicator;hardwore;softworetimer;delay;externalinterrupt引言交通的发达,标志着城市的发达,相对交通的管理则显得越来越重要。对于复杂的城市交通系统,为了确保安全,保证正常的交通秩序,十字路口的信号控制必需按照一定的规律变化,以便于车辆行人能顺利地通过十字路口。考虑到单片机具有物美价廉、功能强、使用方便灵活、可靠性高等特点,拟采用MCS-51系列的单片机来实现十字路口交通信号灯的控制。正常情况下,十字路口的红绿灯应交替变换,考虑紧急情况下,如有救护车或警车到来时,应优先让其通过。在本文中,用发光二极管来模拟信号灯,救护车的优先通过请求信号由外部中断技术来模拟。要求使用8051定时器/计数器0作为定时器,假设南北和东西的通车时间都为30s,外部中断的延时为10s,要求对通行时间进行倒计时,从P1口输出,在LED上显示并进行递减。以此来实现十字路口交通灯的指示功能。第3页共46页3交通灯在安全行车过程中起着十分重要的作用,现在交通灯一般设在十字路口,在醒目位置用红、绿、黄三种颜色的指示灯,加上一个倒计时的显示计时器来控制行车,对于一般情况下的安全行车、车辆分流发挥着作用,但根据实际行车过程中出现的情况,主要有如下几个缺点:1两车道让车轮流放行时间相同且固定,在十字路口,经常一个车道为主干道,车辆较多,放行时间应该长些;另一车道为副干道,车辆较少,放行时间短些。2没有考虑紧急车通过时,两车道应采取的措施,譬如,有消防车通过执行紧急任务时,两车道的车都应停止,让紧急车通过。根据行车过程中出现的实际情况,如何全面有效地利用交通灯指示交通情况,本人尝试用单片机来控制交通灯,在软、硬件方面采取一些改进措施,使交通灯在控制中灵活而有效。传统的交通灯控制系统,采用的基本上是3种控制方式。手按:交警在岗亭值守,人为进行红绿灯改变;黄闪:夜间无人值守时,用每秒1次的黄灯闪亮,提醒司机安全驾驶;程控:以60s作为一个时间单位。某一方面(例南北方向)红黄绿三灯的工作程序分别是:红灯先亮30s,然后绿灯亮28s,再绿灯闪亮3s(每秒1次),最后黄灯亮2s。此时,另一方向(东西方向)红黄绿三灯的工作顺序相应为:绿灯亮25s,绿灯闪亮3s(每秒1次),黄灯亮2s,最后红灯亮30s。此后以60s作为时间单位进行上述的反复循环,较为合理地解决了十字路口的交通调度问题。但红绿灯的工作顺序及时间都是固定的,缺乏灵活性。采用该3种方式能解决一般岗亭的交通灯控制。但重点岗亭仍需要有2人以上同时值班,保证有事要处理时,仍能保留一名交警负责对交通灯的控制。而此时若想采用程控方式,交警将无法对交通灯再人为地加以管理。难以再科学地指挥车辆的通行,有效地解决交通堵塞问题。例如当南北方向车流量很大时,程控方式下的南北方向绿灯无法保证开放更长的时间,以缓解交通拥挤的问题。当前,交通事业蓬勃发展,交通流量年年增长,大、中、小城市的汽车、摩托车等各种车辆与日俱增,道路交通繁忙,经常有严重堵车现象,特别是在交叉口,机动车、非机动车、行人来往非常混乱,为了在叉口的各条干道实现合理的科学分流。本人根据单片机具有物美价廉、功能强、使用方便灵活、可靠性高等特点,提出了一种用MCS-51单片机自动控制交通信号灯及时间显示的方法,同时给出了软硬件的实现方法,为交通指挥自动化提供了一种新的廉价手段,具有一定的推广意义。第4页共46页4一.交通信号灯硬件电路的设计1.1交通信号灯的作用及工作原理:一般情况下,红绿灯设在十字路口,或在多干道的叉口上,目的是为了调整叉口的交通秩序使各干道来往车辆能够有条不紊地行驶,否则将造成意想不到的严重后果。当然在叉口设置合理的红绿灯后,也可大大减少交通管理部门的人力、物力。叉口交通信号等的基本作用:红灯亮表示车辆、行人禁止通行,绿灯亮表示车辆、行人可以通行,绿灯转换成红灯前几秒,可用黄灯亮来暗示驾驶员或行人即将禁止通行。该系统的屏幕时间显示用倒计时方式表示红绿灯的切换时间,时间显示器的作用是协助红绿灯工作,跟随红、绿灯反复地进行切换。目的是为了使驾驶员和行人能够看见红绿等亮的时间还剩几秒以便停车线以内的驾驶员和行人能够更清楚地知道此时该继续通行或减速,才不会使驾驶员盲目地加速或减速停车而阻碍另一干道车辆或行人的通行,第5页共46页5从而可以提高叉口车辆及行人的流通率,当然也可以减少事故的发生,为交通安全提供保障。交通信号灯的工作原理:如图1示,当A、B组红灯亮绿灯灭;则C、D组绿灯亮红灯灭。对A、B组或C、D组而言,每当绿灯亮转换成红灯亮前几秒(具体多长时间视实际情况而定)黄灯亮,当绿灯灭时黄灯也灭。1.2设计要求首先,要了解实际交通灯的变化规律.假设一个十字路口为东西南北走向.初始状态0东西方向绿灯通车,南北方向红灯,延时30s.转状态1,东西方向黄灯亮,南北方向红灯按1HZ的频率闪烁,延时5s.再转状态2,东西方向红灯亮,南北方向绿灯通车,延时20s.转状态3,东西方向红灯按1HZ的频率闪烁,南北方向黄灯亮,延时5s.最后循环至状态0.这里的延时采用定时器0延时.其次,当有紧急救护车出现时,应使东西南北四个方向全亮红灯,并延时10s,以便急救车通过,同时对通行时间进行倒计时,从P1口及P3口输出在发光二极管,使用8051定时器/计数器0作为定时器实现子程序延时.技术上可用外部中断0发出一单脉冲向CPU申请中断.再次,一般交通信号灯控制程序中使用软件延时,软件延时是靠执行一个循环程序以进行时间延迟.软件定时的特点是时间精确,且不需外加硬件电路.但软件定时要占用CPU,增加CPU开销,因此软件定时的时间不宜太长.本程序使用定时器/计数器0来定时,定时电路已经集成在芯片中,这种由硬件电路完成,不占CPU时间.它通过对系统时钟脉冲的计数来实现,即每个机器周期产生一个计数脉冲,也就是每个机器周期计数器加1.计数值通过程序设定,改变计数值,也就改变了定时时间,使用起来既灵活又方便.1.3设计方法⑴选用MCS-51单片机来实现,根据设计要求,交通信号灯控制器的外部输出信号为主、副车道红、黄、绿灯共12个驱动信号;编程使相应位复/置位来实现信号灯的亮第6页共46页6/灭控制,使得十字路口的红、绿灯交替点亮;在灯色交换时,黄灯闪烁提醒。⑵设计要求有紧急车辆通过时,十字路口均显示红灯。可以通过软件中断来完成紧急任务,定义T0为计数中断并为下降沿触发,编写对应中断向量子程序和中断服务程序,完成中断处理。⑶设计还对定时控制有所要求。对于精确定时,应该用计数器加以控制,硬件实现复杂度增加。考虑到该设计对时间精度要求不高,所以采用软件定时可以大大简化电路。先计算出程序单部执行的时间,设置循环参数,利用if语句按设计要求完成定时控制。二.系统组成2.1控制要求⑴主、支干道交替通行,主干道每次放行30秒,支干道每次放行20秒;⑵绿灯亮时表示可以通行,红灯亮时表示禁止通行;⑶每次绿灯变红灯时,黄灯先亮5秒(此时另一干道上的红灯不变);⑷十字路口要求有数字显示,作为时间提示,以便人们更直观地把握时间,具体要求主、支干道通行时间及黄灯亮的时间均以秒为单位做减数器;⑸在黄灯亮时,原红灯按1HZ的频率闪烁;⑹当有急救车到达时,路口的信号灯全部变红,让急救车通过。假定急救车通过时间为10s,急救车通过后,交通灯恢复先前状态。2.2硬件控制线路图第7页共46页7123456ABCD654321DCBATitleNumberRevisionSizeBDate:18-May-2005SheetofFile:D:\010220841\jiaotongdeng\11.ddbDrawnBy:EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P