还剩22页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
摘要道路交通信号灯是交通安全产品中的一个类别,是为了加强道路交通管理,减少交通事故的发生,提高道路使用效率,改善交通状况的一种重要工具适用于十字、丁字等交叉路口,由道路交通信号控制机控制,指导车辆和行人安全有序地通行近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制技术日益更新本文将介绍一种基于单片机控制的交通信号灯的自动指挥系统交通信号灯控制方式很多本系统采用MSC-51系列单片机AT89C51和芯片74LS245为中心器件来设计交通灯控制系统本系统性能稳定,功能完善,实用性强AbstractRoadtrafficlightsisasafetyproductcategoriesistoenhanceroadtrafficmanagementandreducetheoccurrenceoftrafficaccidentsandenhanceroaduseefficiencyandimprovethetrafficconditionsofanimportanttool.ApplicabletocrosssuchasT-intersectionfromroadtrafficsignalcontrolmachinecontrolguidanceofvehiclesandpedestriantrafficsafetyinanorderlymanner.InrecentyearswiththerapiddevelopmentofscienceandtechnologytheapplicationofSCMisatthesametimeincreasinglydriventoupdatethetraditionalcontroltechnology.Thisarticlewillintroduceasingle-chipmicrocomputer-basedcontroloftheautomatictrafficsignalcontrolsystem.Manytrafficlightscontrol.ThesystemusesMSC-51seriessingle-chipandchipAT89C51devicesto74LS245-centricdesignofthetrafficlightcontrolsystem.Stableperformanceofthesystemfunctionalpractical.关键词单片机多路交通灯紧急情况处理Abstract:InrecentyearswiththerapiddevelopmentofscienceandtechnologySCMapplicationsareatthesametimetraditionaldetectiontechniquestocontrolthegrowingupdate.designandactualizationofthetrafficlightcontrollerbasedonthesingle-chipmicrocomputer目录TOC\o1-3\h\z\u引言1第1章方案选择及总体设计11.1方案选择11.2总体设计21.2.1系统构成21.2.1功能概述2第2章系统硬件设计32.1交通灯四种通行模式及行车方向指示32.2各功能模块硬件设计及实现52.2.1行人通行指示及其实现52.2.2各路口交通状态显示及其实现62.2.3主次干道独立控制功能62.2.4紧急情况处理功能及其实现62.2.5倒计时计数功能及其实现6第3章系统软件设计73.1软件总体流程图73.2软件主要子程序流程83.2.1紧急状态子程序83.2.2显示状态子程序9第4章系统调试分析及结果104.1电路板实物的制作104.1.1印刷电路板PCB图的绘制104.1.2实物的制作114.2系统硬件调试134.3系统软件调试134.4系统总体调试13第5章结束语15参考文献15附录16附录一元件清单16附录二系统硬件电路图17附录三程序清单18引言当今世界,红绿灯已经被安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段但这一现象在19世纪就已出现了,19世纪初,在英国中部的约克城,红、绿装分别代表女性的不同身份其中,着红装的女人表示我已结婚,而着绿装的女人则是未婚者后来,英国伦敦议会大厦前经常发生马车轧人的事故,于是人们受到红绿装启发,1868年12月10日,信号灯家族的第一个成员就在伦敦议会大厦的广场上诞生了,由当时英国机械师德·哈特设计、制造的灯柱高7米,身上挂着一盏红、绿两色的提灯--煤气交通信号灯,这是城市街道的第一盏信号灯在灯的脚下,一名手持长杆的警察随心所欲地牵动皮带转换提灯的颜色…第1部分方案选择及总体设计1.1方案选择能实现此电路的方法很多,我们根据实际将范围定在以下几个比较切合我们的方案中第一种方案采用数字电子技术实现用基本的555芯片(利用单稳态实现定时),计数芯片(如74LS163,74LS160等)完成计时功能,控制电路芯片,译码芯片(如74LS138)等基本芯片,结合电阻,电容等基本元件,通过逻辑电路实现交通灯的功能第二种方案使用单片可编程来实现交通灯的功能利用单片机的外围扩展,显示电路构成基本硬件然后编程实现对定时,控制,显示电路的控制,然后调试,完成设计结合实际情况,根据毕业设计任务书的要求,我们经过讨论和论证,最终一致选用第二种方案的设计思路对交通灯控制系统进行设计1.2总体设计1.2.1系统构成整个系统的构成以AT89C51单片机为核心,由I/O口扩展,LED数码管显示,紧急情况中断电路还有复位电路等组成单片机作为整个硬件系统的核心,它既是协调整机工作的控制器,又是数据处理器它由单片机、时钟电路、复位电路等组成行车方向指示采用LED发光二极管,可有红、绿两种颜色指示放行与禁止,黄灯作为红绿转换的提示,形象直观行人通行指示也同样采用LED发光二极管,用红、绿两种颜色指示放行与禁止,黄灯作为红绿转换的提示,形象直观,简洁明了,更方便控制按键控制台,可供警察在室内实时监视交通状况通过按键可设置\紧急情况发生时的交通灯状态控制人机界面非常友好系统采用双数码管倒计时计数功能,最大显示数字99友好的人机界面、灵活的控制方式、优化的物理结构以及丰富的功能是本设计的亮点整个硬件电路组成模块如图1;图1-
1.系统硬件构成模块1.2.1功能概述本设计由中断系统、单片机、LED数码显示模块和按键等构成单片机是集成的IC芯片AT89C51单片机,只需根据实际选型其他部分都需要根据应用要求和性能指标自行设计硬件总体框图注以上电路图为我们所设计的交通灯控制系统的具体电路图,在东南西北四个方向的LED指示灯,代表四个方位的交通信号灯,电路图的下方是单片机控制系统复位,中断等子电路
1、本系统交通灯控制规则如下1每个街口有左拐、右拐、直行及行人四种指示灯每个灯有红、绿、黄三种颜色自行车与汽车共用左拐、右拐和直行灯2共有四种通行方式
①车辆南北直行、各路右拐,南北向行人通行南北向通行时间为1分钟,各路右拐比直行滞后10秒钟开放
②南北向左拐、各路右拐,行人禁行通行时间为1分钟
③东西向直行、各路右拐,东西向行人通行东西向通行时间为1分钟,各路右拐比直行滞后10秒钟开放
④东西向左拐、各路右拐行人禁行通行时间为1分钟3在通行结束前10秒钟,绿灯闪烁直至结束
2、有倒计时时间显示时间,红绿灯切换提前5秒亮黄灯提示
3、若交道口出现紧急情况,交警可手动控制全路口车辆禁行、行人通行紧急情况结束后再转成自动状态第2部分系统硬件设计2.1交通灯四种通行模式及行车方向指示按交通灯控制规则,每个街口有左拐、右拐、直行及行人四种指示灯每个灯有红、绿两种颜色灯交道口模型如图2-1所示图2-1交道口模型图4组LED数码管按照设置的通行时间(各路口默认的通行时间均为1分钟)进行倒计时,并各自进行红、绿灯显示,共有四种通行方式,分别为图2-2通行方式一示意图图2-3通行方式二示意图图2-4通行方式三示意图图2-5通行方式四示意图通行方式一倒计时时间为60s(通行时间),红绿灯状态为南北直行绿;东西直行红;各路右拐绿;左拐红;人行道南北绿,东西红;各路右拐比直行滞后10秒钟开放如图2-2所示通行方式二倒计时时间为60s(通行时间),红绿灯状态为南北左拐绿,各路右拐绿,所有人行道红如图2-3所示通行方式三倒计时时间为60s(通行时间),红绿灯状态为东西直行绿,南北直行红,各路右拐绿,左拐红,人行道东西绿,南北红,各路右拐比直行滞后10秒钟开放如图2-4所示通行方式四倒计时时间为60s(通行时间),红绿灯状态为东西左拐绿,各路右拐绿,所有人行道红如图2-5所示通行默认时间为1分钟,系统设置了任意更改功能,一般主干道通行时间要比次干道要长一些,可以根据实际情况进行调整,以提高车辆通过率,缓减交通压力在通行结束前10秒钟,绿灯闪烁直至结束本设计选用LED发光二极管的红绿灯状态用来指示左右拐、直行等交通指示信息绿色表示通行,红色则表示禁止通行中间绿色灯亮,表示直行,两边红色灯亮,表示禁止通行;左边绿色灯亮,表示左拐弯;其他红色灯亮则表示禁止通行和右拐弯所有指示信息一目了然2.2各功能模块硬件设计及实现2.2.1行人通行指示及其实现人行道的通行采用红绿两种颜色的发光二极管来指示,其中多加了一个黄灯作为提示红绿转换的提示标志按规则,南北车辆直行的时间也就是东西路口行人通行的时间所以,在该时刻南北直行的指示灯和东西路口人行道上的指示灯的点亮情况应该是一致的在现实中,人行道的状态切换是用该信号指示灯闪烁来提示红绿状态的切换的但是在我们这个设计中,我们认为直接再加一个黄色信号灯来提示红绿状态的转换效果会更加明了当然,相应地要考虑到单片机的带载能力了◆黄色信号灯的发明者是我国的胡汝鼎,他怀着“科学救国”的抱负到美国深造,在大发明家爱迪生为董事长的美国通用电器公司任职员一天,他站在繁华的十字路口等待绿灯信号,当他看到红灯而正要过去时,一辆转弯的汽车呼地一声擦身而过,吓了他一身冷汗回到宿舍,他反复琢磨,终于想到在红、绿灯中间再加上一个黄色信号灯,提醒人们注意危险他的建议立即得到有关方面的肯定于是红、黄、绿三色信号灯即以一个完整的指挥信号家族,遍及全世界陆、海、空交通领域了◆我们的视网膜含有杆状和三种锥状感光细胞,杆状细胞对黄色的光特别敏感,三种锥状细胞则分别对红光、绿光及蓝光最敏感由于这种视觉结构,人最容易分辨红色与绿色虽然黄色与蓝色也容易分辨,但因为眼球,对蓝光敏感的感光细胞较少,所以分辨颜色,还是以红、绿色为佳所以,交通灯用什么颜色也是有大学问的 2.2.2各路口交通状态显示及其实现在完成倒计时、状态信息等的显示功能上,我们考虑了以下三种方案方案一完全采用数码管显示这种方案只能显示有限的符号和数码字苻,无法胜任题目要求方案二完全采用点阵式LED显示此显示方案功能强大,可方便地显示各种英文字符,汉字,图形等,而且美观,但这种方案实现复杂,且须完成大量的软件工作,因此我们不予采用方案三采用发光二极管、数码管相结合的方法考虑设计需要,我们用三个一组的发光二极管在显示不同的状态,在各个方向分别构成交通提示信息,形象逼真;用二位数码管用来显示倒计时时间综上所述,方案三既满足了系统功能要求,又符合人性化设计标准权衡利弊,我们决定采用方案三来实现系统的显示功能2.2.3主次干道独立控制功能当主干道方向的车辆过多发生堵塞而次干道方向车辆却很稀少时,正常的信号灯时序将会使交通状况更加恶化本设计添加了主次干道独立控制功能,交警可按需求控制任意路口的通行,该措施可在一定程度缓减短暂的交通压力2.2.4紧急情况处理功能及其实现在十字交通路口常出现的紧急情况,若不及时处理将形成不良隐患比如,交道口的行人有紧急情况发生,那么交警可以对信号灯进行手动控制,按下紧急情况处理键,通过软件使所有红灯亮,路口车辆禁行,行人通行,直至紧急情况结束后再转成常规的自动状态2.2.5倒计时计数功能及其实现本系统使用数码管完成倒计时显示功能以南北方向为例,数码管显示的数值从绿灯的设置时间最大值往下减,每秒钟减1,一直减到0然后又从红灯的设置时间最大值往下减,一直减到0接下来又显示绿灯时间,如此循环系统共有4个二位的LED数码管,分别放置在模拟交通灯控制板上的四个路口因为相同直线方向上的数码管应该显示同样的内容,所以我们可以把它们同样对待也就是说各个方向的数码管个位(把数码管第二位定义为个位,第一位定义为十位)用一根信号线控制,十位用另一根信号线控制这里采用动态显示考虑到单片机的P1口驱动数码管七位段码的能力,我们利用一片74LS245芯片来作为数码管的位驱动芯片经实验证明,该8路同相三态双向总线收发器芯片的驱动能力完全可以满足本设计的显示要求第3部分系统软件设计硬件平台结构一旦确定,大的功能框架即形成软件在硬件平台上构筑,完成各部分硬件的控制和协调系统功能是由软硬件共同实现的,由于软件的可伸缩性,最终实现的系统功能可强可弱,差别可能很大因此,软件是本系统的灵魂软件采用模块化设计方法,不仅易于编程和调试,也可减小软件故障率和提高软件的可靠性同时,对软件进行全面测试也是检验错误排除故障的重要手段3.1软件总体流程图软件总体设计及流程图见图3-1,主要完成各部分的软件控制和协调本系统主程序模块主要完成的工作是对系统的初始化,发送显示数据,同时对按键进行扫描,等待外部中断,以及根据所需要的功能进行相应的操作其流程图如图3-1所示图3-1软件总体流程图主程序比较简单,初始化完成后,调用按键扫描程序,取得按键状态,并根据当前系统状态调用相应的子程序3.2软件主要子程序流程3.2.1紧急状态子程序现今社会经济发展状况下,我们身边的交通状况显得越来越拥挤在道路交通突然状况也越来越多,特别是在车流辆比较集中的十字路口本设计在紧急状态下,可以通过紧急状态手动控制按键使所有的LED都被置为红灯,车辆禁行、行人通行紧急情况结束后再转成自动状态图3-2紧急状态子程序3.2.2显示状态子程序图3-2显示状态子程序本设计各路口灯比较多,各通行状态前文已有描述在此不一一赘述虽然整个系统LED灯的数量比较多,但各个方向的灯各司其职使交通指挥更加显而明了在人为手动复位和初始化的情况下,各路口所有交通灯均点亮此时若有LED灯出现故障,一目了然,可以及时检修若有紧急中断信号出现,显示子程序优先处理中断程序,将所有路口的信号灯置为红色禁止通行紧急状态解除各信号灯再进入正常状态显示第4部分系统调试分析及结果因本设计本身要求有稳定性高、免维护、抗干扰能力强等功能,系统调试除了验证数据处理的精度,确保判断的准确性外,同时必须确认各项功能的正常运行4.1电路板实物的制作4.1.1印刷电路板PCB图的绘制由于本电路硬件设计中,用单片机的两个IO口控制各路交通灯的循环点亮用同一芯片单片机的P1口和P3口的高四位,来控制数码管的显示点亮因此,在同一芯片中,所要接的线路比较多在硬件的布局中,各位LED灯和数码管的布局比较固定化,集中分布在所控制的四个路口因此,若采用双面PCB板的话,这个电路的布线比较容易实现但是,现实水平中做双面板会出现一些焊点接触不良而导致电路调试过程不易实现因此,我们决定使用单面板布线单片面板的布线需要牺牲本设计电路板一部分实际电路的美观印制电路板的设计是以电路原理图为根据,实现电路设计者所需要的功能印刷电路板的设计主要指版图设计,需要考虑外部连接的布局、内部电子元件的优化布局、金属连线和通孔的优化布局、电磁保护、热耗散等各种因素优秀的版图设计可以节约生产成本,达到良好的电路性能和散热性能简单的版图设计可以用手工实现,复杂的版图设计需要借助计算机辅助设计(CAD)实现4.1.2实物的制作准备工作打印一份印刷电路PCB;事先购买好实物电路所需的各种元器件;一块铜板;FeCl3一包;还有其他的基本电子器件和制板工具●制作过程我们的印刷电路板制作过程总制板工艺程序修整板周边尺寸--复制--钻孔定位--贴胶--腐蚀--清洗--去胶--细砂纸擦光亮--涂松香水
1.先将符合尺寸要求的复铜板表面用细砂纸擦光亮再把打印出来的印刷电路PCB复写纸将布线图复制到复铜板上
2.用直径
1.0mm钻头钻孔、定位口,再进行贴胶(或上油漆)
3.贴完胶后,应在板上垫放一张厚张,用手掌在上面压一压,其目的是使全部贴胶与复铜板粘贴得更加牢靠必要时还可用吹风筒加热,可使用权贴胶粘度加强,由于所用的贴胶具很好的粘性,而且胶纸又薄,故采用这种贴胶进行制板,效果较好,一般是不须再作加热处理
4.腐蚀一般采用三氯化铁作腐蚀液,腐蚀速度与腐蚀液的浓度,温度及腐蚀过程中采取抖动有关,为保证制板质量及提高腐蚀速度,我们采用了抖动和加热的方法
5.腐蚀完成后,应用自来水冲洗干净,并将胶纸去掉,把印刷板抹干
6.用细砂布将印刷板复铜面擦至光亮为止,然后立即涂上松香溶液(涂松香水时应将印刷电路板倾斜放轩再涂以松香水,以免松香水经钻孔流至背面)附注1松香水的作用是防氧化,助焊及增加焊点的光亮度等;松香溶液是用松香粉末与酒精或天寻水按一定比例配制面成,其浓度应适中,以用感有一定粘性即可2三氯化铁溶液对人体皮肤不会有不良影响,但三氯化若搞到衣服上或地面上,寻是难以洗掉的,所以使用时我们是特别小心的制板心得我们在制板过程中,
1.首先是PROTEL设计的时候出现的错误导致印制电路板制作错误
2.其次是由于设计的理论和实际有误差导致无法实现目标
3.焊接过程中出现了一些问题,比如焊跳线的时候,由于接线太多,而且是手工焊接,并且焊接设备不好,烙铁头高温下容易老化氧化和温度不可控制因此导致焊盘脱落,原件烫伤等原因导致报废了好几块板子此外,有些焊盘太小并且有损坏迹象,所以焊接很不方便但为了不出现虚焊,却花了很长时间去焊,有些焊点并不是很美观
4.焊接过程中,有时候焊锡会不小心将相邻的两根引线短路所以,此次做板积累了一些经验,主要是,再次做板的时候一定要注意PCB的引线之间的距离不能设置太近因为我们是手工制作,精度和密度都必须有一个自由度和能力所及的范围,并且考虑到手工制板的局限性和线路过细密导致的氧化和短路故障我们拥有了这些宝贵的经验,相信今后制板,一定会完美保证电路的实现!4.2系统硬件调试在设计过程中,我们使用了proteus硬件仿真软件对该设计的硬件电路进行了实物功能仿真,仿真效果良好实物交通灯控制系统的PCB电路板焊接工作量非常大,电路安装完成后,首先进行检查,即确认电路无虚焊,无短路,无断路,集成元件安装是否正确,之后进行电路功能模块的分级调试,根据电路功能逐级进行通行方式功能调试包括对四种通行方式控制调试,行人和行车方向指示灯亮度和驱动电路调试;倒计时功能调试数码管亮度调试;复位和紧急情况手动控制功能调试4.3系统软件调试本系统的软件系统很大,选用一般的伟福仿真器对程序进行编写和调试除了语法差错外,当确认程序没问题时,通过直接下载到单片机来调试采取的是自下到上的调试方法,即单独调试好每一个模块,然后再连接成一个完整的系统,最后完成一个完整的系统调试4.4系统总体调试系统做好后,进行系统的完整调试主要任务是检验实现的功能及其效果并校正误差测试一开始,我们就发现了系统出现了两个问题一是有一部分交通灯亮度不够,所发出来的光非常的微弱以致于几乎感觉不到它的亮度;二是数码管不工作,没有时间显示这与设计的要求完全不符为了找出这个问题和解决方法,我们查找了电路的输出各部分的输出电平发现了一个现象,我们采用的数码管是共阴极数码而控制数码段显示的P1口输出的是高电平经多方查阅资料,解决第二个问题可以有两个解决方法其一,将硬件电路作修改,将数码管换成共阳极的数码管这样数码管就可以正常进行时间显示了其二,修改程序,让控制数码管段码的P1输出的是低电平若采用修改硬件电路的方法的话,硬件电路就得作变动已经布好的线也必须有相应的变动,操作起来比较麻烦所以,我们采用了第二种方法修改了程序电路中的段码代码再次调试,按照设计要求的指标,系统数码管电路部分基本能按照预先设定的要求来进行倒计时的显示亮度要求也基本符合预先设想接下来还有一个问题有待解决,交通灯亮度不足,以致于部分交通灯只能勉强看得出来它在亮而已这明显不能满足设计要求经多方检测,我们认为这是由于LED灯驱动能力不足引起的亮度弱问题若要修正这个问题,那就得为LED灯增加驱动电路以提高电路的驱动能力要实现这一步骤必须对硬件电路进行一定的改动LED灯的驱动电路可以用集成电路电路芯片来进行驱动在初步方案中我们考虑要用集成电路来完成但是由于客观方面的原因,将要参加工作离开学校没有制作实物的环境条件因此,这部分改进只作了一个设想,并没有时间去付诸实施但基本问题和解决问题的原理我们还是有一定的了解第5部分结束语感谢参考文献
[1]陈权昌、李兴富.单片机原理及应用.华南理工大学出版社.
2004.
[2]葛仁华、卢勇威.数字电子技术.华南理工大学出版社.
2005.
[3]沈鸿星.LED交通信号灯系统的硬件设计[J].电子工程师.
2004.
[4]何立民.单片机应用技术大全[M].北京北京航空航天大学出版社.
1994.
[5]李广弟.单片机基础[M].北京北京航空航天大学出版社.
1992.
[6]胡汉才.单片机原理及其接口技术[M].清华大学出版社.2000年5月第一版.
[7]何立民.单片机高级教程[M].北京航空航天大学出版社,2000年5月第一版.附录附录一元件清单元件类型元件参数元件数量个单片机AT98C511总线驱动器74LS2451电阻5k810k4排阻10k1晶振12M1电解电容20u1瓷片电容30p2NPN型三极管90138二位数码管共阳极4开关按键开关4拔动开关1铜板13×23cm1附录二系统硬件电路图附录三程序清单;工作寄存器及存储单元分配;
1.工作寄存器;R2设置为定时器定时中断次数R
6、R7用于延时程序中的寄存器;
2.片内存储单元;30H、31H作为两组数码管显示数据存储单元;32H、33H作为交通灯初始状态存储单元;40H、41H作为交通灯显示数据存储单元;
3.标志位;00H南北通行标志位;01H东西通行标志位;02H紧急事件标志位;-----------------------------------SNFEQU00H;;;南北通行标志位EWFEQU01H;;;东西通行标志位URFEQU02H;;;紧急事件标志位ORG0000HLJMPMAIN;;;上电转主程序ORG000BH;;;定时中断入口LJMPDSZDORG0003H;;;紧急中断入口LJMPURZDORG0030HMAIN:LCALLINIT;;;调用初始化子程序LOOP:LCALLDIS;;;循环执行显示子程序AJMPLOOP;///////////初始化程序INIT:SETBSNFSETBEWFSETBURFMOVR2#20;;;定时器中断20次为1sMOVTMOD#01H;;;初始化定时器MOVTL0#0B0HMOVTH0#3CHSETBEA;;;开定时中断与紧急中断SETBET0SETBTR0SETBEX0SETBIT0;;;设置中断程控方式MOVDPTR#TAB;;;数值首地址放入DPTR中MOV40H#40;;;东南西北通行时间设置MOV41H#40MOV30H#40;;;通行时间初始化MOV31H#60MOVP0#4CH;;;初始化时南北通行并把交通灯状态分别放在32H和33H中MOV32H#4CHMOVP2#15HMOV33H#15HRET;////////////显示子程序DIS:MOVP3#0DFH;;;选中南北方向的十位数码管MOVA30H;;;把显示数据送人数码管显示MOVB#10DIVABMOVCA@A+DPTRMOVP1A;;;LCALLD1MSMOVP3#0EFH;;;选中南北方向的个位数码管MOVAB;;;送入数码管显示MOVCA@A+DPTRMOVP1ALCALLD1MSMOVP3#7FH;;;选中第东西方向的十位数码管MOVA31H;;;送入数码管显示MOVB#10DIVABMOVCA@A+DPTRMOVP1ALCALLD1MSMOVP3#0BFH;;;选中第东西方向的个位数码管MOVABMOVCA@A+DPTRMOVP1ALCALLD1MSSETBP
3.0SETBP
3.1JNBP
3.0DIS_S;;;查询是否第一个按键按下JNBP
3.1DIS_E;;;查询是否第二个按键按下AJMPDIS_R;;;没有键按下则返回DIS_S:LCALLD5MS;;;按键去抖JNBP
3.0DIS_SNAJMPDIS_RDIS_SN:MOV40H#50;;;对通行时间从新分配,南北通行时间加长MOV41H#30AJMPDIS_RDIS_E:LCALLD5MS;;;按键去抖JNBP
3.1DIS_EWAJMPDIS_RDIS_EW:MOV40H#30;;;东西通行时间加长MOV41H#50DIS_R:RET;///////定时中断处理程序DS_C:LJMPDS_R;;;接力跳转DSZD:PUSHACC;;;保护现场PUSHPSWCLRTR0;;;关定时器及中断标志位并重新赋值CLRTF0MOVTL0#0B0HMOVTH0#3CHDJNZR2DS_C;;;判断1m时间是否到达MOVR2#20;;;到达重新赋值DEC30H;;;南北方向通行时间减一MOVA30H;;;把减一后的时间送入显示存储单元;;;;;;;南北通行到达最后4秒时黄灯闪烁DS_10:CJNEA#4DS_11;;;如果通行时间剩余4秒JNBSNFDS_11;;;判断是否是南北通行MOVP0#8AHMOV32H#8AH;;;把交通灯状态存入存储单元(后面类似)DS_11:CJNEA#3DS_12;;;不是剩余3秒,返回JNBSNFDS_12;;;不是南北通行时间,返回MOVP0#88HMOV32H#88HDS_12:CJNEA#2DS_13JNBSNFDS_13MOVP0#8AHMOV32H#8AHDS_13:CJNEA#1DS_14JNBSNFDS_14MOVP0#88HMOV32H#88H;------------------------DS_14:JNZDS_NE;;;通行时间没有结束转向改变东西方向的数码管CPLSNF;;;如果通行时间结束则对标志位取反JNBSNFDS_1;;;判断是否南北通行MOV30H40H;;;是,点亮相应的交通灯MOVP0#4CHMOV32H#4CH;;;存储交通灯状态MOVP2#15HMOV33H#15H;;;存储交通灯状态DS_NE:DEC31H;;;东西方向通行时间减一MOVA31H;;;把通行剩余时间送入显示存储单元;;;;;;;;东西方向通行时间剩余4秒钟黄灯闪烁(程序注释与南北方向类似略)DS_20:CJNEA#4DS_21JBEWFDS_21MOVP0#51HMOV32H#51HDS_21:CJNEA#3DS_22JBEWFDS_22MOVP0#41HMOV32H#41HDS_22:CJNEA#2DS_23JBEWFDS_23MOVP0#51HMOV32H#51HDS_23:CJNEA#1DS_24JBEWFDS_24MOVP0#41HMOV32H#41H;-----------------------------DS_24:JNZDS_R;;;东西方向时间没有结束,返回CPLEWF;;;对通行状态取反JNBEWFDS_2;;;东西方向通行时间到来,跳转MOV31H#80;;;东西方向通行结束,重新显示时间MOVP0#89H;;;点亮相应的交通灯MOV32H#89HMOVP2#29HMOV33H#29HAJMPDS_RDS_1:MOV30H#80;;;南北通行时间结束,重新对显示存储单元赋值MOVP0#89H;;;执行转弯状态1MOV32H#89HMOVP2#26HMOV33H#26HAJMPDS_NEDS_2:MOV31H41H;;;东西方向开始通行,赋值予显示存储单元MOVP0#61H;;;点亮相应的交通灯MOV32H#61HMOVP2#15HMOV33H#15HDS_R:SETBTR0POPPSW;;;恢复现场POPACCRETI;/////////////紧急中断处理程序URZD:PUSHACC;;;保护现场PUSHPSWCLRIE0;;;清除中断标志位CLRTR0;;;关定时器CPLURF;;;紧急事件标志位JBURFUR_CON;;;紧急结束;跳转MOVP0#49H;;;各路口灯全显示红灯亮MOVP2#15HAJMPUR_RUR_CON:SETBTR0;;;恢复正常交通MOVA32HMOVP0AMOVA33HMOVP2AUR_R:POPPSW;;;恢复现场POPACCRETI;////////////查表指令0123456789TAB:DB3FH06H5BH4FH66H6DHDB7DH07H7FH6FH;//////////延时5ms与1msD5MS:MOVR7#5D1MS:MOVR7#10MOVR6#50L1:DJNZR6$DJNZR7L1RETEND复位电路中断系统LED数码管显示I/0口扩展AT89C51单片机开始初始化扫描外部按键状态判断当前状态紧急状态时间显示AT89C51初始化四个路口的灯全部点亮状态转为正常运行开始按键是否按下返回所有LED置为红色是否按设定的交通方案显示各路口LED灯的状态开始倒计时显示延时返回是否出现紧急状况所有路口LED置红色LED数码显示电路复位电路AT89C51单片机键盘控制电路中断系统电路交通灯控制电路电源稳压控制电路紧急情况处理电路程序运行指示电路I。