单片机原理及应用课程设计-城市道口交通灯控制系统的设计.doc_第1页
单片机原理及应用课程设计-城市道口交通灯控制系统的设计.doc_第2页
单片机原理及应用课程设计-城市道口交通灯控制系统的设计.doc_第3页
单片机原理及应用课程设计-城市道口交通灯控制系统的设计.doc_第4页
单片机原理及应用课程设计-城市道口交通灯控制系统的设计.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

单片机原理及应用 课程设计报告书 题题 目:目: 城市道口交通灯控制系统设计 系 别: 电子与信息工程学院 专 业: : 电子信息科学与技术 学 号: : 姓 名: : 指导老师: 设计时间: 2011 年 12 月 电子与信息工程学院 1 目 录 1.1. 引引 言言.1 1 1.1 设计意义. 1 1.2 系统功能要求.1 1.3 本组成员所做的工作.1 2.2. 方案设计方案设计.1 2.1 方案 A 1 2.2 方案 B 2 2.3 方案 C 2 3.3. 硬件设计及原理说明硬件设计及原理说明.3 3.1 主控制系统说明 3 3.2 最小系统电路及介绍 3 3.3 通行灯输出控制及介绍 3 3.4 时间显示模块及介绍 4 3.5 电源电路 5 4.4. 软件设计软件设计.5 4.1 初始化 5 4.2 主程序 5 4.3 定时器中断服务程序 6 5.5. 系统调试系统调试.8 5.1 硬件调试 8 5.2 软件调试 8 2 5.3 软硬连调 8 5.4 交通灯通行方式的调试 8 6.6. 设计总结设计总结.9 7.7.致谢语致谢语 10 8.8. 参考文献参考文献 .10 9.9. 附附 录录 1 1 源程序源程序 .11 10.10.附录附录 2 2 实验图实验图 20 11.11.附录附录 3 3 作品实物图片作品实物图片 21 2010 届 07 电子信息工程技术(2)班毕业设计 1 城市道口交通灯控制系统设计 1 1.引言 1.1 设计意义 近年来。随着科技的飞速发展,单片机的应用正在不断深入,同时带动传 统控制检测技术日益更新,在车辆穿梭,行人熙攘,车行车道,人行人道,有 条不紊的道路上,靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指 挥系统。在现代文明高速发展的社会,道路的高度发达使整个社会进步的速度 得以进一步加快,交通灯的出现是社会大发民用工业下得必然产物。交通灯在 道路事业中占有举足轻重的地位,它直接影响公路以及市区内的通车质量,所 以城市道口交通灯控制系统的设计具有重大意义。 1.2 系统功能要求 城市道口交通灯控制系统模型采用单片机作为主控制器,用于十字路口的车 辆及行人的交通管理,每个方向既有左拐、右拐、直行及行人 4 种通行指示灯, 计时牌显示路口通行转换剩余时间。 1.3 本组成员所做工作 三人合作讨论城市道口交通灯控制系统的原理与方案,然后确定实验板布 局;柯善发画原理图以及主要连线工作;周冬梅与王玲玲负责实验报 告的完成及基本的连线、焊接工作。 2.方案设计 方案 A: 采用标准 AT89C52 单片机作为控制器;显示倒计时显示采用 3 位 LED 数码管; 左拐、右拐、直行及行人 4 中通行指示灯采用双色高亮发光二极管;LED 显示 采用动态扫描,以节约端口数。特种车辆通行采用实时中断完成,识别方法采 用红外线发射及接受方案。按以上系统构架设计,单片机端口资源刚好满足要 求。该系统具有电路简单,设计方便,显示亮度高,耗电较少,可靠性高等特 点。 整个电路组成框图如图 2-1 所示。 2 上电复位 P1 P2 AT89C52 p0 INT1 P3 P3 南北通行灯 (2 组)组) 东西通行灯 (2 组)组) 3 位 LED 显示 器(4 组)组) 列扫驱动 串口通信 119、120 车辆监 测 自动/手控键盘 图 2-1 采用 LED 动态扫描的交通灯控制系统 方案 B: 采用 AT89C2051 单片机作为控制器;通行倒计时显示采用 1616 点阵 LED 发 光管,左拐、右拐、直行及行人 4 种通行指示灯也采用 1616 点阵 LED 发光管。 该系统设计框架如图 2-2 所示。列驱动采用 74LS595 以实现串行端口扩展,行 驱动采用 4/16 译码器 74LS154 动态扫描,译码器 74LS154 生成 16 条行选通信 号线,再经过驱动器驱动对应的行线。每条行线上需要较大的驱动电流,应选 用大功率三极管作为驱动管。这种设计方案的图案显示逼真,单片机占用端口 资源少;缺点是需要大量的硬件,电路复杂,耗电量大,在模型制作中较少采 用。 RED TXD 单单 片片 机机 I/O 口口 电源电源 行行 驱驱 动动 器器 列驱动器列驱动器 74LS595 双色双色 LED 显示点阵显示点阵 (每个路口(每个路口 7 个)个) 图 2-2 采用 1616 点阵 LED 发光管设计的交通灯控制系统 方案 C: 采用 AT89C2051 单片机作为控制器,通行倒计时及左拐、右拐、直行、行人 3 通行指示采用单块 LCD 液晶点阵显示器。这种方案设计占用单片机的端口最少, 硬件也少,耗电量也最小;虽然显示图案也很精美,但由于亮度太暗,晚上还 得开背光灯,所以较少采用。 通过以上综合分析可以看出,方案 A 具有综合设计优点,因此城市道口交 通灯控制系统采用方案 A 设计。 3硬件设计 整套电路系统由控制系统模块、通行灯输出控制显示模块、时间显示模块 和电源电路等组成。 3.1 主控制系主控制系统统 主控制器采用 AT89C52,是 ATMEL 公司生产的一款性能稳定的 8 位单片机。 AT89C52 具有 1 个 8KB 的 Flash 程序存储器,1 个 512 字节的 RAM,4 个 8 位的 双向可位寻址 I/O 端口,3 个 16 位的定时/计数器及一个串行口和 6 个向量二 级中断结构。 单片机的 P1 口及 P2 口分别用于控制南北及东西的通行灯,P0 口及 P3P3.2 口用于 4 组 3 位 LED 计时器的控制,特种车辆通过时使用外中断 1 口 (P3.3),手动自动转换采用 P3.7 口按键。 3.5 最小应用系统 AT89S51 单片机内部有 4KB 闪烁存储器,本身就是一个数字量输入/输出的 最小应用系统。在构建 AT89S51 单片机最小应用系统时,AT89S51 单片机需要 外接时钟电路和复位电路,外部时钟由时钟晶振和电容组成,从 XTAL1,XTAL2 输入。复位电路通过电容与开关来控制。 4 图 3-1 最小应用系统电路 3.3 通行灯输出控制 道口交通灯指示采用高亮度红绿双色放光二极管,左拐、直行、右拐及行 人各一个。当发光电流为 6mA 时,按公式 R=(5-1.8)/0.006 计算,限流电阻应 为 510 欧姆。由于南北通行是双向指示牌相同,因此每个端口应具有 12mA 的吸 收电流能力。另外,人行道口按 4 个灯算需 24mA 的吸收电流。这样在单片机的 输出喽需接驱动电路 74HC244,以保护单片机的输出端口。图 3-2 所示为道口指 示 灯电路。 5 图 3-2 城市道口交通指示灯电路 图中通过 P1 来控制东西方向的灯的亮灭,P2 口来控制南北的灯的亮灭。 由于系统扩展的芯片较多,可能造成负载过重,致使驱动能力不够,系统可能 不能可靠的工作,所以将 P1,P2 输出的信号经过 74HC244 单向驱动器之后再与 发光二极管相连 3.4 时间显示模块 道口通行剩余时间采用高亮红色 7 断 LED 发光数码管显示,采用共阳数码 管,如用单片机吸收电流驱动,列扫描驱动使用三极管,按每段 6mA 电流算, 全显示字形“8”每个数码管 6mA8=48mA。由于时间显示每个道口相同,4 组 需 192mA,因此设计中采用中功率三极管 9012。由于单片机每个段码的输出口需 吸收 24mA 电流,因此在电路设计中也使用了驱动集成块 74HC244.其显示驱动 电路如图 3-3。 数码管的位选分别与 AT89C51 的 P3.0,P3.1,P3.2 相连来实现位选,三个 数码管对应的段相连.由 P0 口通过 74HC244 锁存器来控制,在某一时刻让 P3.0,P3.1,P3.2 中得一位有效其他位无效,同时通过 P0 口输出相应的段码。 这样被选通的 LED 就会显示相应的字符,其他的都是熄灭的。如此循环下去, 就可以使个位显示出将要显示的字符。虽然这些字符是在不同时刻出现的,同 一时刻只有一位显示,其他的各位熄灭,但 LED 数码管的余晖和人眼的视觉暂 留作用,只要每位显示的间隔足够短,则可以造成多位同时亮的假象,达到同 时显示的效果。 6 图 3-3 时间显示驱动电路 3.5 电源电路电源电路 由于整个系统采用电源电压只需+5V 电压,所以采用不可调的 3 端稳压管器 件,用常用的 LM7805 就可以满足系统电源的要求。 4.软件设计 道口交通控制系统程序主要分为以下几个模块:初始化程序、主程序、定时 中断程序等。 4.1 初始化程序 初始化程序主要完成内存规划,定时器的工作模式、中断方式等的设定。由 于程序调用较多,因此初始化时堆栈指针设于 80H 处。定时器 T0、T1 设为 16 位定时器模式,定时时间为 50ms,T0 为妙计时用,T1 为通行结束闪烁用。 4.2 主程序 主程序主要负责总体程序管理功能,实现人机交互设定。由于采用动态扫描 方式显示时间,因此主程序大部分时间要调用扫描显示程序。主程序流程图如 4-1 所示。 7 初始化初始化 显示程序显示程序 p3.7=0 ? 键功能程序键功能程序 Y N 外中断程序外中断程序 现场保护现场保护 关外中断关外中断 1 开定时器开定时器 T1 送全红灯,数据缓存送全红灯,数据缓存 15s 倒倒 计时计时 结束结束 吗?吗? Y 现场恢复,中断返回现场恢复,中断返回 红灯红灯 显示显示 N 开始开始 图图 4-14-1 主程序流程图主程序流程图 图图 4-24-2 外中断外中断 1 1 中断服务程序流程图中断服务程序流程图 4.3 定时器中断服务程序 定时中断服务程序主要用于行车及行人的通行指示,按照通行规则,红绿灯 控制转换逻辑表如表 4-1 所示。 端口端口控制功能控制功能120110s120110s11070s11070s7060s7060s6010s6010s100s100s P*.7P*.7左拐红左拐红0 00 00 01 11 1 P*.6P*.6左拐绿左拐绿1 11 11 10 00/10/1 P*.5P*.5直行红直行红1 11 11 10 00 0 P*.4P*.4直行绿直行绿0 00 00/10/11 11 1 P*.3P*.3右拐红右拐红0 01 11 11 11 1 P*.2P*.2右拐绿右拐绿1 10 00 00 00/10/1 P*.1P*.1行人红行人红1 11 11 10 00 0 P*.0P*.0行人绿行人绿0 00 00/10/11 11 1 南南 北北 方方 向向 道口控制字道口控制字66H66H6AH6AH6AH/7BH6AH/7BH99H99H99H/DDH99H/DDH P*.7P*.7左拐红左拐红0 00 00 00 00 0 P*.6P*.6左拐绿左拐绿1 11 11 11 11 1 P*.5P*.5直行红直行红0 00 00 00 00 0 P*.4P*.4 直行绿直行绿 1 11 11 11 11 1 东东 南南 方方 P*.3P*.3右拐红右拐红0 01 11 11 11 1 8 P*.2P*.2右拐绿右拐绿1 10 00 00 00/10/1 P*.1P*.1行人绿行人绿0 00 00 00 00 0 P*.0P*.0行人红行人红1 11 11 11 11 1 向向 道口控制字道口控制字55H55H59H59H59H59H59H59H59H/5DH59H/5DH 表 4-1 道口通行方式控制码数据表 通行规则如下: 车辆南北直行、各路右拐,南北向行人通行。南北向通行时间为 1min,各 路右拐比直行滞后 10s 开放;车辆南北向左拐、各路右拐,行人禁行。通行时 间为 1min;车辆东西向直行、各路右拐,东西向行人通行。东西向通行时间为 1min,各路右拐比直行滞后 10s 开放;车辆东西向左拐、各路右拐,行人禁行。 通信时间为 1min。 交通灯的 4 种通行规则,是以给控制红绿灯端口送入控制码的方式实现的。 它的原理是,将按不同规则通行的路口的红绿灯的亮灭情况转换为单片机端口 控制码。其指示灯功能通过 T0 定时中断服务程序实现。 定时器 T0 定时溢出中断周期设为 50ms,中断累计 20 次(即 1s)时对 120s 倒计时单元减 1 操作。设计中将 4 种通行规则分成几种不同的亮灯方式,通过 查询秒倒计时单元的数据,实现在不同的时间段给控制端口送入不同的控制数 据码。控制码可以分为 5 个时间段: 120110s、11070s、7060s、6010s、100s。交通管理定时功能程序流程图 如图 4-3 所示。 9 T0 中断程序 现场保护 关中断 T0 T0 初值重装 TIME11TIME110 ? TIME70?TIME70? TIME60?TIME60? TIME10?TIME10? TIME0?TIME0? 南北南北/东西东西 标志位取反标志位取反 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.调试及性能分析 根据系统设计方案,本系统的调试共分为三大部分:硬件调试,软件调试 和软硬件联调。由于在系统设计中采用模块化设计,所以方便了对各电路功能模 块的逐级测试,包括对交通灯通行方式功能的调试,行人通行指示功能调试,倒 10 计时功能调试,单片机软件先在最小系统板上调试,确保工作正常之后,再与 硬件系统联调。最后将各模块组合后在交道口模型上进行整体测试,使系统的所 有功能得以实现。 5.1 硬件调试 交道口交通灯控制系统的电路板焊接工作量非常大,并且采用万用板,电路 安装完成后,首先进行检查,即确认电路无虚焊,无短路,无断路,集成元件 安装是否正确,之后进行电路功能模块的分级调试,根据电路功能逐级进行: 通行方式功能调试:包括对四种通行方式控制调试,行人和行车方向指示灯 调试 倒计时功能调试:数码管显示值调试 紧急情况手动控制功能调试:包括按键功能及规则调试 5.2 软件调试 本系统的软件系统很大,选用一般的伟福仿真器对 AT89C52 进行调试。除 了语法差错外,当确认程序没问题时,通过直接下载到单片机来调试。采取的 是自下到上的调试方法,即单独调试好每一个模块,然后再连接成一个完整的系 统,最后完成一个完整的系统调试。 5.3 软硬联调 系统做好后,进行系统的完整调试。主要任务是检验实现的功能及其效果并校 正数值。根据实测数据,逐步校正数据,使测量结果更准确。单片机软件先在最 小系统板上调试,确保工作正常之后,再与硬件系统联调。 5.4. 交通灯通行方式功能的调试 显示倒计时采用 3 位 LED 数码管;左拐、右拐、直行及行人 4 组通行指示 灯采用双色高亮发光二极管。接线繁琐,极易出错.检查二极管无故障,导线无 断线,连线接头无互相搭联后可先写一个软件调试程序,依次检查东南西北方向 的指示灯(发光二极管)是否点亮;若未点亮,则可能是连线接错.根据灯的亮灭 情况依次查找直到电路正常工作为止。我们主要出现的是数码管不亮的问题, 后来通过检查,为连接线接错。改正后数码管亮度也达到最佳了。 值得注意的是,南北方向、东南方向的指示灯要同时调试。设计中将 4 种 通行规则分成几种不同的亮灯方式,分成 5 个时间段: 11 120110s、11070s、7060s、6010s、100s。经过调试指示灯的亮灭都符合 控制要求。 设计总结 本系统以 AT89C52 单片机为核心,开发程序调试阶段采用 W78E516B 进行在 线编程及修改,可大大加快调试速度。设计的交通灯可用于十字路口的车辆及 行人的交通管理,显示采用 3 位 7 段数码管,可以很直观地显示红绿灯的开放 和关闭的时间;设计中应用了两种倒计时显示方式,120s 倒计时适用于车流量 较大的大城市,60s 倒计时可用于中小型城市;功能完整。通过这次实验设计, 使我们得到了一次用专业知识、专业技能分析和解决问题全面系统的锻炼。使 我们在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思 路技巧(特别是汇编语言)的掌握方面都能向前迈了一大步,为日后成为合格 的应用型人才打下良好的基础。 12 致谢语 本设计报告是在我们的老师徐武雄的亲切关怀和悉心指导下完成的。他严 肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着 我。老师不仅在学业上给我以精心指导,同时还在思想上给我以无微不至的关 怀,在此谨向徐老师致以诚挚的谢意和崇高的敬意。我们还要感谢在一起愉快 合作的小组同学们,正是由于相互的帮助和支持,我们才能克服一个一个的困 难和疑惑,直至本文的顺利完成。 从开始进入实验课题到其顺利完成,有多少可敬的师长、同学、朋友给了 我们无言的帮助,在这里请接受我们诚挚的谢意!最后,再次对关心、帮助我的 老师和同学表示衷心地感谢! 参考文献参考文献 【1】单片机课程设计指导楼然苗 李光飞编著 ;北京航空航天大学出版社。 【2】 单片机原理及应用 (第二版)张毅刚 彭喜元 彭宇编著;高等教育出版 社。 【3】 微机原理与接口技术李忠明编著;华中科技大学出版社。 13 附录 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 14 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 秒 15 LCALL TUNBCD MOV SN,#66H ; MOV EW,#55H ; SETB EA ;总中断开放 SETB PX1 SETB EX1 SETB ET0 ;允许 T0 中断 SETB TR0 ;开启 T0 定时器 MOV R4,#14H ;1 秒定时用初值(50MS20) 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 16 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,TIME CJNE A,TIMED4,LOOP77 ; 判断是否小于 10 秒 LOOP77: JC LOOP88 ; 60-10 MOV SN,#99H ; I MOV EW,#59H ; I LJMP OUTT0 ; 60-10 LOOP88: MOV A,TIME 17 JZ OUT88 MOV 20H,SN ; CPL 06H ; CPL 02H MOV SN,20H ; MOV 20H,EW CPL 02H MOV EW,20H ; I LJMP OUTT0 ; 70-60 OUT88: MOV TIME,TIMED0 ;120 秒初值 CPL SNEWFLAG OUTT0: LCALL TUNBCD ; OUTT00: POP PSW ;恢复状态字(出栈) POP ACC ;恢复累加器 SETB ET0 ;开放 T0 中断 RETI ;中断返回 ; INT22: DEC TIME MOV A,TIME CJNE A,TIMED1,LOOP111 ; 判断是否小于 110 秒 LOOP111: JC LOOP221 ; 120-110 MOV EW,#66H ; I MOV SN,#55H ; I LJMP OUTT01 ; 120-110 LOOP221: MOV A,TIME CJNE A,TIMED2,LOOP331 ; 判断是否小于 70 秒 LOOP331: JC LOOP441 ; 110-70 MOV EW,#6AH ; I MOV SN,#59H ; I LJMP OUTT01 ; 110-70 LOOP441: MOV A,TIME CJNE A,TIMED3,LOOP551 ; 判断是否小于 60 秒 LOOP551: JC LOOP661 ; 70-60 MOV 20H,EW ; CPL 04H ; CPL 00H MOV EW,20H ; I MOV SN,#59H ; I LJMP OUTT01 ; 70-60 18 LOOP661: MOV A,TIME CJNE A,TIMED4,LOOP771 ; 判断是否小于 10 秒 LOOP771: JC LOOP881 ; 60-10 MOV EW,#99H ; I MOV SN,#59H ; I LJMP OUTT01 ; 60-10 LOOP881: MOV A,TIME JZ OUT881 MOV 20H,EW ; CPL 06H ; CPL 02H MOV EW,20H ; MOV 20H,SN CPL 02H MOV SN,20H ; I LJMP OUTT01 ; 70-60 OUT881: MOV TIME,TIMED0 ;120 秒初值 CPL SNEWFLAG OUTT01: LCALL TUNBCD ; POP PSW ;恢复状态字(出栈) POP ACC ;恢复累加器 SETB ET0 ;开放 T0 中断 RETI ;中断返回 ; ; ; 显示程序 ; ; ; 显示数据在 70H-75H 单元内,用六位 LED 共阳数码管显示,P0 口输出段码数据,P2 口作 ; 扫描控制,每个 LED 数码管亮 1MS 时间再逐位循环。 DISPLAY: MOV R1,#70H ;指向显示数据首址 MOV R5,#0FEH ;扫描控制字初值 PLAY: MOV A,R5 ;扫描字放入 A MOV SCAN,A ;从 P2 口输出 MOV A,R1 ;取显示数据到 A MOV DPTR,#TAB ;取段码表地址 MOVCA,A+DPTR ;查显示数据对应段码 MOV LEDOUT,A ;段码放入 P0 口 LOOP6: LCALL DL1MS ;显示 1MS INC R1 ;指向下一地址 MOV A,R5 ;扫描控制字放入 A JNB ACC.2,ENDOUT ;ACC.5=0 时一次显示结束 RL A ;A 中数据循环左移 19 MOV R5,A ;放回 R5 内 MOV LEDOUT,#0FFH AJMP PLAY ;跳回 PLAY 循环 ENDOUT: MOV LE

温馨提示

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

评论

0/150

提交评论