资源描述
精品文档
目前,上海市创业培训中心已开办大学生创业培训班,共招收上海交通大学、上海商业职业技术学院等应届毕业生62人。
人民广场地铁站有一家名为“漂亮女生”的饰品店,小店新开,10平方米不到的店堂里挤满了穿着时尚的女孩子。不几日,在北京东路、淮海东路也发现了“漂亮女生”的踪影,生意也十分火爆。现在上海卖饰品的小店不计其数,大家都在叫生意难做,而“漂亮女生”却用自己独特的经营方式和魅力吸引了大批的女生。
五、创业机会和对策分析
在现代文化影响下,当今大学生对新鲜事物是最为敏感的群体,他们最渴望为社会主流承认又最喜欢标新立异,他们追随时尚,同时也在制造时尚。“DIY自制饰品”已成为一种时尚的生活方式和态度。在“DIY自制饰品”过程中实现自己的个性化追求,这在年轻的学生一代中尤为突出。“DIY自制饰品”的形式多种多样,对于动手能力强的学生来说更受欢迎。
(3)个性体现
“碧芝自制饰品店”拥有丰富的不可替代的异国风采和吸引人的魅力,理由是如此的简单:世界是每一个国家和民族都有自己的饰品文化,将其汇集进行再组合可以无穷繁衍。
(一)大学生的消费购买能力分析
(2) 缺乏经营经验
上海市劳动和社会保障局所辖的“促进就业基金”,还专门为大学生创业提供担保,贷款最高上限达到5万元。
1996年“碧芝自制饰品店”在迪美购物中心开张,这里地理位置十分优越,交通四通八达,由于位于市中心,汇集了来自各地的游客和时尚人群,不用担心客流量的问题。迪美有300多家商铺,不包括柜台,现在这个商铺的位置还是比较合适的,位于中心地带,左边出口的自动扶梯直接通向地面,从正对着的旋转式楼梯阶而上就是人民广场中央,周边4、5条地下通道都交汇于此,从自家店铺门口经过的90%的顾客会因为好奇而进去看一下。
毕业设计(论文)
题 目: 城市道口交通灯控制系统设计
系 别: 物理与机电工程系
专 业: 电子信息工程技术
学 号: 20070623202
姓 名: 林美兰
指导老师: 陈金兰 职称: 讲师
系分管主任: 彭永仙
时 间: 2010.1.22
精品文档
目 录
第一章 系统功能 1
第二章 方案论证与比较 1
第三章 系统硬件电路的设计 3
3.1 主控制系统 3
3.2 通行灯输出控制 3
3.3 时间显示模块 4
3.4 特殊车辆自动通行控制模块 4
3.5 盲人提示音电路 4
3.6 电源电路 5
第四章 系统主要程序的设计 6
4.1 初始化程序 6
4.2 主程序 6
4.3 外中断1中断服务程序 6
4.4 定时器中断服务程序 7
第五章 调试及性能分析 9
结论 10
致谢语 11
参考文献 11
附录1 控制源程序清单 11
附录2 系统设计总电路图 20
附录3 硬件调试图片 22
城市道口交通灯控制系统的设计
林美兰
三明学院2007级电子信息工程技术(2)班 福建三明 365004
【摘 要】 本设计以单片机AT89C52为核心 ,采用高亮发光二极管作为直行、左右拐弯和行人的指示灯,以LED数码管作为倒计时指示 ,以红外接收器实现特种车辆检测, 自动控制手动控制转换等功能完整。在此基础上,我们还增设了盲人语音提示功能、120s与60s通行转换等功能。系统工作实用性强,操作方便,,整体性好,对优化城市交通具有一定的意义。经检测系统工作稳定可靠,实用性强。
【关键词】单片机AT89C52 程序流程图 中断程序 城市道口交通灯控制系统
第一章 系统功能
城市道口交通灯控制系统模型采用单片机作为主控制器,用于十字路口的车辆及行人的交通管理,每个方向既有左拐、右拐、直行及行人4种通行指示灯,计时牌显示路口通行转换剩余时间,在出现警急情况时可由交警手动实现全路口车辆禁行而行人通行状态。另外,在特种车辆如119、120通过路口时,系统可自动转为特种车辆放行,其它车辆禁行通行的状态,15s后系统自动恢复正常管理。其他还有盲人提示音、120s与60s通行管理转换等功能。
第二章 方案论证与比较
方案1:采用标准AT89C52单片机作为控制器;显示倒计时显示采用3位LED数码管;左拐、右拐、直行及行人4中通行指示灯采用双色高亮发光二极管;LED显示采用动态扫描,以节约端口数。特种车辆通行采用实时中断完成,识别方法采用红外线发射及接受方案。按以上系统构架设计,单片机端口资源刚好满足要求。该系统具有电路简单,设计方便,显示亮度高,耗电较少,可靠性高等特点。
整个电路组成框图如图2-1所示。
上电复位
P1
P2
AT89C52
p0
INT1
P3 P3
南北通行灯(2组)
东西通行灯(2组)
3位LED显示器(4组)
列扫驱动
串口通信
119、120车辆监测
自动/手控键盘
图2-1 采用LED动态扫描的交通灯控制系统
方案2:采用AT89C2051单片机作为控制器;通行倒计时显示采用16×16点阵LED发光管,左拐、右拐、直行及行人4种通行指示灯也采用16×16点阵LED发光管。该系统设计框架如图2-2所示。列驱动采用74LS595以实现串行端口扩展,行驱动采用4/16译码器74LS154动态扫描,译码器74LS154生成16条行选通信号线,再经过驱动器驱动对应的行线。每条行线上需要较大的驱动电流,应选用大功率三极管作为驱动管。这种设计方案的图案显示逼真,单片机占用端口资源少;缺点是需要大量的硬件,电路复杂,耗电量大,在模型制作中较少采用。
RED
TXD
单
片
机
I/O口
电源
行
驱
动
器
列驱动器74LS595
双色LED
显示点阵
(每个路口7个)
图2-2 采用16×16点阵LED发光管设计的交通灯控制系统
方案3:采用AT89C2051单片机作为控制器,通行倒计时及左拐、右拐、直行、行人通行指示采用单块LCD液晶点阵显示器。这种方案设计占用单片机的端口最少,硬件也少,耗电量也最小;虽然显示图案也很精美,但由于亮度太暗,晚上还得开背光灯,所以较少采用。
通过以上综合分析可以看出,方案1具有综合设计优点,因此城市道口交通灯控制系统采用方案1设计。
第三章 系统硬件电路的设计
整套电路系统由控制系统模块、通行灯输出控制显示模块、时间显示模块和自动特种车辆控制模块等组成。
3.1 主控制系统
主控制器采用AT89C52,是ATMEL公司生产的一款性能稳定的8位单片机。AT89C52具有1个8KB的Flash程序存储器,1个512字节的RAM,4个8位的双向可位寻址I/O端口,3个16位的定时/计数器及一个串行口和6个向量二级中断结构。
单片机的P1口及P2口分别用于控制南北及东西的通行灯,P0口及P3~P3.2口用于4组3位LED计时器的控制,特种车辆通过时使用外中断1口(P3.3),手动自动转换采用P3.7口按键。
3.2 通行灯输出控制
道口交通灯指示采用高亮度红绿双色放光二极管,左拐、直行、右拐及行人各一个。当发光电流为6mA时,按公式R=(5-1.8)/0.006计算,限流电阻应为510欧姆。由于南北通行是双向指示牌相同,因此每个端口应具有12mA的吸收电流能力。另外,人行道口按4个灯算需24mA的吸收电流。这样在单片机的输出喽需接驱动电路74HC244,以保护单片机的输出端口。图3-2所示为道口指示灯电路图。
图3-2 城市道口交通指示灯电路
3.3 时间显示模块
道口通行剩余时间采用高亮红色7断LED发光数码管显示,采用共阳数码管,如用单片机吸收电流驱动,列扫描驱动使用三极管,按每段6mA电流算,全显示字形“8”每个数码管6mA×8=48mA。由于时间显示每个道口相同,4组需192mA,因此设计中采用中功率三极管9012。由于单片机每个段码输出口需吸收24mA电流,因此在电路设计中也使用了驱动集成块74HC244.其显示驱动电路如图3-3。
图 3-3时间显示驱动电路
3.4 特殊车辆自动通行控制模块
自动道口灯在特种车辆到来时能自动关闭所有绿灯,让特种车通过。设计中采用红外线发生器作为特种车的发信器,使用实时中断来响应特种车的通行要求。红外线接受器一般采用电视机上的用一体化红外接收器,具有很高的灵敏度和较强的抗干扰能力。
3.5 盲人提示音电路
道口控制系统设计中也考虑了方便盲人过人行道的声音提示电路,声音控制电路与人行道通行控制灯绿灯灯相同步,当绿灯亮时响一下,在行人结束通行前,绿灯闪烁10s时会间隔响5响(每次1s)。盲人提示音采用柔和的低音,声音悦耳。盲人提示音电路如图3.5所示。
图3.5 盲人提示音电路
3.6 电源电路
由于整个系统采用电源电压只需+5V电压,所以采用不可调的3端稳压管器件,用常用的LM7805就可以满足系统电源的要求。LM7805三端集成稳压电源内部由基准电压回路,恒流源、过流保护、过压保护和短路回路等8部分组成,具有低功耗,高效率,纹波系数小,输出电压稳定等优点。
第四章 系统主要程序的设计
道口交通控制系统程序主要分为以下几个模块:初始化程序、主程序、定时中断程序和特种车实时响应程序等。
4.1 初始化程序
初始化程序主要完成内存规划,定时器的工作模式、中断方式等的设定。由于程序调用较多,因此初始化时堆栈指针设于80H处。定时器T0、T1设为16位定时器模式,定时时间为50ms,T0为妙计时用,T1为通行结束闪烁用。
4.2 主程序
主程序主要负责总体程序管理功能,实现人机交互设定。由于采用动态扫描方式显示时间,因此主程序大部分时间要调用扫描显示程序。主程序流程图如4-1所示。
4.3 外中断1中断服务程序
当有特种车经过时,车中发射红外线信号,其信号被道口控制板上的接收器接收,并输出一个低电平触发外中断1,中断处理程序流程如图4-2所示。
初始化
显示程序
p3.7=0?
键功能程序
Y
N
外中断程序
现场保护
关外中断1
开定时器T1
送全红灯,数据缓存
15s倒计时
结束吗?
Y
关定时器T1,开外中断
现场恢复,中断返回
红灯
显示
N
开始
图4-1 主程序流程图 图4-2 外中断1中断服务程序流程图
4.4 定时器中断服务程序
定时中断服务程序主要用于行车及行人的通行指示,按照通行规则,红绿灯控制转换逻辑表如表4-1所示。
南
北
方
向
端口
控制功能
120~110s
110~70s
70~60s
60~10s
10~0s
P*.7
左拐红
0
0
0
1
1
P*.6
左拐绿
1
1
1
0
0/1
P*.5
直行红
1
1
1
0
0
P*.4
直行绿
0
0
0/1
1
1
P*.3
右拐红
0
1
1
1
1
P*.2
右拐绿
1
0
0
0
0/1
P*.1
行人红
1
1
1
0
0
P*.0
行人绿
0
0
0/1
1
1
道口控制字
66H
6AH
6AH/7BH
99H
99H/DDH
东
南
方
向
P*.7
左拐红
0
0
0
0
0
P*.6
左拐绿
1
1
1
1
1
P*.5
直行红
0
0
0
0
0
P*.4
直行绿
1
1
1
1
1
P*.3
右拐红
0
1
1
1
1
P*.2
右拐绿
1
0
0
0
0/1
P*.1
行人绿
0
0
0
0
0
P*.0
行人红
1
1
1
1
1
道口控制字
55H
59H
59H
59H
59H/5DH
表4-1道口通行方式控制码数据表
通行规则如下:
车辆南北直行、各路右拐,南北向行人通行。南北向通行时间为1min,各路右拐比直行滞后10s开放;车辆南北向左拐、各路右拐,行人禁行。通行时间为1min;车辆东西向直行、各路右拐,东西向行人通行。东西向通行时间为1min,各路右拐比直行滞后10s开放;车辆东西向左拐、各路右拐,行人禁行。通信时间为1min。
交通灯的4种通行规则,是以给控制红绿灯端口送控制码的方式实现的。它的原理是,将按不同规则通行的个路口的红绿灯亮灭情况转换为单片机端口控制码。其指示灯功能通过T0定时中断服务程序实现。
定时器T0定时益出中断周期设为50ms,中断累计20次(即1s)时对120s倒计时单元减1操作。设计中将4种通行规则分成几种不同的亮灯方式,通过查询秒倒计时单元的数据,实现在不同的时间段给控制端口送不同的控制数据码。控制码分为5个时间段:120~110s、110~70s、70~60s、60~10s、10~0s。交通管理定时功能程序流程图如图4-3所示。
T0中断程序
现场保护
关中断T0
T0初值重装
TIME<110?
TIME<70?
TIME<60?
TIME<10?
TIME<0?
南北/东西
标志位取反
Y
中断返回
N
N
N
N
N
MOVSN,#66H
MOVEW,#55H
MOVSN,#6AH
MOVEW,#59H
MOVSN,#6AH
MOVEW,#59H
MOVSN,#99H
MOVEW,#59H
MOVSN,#99H
MOVEW,#59H
图4-3 T0定时中断服务程序流程图
第五章 调试及性能分析
根据系统设计方案,本系统的调试共分为三大部分:硬件调试,软件调试和软硬件联调。由于在系统设计中采用模块化设计,所以方便了对各电路功能模块的逐级测试,包括对交通灯通行方式功能的调试,行人通行指示功能调试,倒计时功能调试,紧急情况交手动控制功能调试,特种车通行功能调试,盲人提示音功能调试等。单片机软件先在最小系统板上调试,确保工作正常之后,再与硬件系统联调。最后将各模块组合后在交道口模型上进行整体测试,使系统的所有功能得以实现。
5.1 硬件调试
交道口交通灯控制系统的电路板焊接工作量非常大,并且采用万用板,电路安装完成后,首先进行检查,即确认电路无虚焊,无短路,无断路,集成元件安装是否正确,之后进行电路功能模块的分级调试,根据电路功能逐级进行:
①通行方式功能调试:包括对四种通行方式控制调试,行人和行车方向指示灯调试
②倒计时功能调试:数码管显示值调试
③紧急情况手动控制功能调试:包括按键功能及规则调试
④特种车通行功能调试:包括无线发送和接收电路调试
⑤语音功能调试:盲人提示音电路硬件调试等。
5.2 软件调试
本系统的软件系统很大,选用一般的伟福仿真器对AT89C52进行调试。除了语法差错外,当确认程序没问题时,通过直接下载到单片机来调试。采取的是自下到上的调试方法,即单独调试好每一个模块,然后再连接成一个完整的系统,最后完成一个完整的系统调试。
5.3 软硬联调
系统做好后,进行系统的完整调试。主要任务是检验实现的功能及其效果并校正数值。根据实测数据,逐步校正数据,使测量结果更准确。单片机软件先在最小系统板上调试,确保工作正常之后,再与硬件系统联调。
5.4 各模块调试
5.4.1 交通灯通行方式功能的调试:
显示倒计时采用3位LED数码管;左拐、右拐、直行及行人4组通行指示灯采用双色高亮发光二极管。接线繁琐,极易出错.检查二极管无故障,导线无断线,连线接头无互相搭联后可先写一个软件调试程序,依次检查东南西北方向的指示灯(发光二极管)是否点亮;若未点亮,则可能是连线接错.根据灯的亮灭情况依次查找直到电路正常工作为止。我们主要出现的是数码管不亮的问题,后来通过检查,为连接线接错。改正后数码管亮度也达到最佳了。
值得注意的是,南北方向、东南方向的指示灯要同时调试。设计中将4种通行规则分成几种不同的亮灯方式,分成5个时间段:120~110s、110~70s、70~60s、60~10s、10~0s。经过调试指示灯的亮灭符合控制要求。
5.4.2 特种车检测模块调试:
特种车检测模块主要由发送和接收模块组成,将单片机的串口与无线发送模块接,数据通过发送模块发出,安装在交通灯上的接收模块进行接收,若警车通过时所有的交通灯能变成红灯,并在15s之后恢复正常,则说明该模块工作正常。
5.4.3 紧急情况手动控制功能调试:
当按下手动开关时,南北方向和东西方向的红灯灭掉,绿灯亮起。则说明该模块符合要求。
5.4.4 盲人提示音电路硬件调试:
当绿灯亮时响一下,在行人结束通行前,绿灯闪烁10s时会间隔响5响(每次1s),并在120s开始倒计时到70s之间一直响着,说明该模块正常。
此外,在电路抗干扰设计方面,我们采取了引线尽量短,减少交叉等措施。实践证明,这些措施对消除某些引脚引起的直流分量干扰起到了很好的效果。抗干扰设计是单片机应用系统设计的重要组成部分,没有良好的抗干扰措施,系统就无法安全可靠的工作。当然,我们只能通过系统软件,硬件设计尽可能的减少干扰带来的影响,而不可能完全消除干扰。
结论
本系统以AT89C52单片机为核心,开发程序调试阶段采用W78E516B进行在线编程及修改,可大大加快调试速度。设计的交通灯可用于十字路口的车辆及行人的交通管理,显示采用3位7段数码管,可以很直观地显示红绿灯的开放和关闭的时间;设计中应用了两种倒计时显示方式,120s倒计时适用于车流量较大的大城市,60s倒计时可用于中小型城市;功能完整,不仅有普通交通灯的指示功能,还增加了特种车辆自动通行和盲人语音提示功能。
通过这次毕业设计,使我得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。
致谢语
在本次论文设计过程中,陈金兰老师对该论文从选题,构思到最后定稿的各个环节给予细心指引与教导,使我得以最终完成毕业论文设计。在学习中,老师严谨的治学态度、丰富渊博的知识、敏锐的学术思维、精益求精的工作态度以及侮人不倦的师者风范是我终生学习的楷模,导师们的高深精湛的造诣与严谨求实的治学精神,将永远激励着我。这三年中还得到众多老师的关心支持和帮助。在此,谨向老师们致以衷心的感谢和崇高的敬意!
最后,我要向百忙之中抽时间对本文进行审阅,评议和参与本人论文答辩的各位老师表示感谢。
参考文献
【1】《单片机课程设计指导》楼然苗 李光飞编著 ;北京航空航天大学出版社。
【2】《单片机中级教程》—原理与应用(第2版)张俊谟编著;北京航空航天大学出版社。
【3】《电路设计与制版PROTEL99SE典型实例》王力,张伟 编著;
北京人民邮电出版社。
【4】《毕业论文写作与范例》李炎清编著;厦门大学出版社。
【5】《单片机原理及接口技术》李朝青编著;北京航空航天大学出版社。
附录1 控制源程序清单
以下是城市道口交通灯控制系统模型控制用汇编程序:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 交通灯 ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
TIME EQU 50H ;秒计数用
TIMESFR EQU 51H ;临时寄存器
CONR5 EQU 52H ;T11秒定时计数用
TIMED0 EQU 55H ;单向最大定时时间,直行开始,人行开始 120
TIMED1 EQU 56H ; 各路右转开始时间 110
TIMED2 EQU 57H ; 前行结束提醒 70
TIMED3 EQU 58H ; 前行结束,人行结束,左转开始 60
TIMED4 EQU 59H ; 左转结束提醒
TIMED5 EQU 5AH ; 左转结束
TIMED6 EQU 5BH ;
TIMED7 EQU 5CH ;
SN EQU P1 ; 南北口
EW EQU P2 ; 东西口
SCAN EQU P3 ;扫描口
LEDOUT EQU P0 ;段码口
SNEWFLAG BIT 09H ;东西口与南北口转换标志
; 按键在扫描口的最高位,按一下,全红灯,再按一下,恢复原状态
;
; 定时器T0、T1溢出周期为50MS,T0为秒计数用,
;
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 中断入口程序 ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
ORG 0000H ;程序执行开始地址
LJMP START ;跳到标号START执行
ORG 0003H ;外中断0中断程序入口
RETI ;外中断0中断返回
ORG 000BH ;定时器T0中断程序入口
LJMP INTT0 ;跳至INTTO执行
ORG 0013H ;外中断1中断程序入口
LJMP INT11 ;外中断1中断返回,119.120中断
ORG 001BH ;定时器T1中断程序入口
LJMP INTT1
ORG 0023H ;串行中断程序入口地址
RETI ;串行中断程序返回
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 主 程 序 ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
START: MOV SP,#80H
MOV R0,#00H ;清70H-7AH共11个内存单元
MOV R7,#8FH ;
CLEARDISP: MOV @R0,#00H ;
INC R0 ;
DJNZ R7,CLEARDISP ;
MOV TIMED0,#78H ;单向最大定时时间,直行开始,人行开始 120
MOV TIMED1,#6EH ; 各路右转开始时间 110
MOV TIMED2,#46H ; 前行结束提醒 70
MOV TIMED3,#3CH ; 前行结束,人行结束,左转开始 60
MOV TIMED4,#0AH ; 左转结束提醒
CLR SNEWFLAG ;南北先通行标志位
MOV TMOD,#11H ;设T0、T1为16位定时器
MOV TL0,#0B0H ;50MS定时初值(T0计时用)
MOV TH0,#3CH ;50MS定时初值
MOV TL1,#0B0H ;50MS定时初值(T1闪烁定时用)
MOV TH1,#3CH ;50MS定时初值;
JB SCAN.7,SSST ;120秒管理
;以下为60秒管理
LCALL DL1MS
LCALL DL1MS
LCALL DL1MS
JB SCAN.7,SSST ;干扰
MOV TIMED0,#60 ;单向最大定时时间,直行开始,人行开始60
MOV TIMED1,#55 ; 各路右转开始时间 55
MOV TIMED2,#35 ; 前行结束提醒 35
MOV TIMED3,#30 ; 前行结束,人行结束,左转开始 30
MOV TIMED4,#05 ; 左转结束提醒
SSWAIT: JNB SCAN.7,SSWAIT
LCALL DL1MS
LCALL DL1MS
LCALL DL1MS
JNB SCAN.7,SSWAIT
;
SSST: MOV TIME,TIMED0 ;120秒
LCALL TUNBCD
MOV SN,#66H ;
MOV EW,#55H ;
SETB EA ;总中断开放
SETB PX1
SETB EX1
SETB ET0 ;允许T0中断
SETB TR0 ;开启T0定时器
MOV R4,#14H ;1秒定时用初值(50MS×20)
MOV CONR5,#20
START1: LCALL DISPLAY ;调用显示子程序
JNB SCAN.7,KEYFUN ;手动状态
SJMP START1 ;P1.0口为1时跳回START1;
KEYFUN: LCALL DISPLAY
LCALL DISPLAY
JB SCAN.7,START1
CLR ET0
CLR TR0
MOV SN,#056H ;全车道停,行人通
MOV EW,#056H ;
MOV TIME,#00H ;时间显示0
LCALL TUNBCD
KEYWAIT: LCALL DISPLAY ;
JNB SCAN.7,KEYWAIT ;
KEYY: LCALL DISPLAY ;等待按键按下
JB SCAN.7,KEYY
LCALL DISPLAY
JB SCAN.7,KEYY
KEYWAIT1: LCALL DISPLAY ;
JNB SCAN.7,KEYWAIT1 ;
MOV TIME,TIMED0 ;从新开始计时初值
LCALL TUNBCD
CLR SNEWFLAG ;南北先通行标志位
SETB TR0
SETB ET0
AJMP START1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 1秒计时程序 ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;T0中断服务程序
INTT0: PUSH ACC ;累加器入栈保护
PUSH PSW ;状态字入栈保护
CLR ET0 ;关T0中断允许
CLR TR0 ;关闭定时器T0
MOV A,#0B7H ;中断响应时间同步修正
ADD A,TL0 ;低8位初值修正
MOV TL0,A ;重装初值(低8位修正值)
MOV A,#3CH ;高8位初值修正
ADDC A,TH0 ;
MOV TH0,A ;重装初值(高8位修正值)
SETB TR0 ;开启定时器T0
DJNZ R4, OUTT00 ;20次中断未到中断退出
MOV R4,#14H ;20次中断到(1秒)重赋初值
JB SNEWFLAG, INT22
DEC TIME
MOV A,TIME
CJNE A,TIMED1,LOOP11 ; 判断是否小于110秒
LOOP11: JC LOOP22 ; 120-110
MOV SN,#66H ; I
MOV EW,#55H ; I
LJMP OUTT0 ; 120-110
LOOP22: MOV A,TIME
CJNE A,TIMED2,LOOP33 ; 判断是否小于70秒
LOOP33: JC LOOP44 ; 110-70
MOV SN,#6AH ; I
MOV EW,#59H ; I
LJMP OUTT0 ; 110-70
LOOP44: MOV A,TIME
CJNE A,TIMED3,LOOP55 ; 判断是否小于60秒
LOOP55: JC LOOP66 ; 70-60
MOV 20H,SN ;
CPL 04H ;
CPL 00H
MOV SN,20H ; I
MOV EW,#59H ; I
LJMP OUTT0 ; 70-60
LOOP66: MOV A,T
展开阅读全文