1 / 31
文档名称:

定时交通灯控制设计.pdf

格式:pdf   大小:2,290KB   页数:31页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

定时交通灯控制设计.pdf

上传人:1781111**** 2024/5/11 文件大小:2.24 MB

下载得到文件列表

定时交通灯控制设计.pdf

相关文档

文档介绍

文档介绍:该【定时交通灯控制设计 】是由【1781111****】上传分享,文档一共【31】页,该文档可以免费在线阅读,需要了解更多关于【定时交通灯控制设计 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:..单片机课程设计题目:定时交通信号灯控制设计姓名:张翠学号:20专业:交通设备信息工程2011-1小组成员:张翠、翁瑜婕指导老师:卢毓俊2014年1月:..任务书(一)课题:定时交通信号灯控制系统设计在双干线路口上,交通信号灯的变化是定时的。假定:,绿灯亮放行25s,黄灯警告5s,然后红灯亮禁止通行。,红灯亮禁止30s,然后绿灯亮放行。使两条路线交替的成为放行线和禁止线,就可以实现定时交通控制。(二)基本要求:,画出系统的硬件结构图。,译成机器码并在试验仪上调试。。(三)、设计任务书、目录、摘要、正文、参考文献、附录等部分组成。,应包含课程设计名称及设计题目、专业、班级、姓名、指导教师、设计日期等内容。。应包含以下内容:概述所做课题的意义、本人所做的工作及系统的主要功能;硬件电路设计及描述;软件设计流程图及描述;源程序代码(要有注释);体会和建议等。:..摘要本设计是针对交通灯系统的设计,由单片机AT89C51、键盘、LED显示、交通灯演示系统组成。单片机是把微型计算机的各功能部件集成在一块芯片中,构成的一个完整的微型计算机。89C51单片机是MC-51中的子系列,是一组高性能兼容型单片机,AT89C51是一个低功耗高性能的CMOS8位单片机,40个引脚,片内含4KBFlashROM和128BRAM,它是一个全双工的串行通行口,既可以用常规编程,又可以在线编程。本设计中的数码管的选通采用的方法是动态显示,对每一位数码分时轮流通电显示,复位电路采用上电+按钮电平复位,时钟电路采用内部时钟脉冲产生方式。对特殊情况的处理采用中断处理方式,在中断处理程序中采用对管脚的状态查询扫描,已采取相应情况的处理。对设计方案进行电路硬件设计,并将已编程的程序载入调试,可以得到理想的实验效果。系统包括人行道、左转、右转、,A、B道轮流放行。A道放行绿灯亮25秒,接着黄灯闪烁5秒,B道在该过程中亮红灯30秒;同理交换为B道放行绿灯亮25秒,接着黄灯闪烁5秒,A道在该过程中亮红灯30秒。一道有车而另一道无车,交通灯控制系统能立即让有车道放行。关键字:单片机AT89C51交通信号灯控制时间:..:..……………………………………………………………………1引言……………………………………………………………………1方案比较………………………………………………………………2硬件电路设计…………………………………………………………2a)复位部分……………………………………………………………3b)时钟电路部分………………………………………………………3c)路口指示灯部分……………………………………………………4d)显示部分……………………………………………………………4程序设计………………………………………………………………5程序流程图………………………………………………………5交通灯状态图……………………………………………………6程序清单……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………9:..…………………………………………………………………………9:..定时交通灯信号控制设计编写人:交通设备信息工程2011-:根据AT89C51单片机的特点及交通灯在实际控制中的特点,本文提出一种用单片机自动控制交通灯及时间显示的方法。同时给出了软硬件设计方法,设计过程包括硬件电路设计和程序设计两大步骤,对在单片机应用中可能遇到的重要技术问题都有涉足。本文对十字路口状态预设为两种,一种是正常状态,另一种是故障或紧急状态,并分别用黄、红、绿色灯的不同组合来表示。本文介绍了控制基本原理以及控制的表现,同时也介绍了城市交通信息系统的设计目标,开发途径及其系统结构与功能和数据地理编码、建库,同时,论述了系统中交通现状、交通管理、交通规划及背景信息查询模块的建造及应用。介绍了用于城市交叉路口的三色程控交通信号时间显示器的研制方案,对其电源供电、发光二极管构成的负载结构、灯色时间检测都给出了精巧合理的优化结构,大幅度地提高了产品可靠性并降低了制造成本。引言随着我国国民经济的快速发展,我国机动车辆发展迅速,而城镇道路建设由于历史等各种原因相对滞后,交通拥挤和堵塞现象时常出现。如何利用当今计算机和自动控制技术,有效地疏导交通,提高城镇交通路口的通行能力,减少交通事故是很值得研究的一个课题。目前,国内的交通灯一般设在十字路口,在醒目位置用红、绿、黄三种颜色的指示灯加上一个倒计时的显示器来控制行车。本设计是单片机控制的交通灯控制系统设计随着社会经济的发展,城市交通问题越来越引起人们的关注。人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。所以,如何采用合适的控制方法,最大限度利用好耗费巨资修建的城市高速道路,缓解主干道与匝第1页:..道、城区同周边地区的交通拥堵状况,越来越成为交通运输管理和城市规划部门亟待解决的主要问题。关键词:单片机、交通灯、控制方案比较与确定经过一定的筛选,最终能有三个方案较为实际。方案一:通过数字电路达到实验目的。状态控制器主要用于记录十字路口交通信号灯的工作状态通过状态译码器分别点亮相应状态的信号灯。秒信号发生器用以产生整个定时系统的时基脉冲,通过减法计数器对秒脉冲进行减计数达到控制每一种工作状态的持续时间。减法计数器的回零脉冲使状态控制器完成状态转换同时状态译码器根据系统下一个工作状态决定计数器下一此减计数的初始值。减法计数器的状态由BCD译码器译码,由数码管显示。在黄灯亮期间,状态译码器将秒脉冲引入红灯控制电路使红灯闪烁。方案二:通过单片机达到实验目的。AT89C51单片机具有定时器/计数器功能,只要外在接入一个时钟脉冲,就可以完成红灯、绿灯、黄灯所需的时间的计时。同时,用AT89C52芯片的P2口(—)分别接上两组六位信号灯。通过中断程序可以实现红灯、绿灯、黄灯之间的转换。方案三:通过控制电路达到实验目的。该控制机用于控制十字路的交通信号灯,查个电路采用七块集成电路,组成程序式的定时电路,自动按三个程序循环控制东西南北方向的红、黄、绿信号灯的亮与灭。定时电路器由IC1(555)、R1、C1及四双开关向开关IC6控制的定时电阻RT、RG、RG1、RG2等组成,IC6采用CD4066、RT、RG是秒步进和十秒步进的波段开关,其电阻均为Ω,最大定时时间为10S。RG1、RG2是秒步进和十秒步进的波段开关,秒步进开关的电阻为Ω,:..十秒步进开关电阻为Ω,十秒步进开关电阻为Ω,最大可设置时间为110S,时间长短要预置,六程序电路IC3采用十进制计数器/脉冲分配器CD4017,将5脚和复位端15脚相连,使之成为六进制计数分配器,加电源后,IC3的Q0-Q5依次,输出高电平,至第六个定时器脉冲到来时,Q6(5脚)的高电平加至15脚,使IC3复位,然后又重复循环,形成六程序控制。闪烁电器电器IC2和R2、R3、C3组成无稳态多谐振荡器,f=(R2+2R3)C3,它的输出经选通门IC4加至译码和驱动电路,矩阵电路由D1-D10组成,用来选择每步程序的交通信号灯,并推动IC3、IC7为专用灯驱动电路MC1413,可接控制L1-L5的通断,点亮各色信号灯。综上所述,单片机具有结构简单、编程方便、经济、易于连接等优点,特别是其内部定时器计数器、中断系统资源丰富,可对交通灯进行精确的控制,有应用价值。本实验使用单片机实现定时交通信号灯控制。硬件电路设计组成:AT89C51单片机、复位电路、振荡电路、LED数码管、交通灯。各组成部分电路设计:a)复位部分复位电路采用上电+按钮电平复位是上电复位与按钮复位的组合,当振荡频率是6MHz时,电容C取22uf,R取1K,Rs取200?左右。上电瞬间复位端(RST/Vpd)相同,随着充电电路电流的减少,RST/Vpd的电位下降,最后为0V,当按钮按下后,通过电阻R,施加在单片机复位端RST/Vpd上实现复位,电路连接图如图(2):第3页:..复位电路(2)b)时钟电路部分本系统采用内部时钟产生方式:在和两端跨接陶瓷谐振器,与内部反相器构成稳定的自激振荡器采。晶振采用12MHz的振荡频率和两个30Pf瓷片电容C1、C2,两个电阻对频率有微调作用。其电路如图(3)C)路口指示灯部分采用红黄绿三种颜色的发光二极管共12个分为4组代表路口的交通灯(电路图中用两组示意).其中每两组控制一个路口,具体时序如表1:表1:方向东西南北灯色红灯3030黄灯55绿灯2525d)显示部分采用两位一体共阳极数码管,,分别接单片机管脚的P2口和P0口,具体的共阴数码管管脚分布位置见图(4).:..程序设计第5页:..开始初始化东西方向红灯亮,南北方南北方向剩余东西方向红灯亮,南北方向黄南北方向剩余时东西方向绿灯亮,南北方向红东西方向剩余时东西方向黄灯闪亮,南北方向红东西方向剩余时图(5)主程序流程图流程图:..交通灯状态表:状态北西南东绿黄红绿黄红绿黄红绿黄红000100000011110011000100102001010001010310000100010140**********程序清单:①主程序ORG0000HMAIN:MOVDPTR,#0FF20H初始化MOVA,#******@DPTR,AMOV2AH,#1FH设置时间显示初始值31s②四种状态MOVP1,#0CHA线放行B线禁止MOVR7,#19H延时秒数25PRG1:LCALLDELAY1调用延时子程序第7页:..DJNZR7,PRG1MOVP1,#0AHA线警告B线禁止MOVR7,#05H延时秒数5PRG2:LCALLDELAY1调用延时子程序DJNZR7,PRG2MOVP1,#21HA线禁行B线放行MOV2AH,#1FH设置时间显示初值31sMOVR7,#19H延时秒数25PGR3:LCALLDELAY1调用延时子程序DJNZR7,PGR3MOVP1,#11HA线禁行B线警告MOVR7,#05H延时秒数5PGR4:LCALLDELAY1调用延时子程序DJNZR7,PGR4AJMPMAINDELAY1③延时子程序DELAY1:DEC2AHMOVA,2AH显示秒数减一MOVB,#0AH④循环控制子程序LOOP:MOVA,R2MOVR4,#02HLCALLDISPLAYMOVA,R1MOVR4,#01HLCALLDISPLAYDJNZR6,、基本测试仪器(万用表、示波器等),检:..查用户系统硬件中存在的故障。硬件调试可分为静态调试与动态调试两步进行。a)静态调试:静态调试是在用户系统未工作时的一种硬件检测。第一步:目测。检查外部的各种元件或者是电路是否有断点。第二步:用万用表测试。先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象。第三步:加电检测。给板加电,检测所有的插座或是器件的电源端是否符合要求的值。第四步:是联机检查。因为只有用单片机开发系统才能完成对用户系统的调试。b)动态调试:动态调试是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障、器件连接逻辑错误等的一种硬件检查。动态调试的一般方法是由近及远、由分到合。由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块,当调试电路时,与该元件无关的器件全部从用户系统中去掉,这样可以将故障范围限定在某个局部的电路上。当各块电路无故障后,将各电路逐块加入系统中,在对各块电路功能及各电路间可能存在的相互联系进行调试。由分到合的调试既告完成。由近及远是将信号流经的各器件按照距离单片机的逻辑距离进行由近及远的分层,然后分层调试。调试时,仍采用去掉无关元件的方法,逐层调试下去,就会定位故障元件了。软件调试是通过对拥护程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。程序后,编辑,查看程序是否有逻辑的错误。:..经过检测,该程序设计合理正确,调试后能够正常运行,基本能够实现要求。能够实现:红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示,然后变为红灯,并且能够显示时间。系统稳定可靠,易于修改。能够在现实中起到一定作用。,在课程设计的这段时间里,我不仅学到了许多新的知识,而且加深了我对以前学****的理论知识的掌握。?以前我们学的东西仅限于课本,对实实在在的应用还比较模糊,这次课程设计有利于同学们学****目的的明确性和主动性。通过这次课程设计,我们知道了哪些东西是应该确实掌握的。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正掌握所学知识。从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说是困难重重,这毕竟第一次尝试,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对单片机汇编语言掌握得不好……通过这次课程设计之后,把以前所学过的知识重新温故。这次课程设计终于顺利完成了,在写报告时遇到了许多的问题,最后在老师的指导下,正确完成。当然这次课程设计之中存在了许多的不足,比如我们这次设计之中东南西北四个方向的倒计时的数码管只采用了一:..个两位的数码管(现实中应该是每个方向都有一个倒计时的数码管)等等问题。希望在以后的学****和工作中,能得到更多的实践经验,尤其是锻炼自我意识,无论做什么事,都要自己去尝试并努力完成,是享受其过程而不是结果。(见附录2),南北方向禁行第11页:..图上为南北方向通车,东西方向禁行:..图上为东西方向通车,南北方向禁行第13页:..:..:..:;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;交通灯;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;TIMEEQU50H;秒计数用TIMESFREQU51H;临时寄存器CONR5EQU52H;T11秒定时计数用TIMED0EQU55H;单向最大定时时间,直行开始,人行开始120TIMED1EQU56H;各路右转开始时间110TIMED2EQU57H;前行结束提醒70TIMED3EQU58H;前行结束,人行结束,左转开始60TIMED4EQU59H;左转结束提醒TIMED5EQU5AH;左转结束TIMED6EQU5BHTIMED7EQU5CHSNEQUP1;南北口EWEQUP2;东西口SCANEQUP3;扫描口LEDOUTEQUP0;段码口SNEWFLAGBIT09H;东西口与南北口转换标志按键在扫描口的最高位,按一下,全红灯,再按一下,恢复原状态定时器T0、T1溢出周期为50MS,T0为秒计数用.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;中断入口程序;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ORG0000H;程序执行开始地址LJMPSTART;跳到标号START执行ORG0003H;外中断0中断程序入口RETI;外中断0中断返回ORG000BH;定时器T0中断程序入口LJMPINTT0;跳至INTTO执行ORG0013H;外中断1中断程序入口LJMPINT11;外中断1中断返回,中断ORG001BH;定时器T1中断程序入口LJMPINTT1ORG0023H;串行中断程序入口地址:..RETI;串行中断程序返回;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;主程序;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;START:MOVSP,#80HMOVR0,#00H;清70H-7AH共11个内存单元MOVR7,#8FHCLEARDISP:******@R0,#00HINCR0DJNZR7,CLEARDISPMOVTIMED0,#78H;单向最大定时时间,直行开始,人行开始120MOVTIMED1,#6EH;各路右转开始时间110MOVTIMED2,#46H;前行结束提醒70MOVTIMED3,#3CH;前行结束,人行结束,左转开始60MOVTIMED4,#0AH;左转结CLRSNEWFLAG;南北先通行标志位MOVTMOD,#11H;设T0、T1为16位定时器MOVTL0,#0B0H;50MS定时初值(T0计时用)MOVTH0,#3CH;50MS定时初值MOVTL1,#0B0H;50MS定时初值(T1闪烁定时用)MOVTH1,#3CH;50MS定时初值JB,SSST;120秒管理以下为60秒管理LCALLDL1MSLCALLDL1MSLCALLDL1MSJB,SSST;干扰MOVTIMED0,#60;单向最大定时时间,直行开始,人行开始60MOVTIMED1,#55;各路右转开始时间55MOVTIMED2,#35;前行结束提醒35MOVTIMED3,#30;前行结束,人行结束,左转开始30MOVTIMED4,#05;左转结束提醒SSWAIT:JNB,SSWAITLCALLDL1MSLCALLDL1MSLCALLJNB,SSWAITSSST:MOVTIME,TIMED0;120秒LCALLTUNBCD第17页:..MOVSN,#66HMOVEW,#55HSETBEA;总中断开SETBPX1SETBEX1SETBET0;允许T0中断SETBTR0;开启T0定时器MOVR4,#14H;1秒定时用初值(50MS×20)MOVCONR5,#20START1:LCALLDISPLAY;调用显示子程序JNB,KEYFUN;手动状态SJMPSTART1;口为1时跳回START1KEYFUN:LCALLDISPLAYLCALLDISPLAYJB,START1CLRET0CLRTR0MOVSN,#056H;全车道停,行人通MOVEW,#056HMOVTIME,#00H;时间显示LCALLTUNBCDKEYWAIT:LCALLDISPLAYJNB,KEYWAIT;KEYY:LCALLDISPLAY;等待按键按下JB,KEYYLCALLDISPLAYJB,KEYYKEYWAIT1:LCALLDISPLAYJNB,KEYWAIT1MOVTIME,TIMED0;从新开始计时初值LCALLTUNBCDCLRSNEWFLAG;南北先通行标志位SETBTR0SETBET0AJMPSTART1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1秒计时程序;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;T0中断服务程序INTT0:;累加器入栈保护PUSHPSW;状态字入栈保护:..CLRET0;关T0中断允许CLRTR0;关闭定时器T0MOVA,#0B7H;中断响应时间同步修正ADDA,TL0;低8位初值修正MOVTL0,A;重装初值(低8位修正值)MOVA,#3CH;高8位初值修正ADDCA,TH0MOVTH0,A;重装初值(高8位修正值)SETBTR0;开启定时器T0DJNZR4,OUTT00;20次中断未到中断退出MOVR4,#14H;20次中断到(1秒)重赋初值JBSNEWFLAG,INT22DECTIMEMOVA,TIMECJNEA,TIMED1,LOOP11;判断是否小于110秒LOOP11:JCLOOP22;120-110MOVSN,#66H;IMOVEW,#55H;ILJMPOUTT0;120-110LOOP22:MOVA,TIMECJNEA,TIMED2,LOOP33;判断是否小于70秒LOOP33:JCLOOP44;110-70MOVSN,#6AH;IMOVEW,#59H;ILJMPOUTT0;110-70LOOP44:MOVA,TIMECJNEA,TIMED3,LOOP55;判断是否小于60秒LOOP55:JCLOOP66;70-60MOV20H,SNCPL04HCPL00HMOVSN,20H;IMOVEW,#59H;ILJMPOUTT0;70-60LOOP66:MOVA,TIMECJNEA,TIMED4,LOOP77;判断是否小于10秒LOOP77:JCLOOP88;60-10MOVSN,#99H;IMOVEW,#59H;ILJMPOUTT0;60-10LOOP88:MOVA,TIMEJZOUT88第19页:..MOV20H,SNCPL06HCPL02HMOVSN,20HMOV20H,EWCPL02HMOVEW,20H;ILJMPOUTT0;70-60OUT88:MOVTIME,TIMED0;120秒初值CPLSNEWFLAGOUTT0:LCALLTUNBCDOUTT00:POPPSW;恢复状态字(出栈);恢复累加器SETBET0;开放T0中断RETI;中断返回INT22:DECTIMEMOVA,TIMECJNEA,TIMED1,LOOP111;判断是否小于110秒LOOP111:JCLOOP221;120-110MOVEW,#66H;IMOVSN,#55H;ILJMPOUTT01;120-110LOOP221:MOVA,TIMECJNEA,TIMED2,LOOP331;判断是否小于70秒LOOP331:JCLOOP441;110-70MOVEW,#6AH;IMOVSN,#59H;ILJMPOUTT01;110-70LOOP441:MOVA,TIMECJNEA,TIMED3,LOOP551;判断是否小于60秒LOOP551:JCLOOP661;70-60MOV20H,EWCPL04HCPL00HMOVEW,20H;IMOVSN,#59H;ILJMPOUTT01;70-60LOOP661:MOVA,TIMEJNEA,TIMED4,LOOP771;判断是否小于10秒LOOP771:JCLOOP881;60-10MOVEW,#99H;I:..MOVSN,#59H;ILJMPOUTT01;60-10LOOP881:MOVA,TIMEJZOUT881MOV20H,EWCPL06HCPL02HMOVEW,20HMOV20H,SNCPL02HMOVSN,20H;ILJMPOUTT01;70-60OUT881:MOVTIME,TIMED0;120秒初值CPLSNEWFLAGOUTT01:LCALLTUNBCDPOPPSW;恢复状态字(出栈);恢复累加器SETBET0;开放T0中断RETI;中断返回;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;显示程序;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;显示数据在70H-75H单元内,用六位LED共阳数码管显示,P0口输出段码数据,P2口作扫描控制,每个LED数码管亮1MS时间再逐位循环。DISPLAY:MOVR1,#70H;指向显示数据首址MOVR5,#0FEH;扫描控制字初值PLAY:MOVA,R5;扫描字放入AMOVSCAN,A;从P2口输出MOVA,***@R1;取显示数据到AMOVDPTR,#TAB;取段码表地址MOVCA,***@A+DPTR;查显示数据对应段码MOVLEDOUT,A;段码放入P0口LOOP6:LCALLDL1MS;显示1MSINCR1;指向下一地址MOVA,R5;扫描控制字放入AJNB,ENDOUT;=0时一次显示结束RLA;A中数据循环左移MOVR5,A;放回R5内MOVLEDOUT,#0FFH第21页:..AJMPPLAY;跳回PLAY循环ENDOUT:MOVLEDOUT,#0FFH;一次显示结束,P2口复位MOVSCAN,#0FFH;P0口复位RET;子程序返回TAB:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH,88H,0BFH共阳段码表不亮“A”“-”;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;延时程序;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1MS延时程序,LED显示程序用DL1MS:MOVR6,#14HDL1:MOVR7,#19HDL2:DJNZR7,DL2DJNZR6,DL1RETTUNBCD:PUSHPSWPUSHBMOVA,TIME;MOVB,#100DIVABMOV72H,AJNZJJ0MOV72H,#0AH;最高位为零,不点亮JJ0:MOVA,BMOVB,#10DIVABMOV71H,AJNZJJ1MOVA,72H;次高位为0,先看最高位是否为不亮SUBBA,#0AHJNZJJ1MOV71H,#0AH;最高位不亮,次高位也不亮JJ1:MOV70H,BPOPBPOPPSWRET119L车中断程序;:..INT11:PUSHPSWCLREX1CLRET0CLRTR0MOVSN,#055H;全红灯MOVEW,#055H;MOVTIMESFR,TIME;保存道口数据MOVTIME,#0FHMOVCONR5,#20LCALLTUNBCDSETBET1SETBTR1SETBEX1POPPSWRETI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15秒计时程序;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;T1中断服务程序INTT1:;累加器入栈保护PUSHPSW;状态字入栈保护CLRET1;关T0中断允许CLRTR1;关闭定时器T0MOVA,#0B7H;中断响应时