基于STC89C52单片机的数显交通灯设计_第1页
基于STC89C52单片机的数显交通灯设计_第2页
基于STC89C52单片机的数显交通灯设计_第3页
基于STC89C52单片机的数显交通灯设计_第4页
基于STC89C52单片机的数显交通灯设计_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、单片机系统开发与应用工程实习报告单片机系统开发与应用工程实习报告选题名称选题名称:基于 stc89c52 单片机的数显交通灯设计系(院)系(院): 计算机工程学院专专 业业: 班班 级级: 姓姓 名名: 学学 号号: 指导教师指导教师: 学年学期学年学期: 2009 2010 学年 第 2 学期2010年 5 月 30 日摘要:近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。交通灯的出现,使交通得以有效管制,对于疏导

2、交通流量、提高道路通行能力,减少交通事故有明显效果。本项目主要从单片机应用上来实现十字路口交通灯智能化的管理,用来控制过往车辆的正常运行。我们采用 msc-51 系列单片机stc89c52 和驱动芯片 74ls245 为中心器件,两位共阴数码管和红、黄、绿 led 灯为显示器件来设计交通灯控制器,实现了东西南北路口直行,转弯交替通行;人行道通行;数码管显示直行通行时间倒计时;红、绿灯循环点亮,倒计时剩 4 秒时黄灯闪烁警示;某一方向拥挤时,可通过 p3.0,p3.1 处的两个按键,实现人工调节通行时间;紧急情况时,可通过 p3.2 处的中断按键,实现各路口显示红灯,数码管数据保持不变等功能。本

3、系统实用性强、操作简单、扩展功能强。 关键词:关键词:单片机;交通灯;数码管;stc89c52;74ls245;中断目目录录1 绪言 .11.11.1 课题背景课题背景 .11.21.2 单片机概述单片机概述 .12 项目概述 .22.1 项目要求 .22.2 系统设计 .23 硬件设计 .33.1 方案比较、设计与论证 .33.1.1 电源提供方案 .33.1.2 显示界面方案 .33.2 芯片简介 .43.2.1 msc-51 芯片简介 .43.2.2 74ls245 引脚,参数及 功能说明 .73.2.32 位共阴数码管 .73.3 交通管理的方案论证 .83.4 系统硬件设计 .94

4、软件设计 .104.1 程序流程图 .104.2 延时的设定 .124.2.1 硬件延时 .124.2.2 软件延时 .134 43 3 程序代码分析程序代码分析 .134.3.1 程序实现功能 .134.3.2 工作寄存器及存储单元分配 .144.3.3 初始化程序 .144.3.4 显示子程序 .154.3.5 定时中断处理程序 .164.3.6 南北通行到达最后 4 秒时黄灯闪烁 .174.3.7 东西方向通行时间剩余 4 秒钟黄灯闪烁 .184.3.8 紧急中断处理程序 .19439 查表指令 0,1,2,3,4,5,6,7,8,9 .204.3.10 延时 5ms 与 1ms .20

5、5 测试及结果 .20总 结 .22参考文献 .23单片机系统开发与应用工程实习报告11 1 绪言绪言1.11.1 课题背景课题背景随着我国国民经济的迅速发展,城市街道车辆大幅度增长,给城市交通带来巨大压力,交通拥堵已经成为影响城市可持续发展的一个全局性问题。而街道各十字路口,又是车辆通行的瓶颈所在。已有的许多建立在精确模型基础上的交通系统控制方案都存在着一定的局限性。研究车辆通行规律,找出提高十字路口车辆通行效率的有效方法,对缓解交通阻塞,提高畅通率具有十分现实的意义。地面道路是一个庞大的网络,交通状况十分复杂,使目前交通灯控制器的单一时段控制已不能满足现代交通流量的多变性,特别是在交通流量

6、高峰时,往往会造成交通路口的通过率下降,甚至出现交通混乱现象,城市的交通拥挤问题正逐渐引起人们的注意。道路平面交叉口(简称交叉口)是交通网中通行能力的“隘口”和交通事故的“多发源” ,国内外城市的交通事故约有一半发生在交叉口。因此,交叉口这个事故多发源不能不引起人们的高度关注。随着交通技术、电子技术的发展及微机技术的应用,人们设计出了适应各种需要的交通检测器、信号控制机和交通信号灯。交通灯是交管部分管理城市交通的重要工具。现在交通灯一般设在十字路口,在醒目位置用红、绿、黄三种颜色的指示灯,加上一个倒计时的显示计时器来控制行车,对于一般情况下的安全行车、车辆分流发挥着作用。目前绝大部分交通灯其时

7、间都是设定好的,采用的是单段式定时控制或多段式定时控制,其最大的缺点是绿灯时间和绿信比是固定的或是分时段固定的,且最佳绿灯时间和最佳绿信比的整定较为困难,需要大量的实测统计数据,且很多情况下整定所得值并不是最优的,甚至是不合理的。控制起来都不是很灵活,这使得城市车流的调节不能达到最优。这次设计正是针对这一弊端进行了改进,较好地解决了这一问题。根据实时车流量对各路口的绿灯时间进行动态调节,大大加强了其灵活性和实时性,本系统本着“先到先服务”的原则,在保证交通安全性不降低的条件下提高了交通效率。与传统的交通控制系统相比,该控制系统有一定的智能水平和很强的控制能力。1.21.2 单片机概述单片机概述

8、随着微控技术的日益完善和发展,单片机的应用在不断走向深入。它的应用比定导致传统的控制技术从根本上发生变革。也就是说单片机应用的出现是对传统控制技术的革命。它在工业控制、数据采集、智能化仪表、机电一体化、家用电器等领路得单片机系统开发与应用工程实习报告2到了广泛应用,极大的提高了这些领域的技术水平和自动化控制。因此单片机的开发应用已成为高技术工程领域的一项重大课题。因此了解单片机知识,掌握单片机的应用技术具有重大的意义。本文主要从计算机的应用上来实现十字路口交通灯智能化的管理,用以控制过往车辆的正常运作。单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机

9、,特别适用于控制领域,故又称为微控制器。 通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和 i/o 接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。 单片机经过 1、2、3 代的发展,目前单片机正朝着高性能和多品种方向发展,它们的 cpu 功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。2 2 项目概述项目概述随着微控技术的日益完善和发展,单片机的应用在不断走向深入。它的应用必定导致传统的控制技术从根本上发生变革。它在工业控制,数据采集,智能化仪表,机电一体化,家用电器等领域得到了广泛应用,极大地提高

10、了这些领域的技术水平和自动化控制。本项目主要从单片机应用上来实现十字路口交通灯智能化的管理,用来控制过往车辆的正常运作。2.12.1 项目要求项目要求基于 stc89c52 单片机的数显交通灯的设计,主要功能有:(1)东西南北路口直行与转弯交替通行,数码管显示直行通行倒计时。(2)红黄绿灯显示包括人行道在内的道路交通状态。(3)某一方向道路拥挤时,可以人工控制调节东西南北通行时间。(4)紧急情况时,各路口交通灯显示红灯,数码管保持数据不变。2.22.2 系统设计系统设计按照系统设计的要求和功能,将系统分为主控模块、led 显示模块、电源电路、复位电路、按键电路、晶振电路、驱动电路等几个模块,系

11、统组成框图如图 2-1 所示。单片机系统开发与应用工程实习报告3时间显示晶振电路stc89c52 单片机驱动 74ls245红灯状态黄灯状态绿灯状态按键电路电源电路图 2-1 基于 stc89c52 单片机的数显交通灯系统组成框图3 3 硬件设计硬件设计3.13.1 方案比较、设计与论证方案比较、设计与论证3.1.1 电源提供方案为使模块稳定工作,须有可靠电源。我们考虑了两种电源方案方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。方案二:采用单片机控制模块提供电源。改方案的优点是系统简明扼要,节约成本;

12、缺点是输出功率不高。综上所述,我们选择第二种方案。3.1.2 显示界面方案该系统要求完成倒计时、状态灯等功能。基于上述原因,我们考虑了三种方案:方案一:完全采用数码管显示。这种方案只显示有限的符号和数码字苻,无法胜任题目要求。方案二:完全采用点阵式 led 显示。这种方案实现复杂,且须完成大量的软件工作;但功能强大,可方便的显示各种英文字符,汉字,图形等。方案三:采用数码管与点阵 led 相结合的方法因为设计既要求倒计时数字输出,又要求有状态灯输出等,为方便观看并考虑到现实情况,用数码管与 led 灯分别显示时间与提示信息。这种方案既满足系统功能要求,又减少了系统实现的复杂度。权衡利弊第三种方

13、案可互补一二方案的优缺,我们决定采用方案三以实现系统的显示功能。单片机系统开发与应用工程实习报告43.23.2 芯片简介芯片简介3.2.1 msc-51 芯片简介mcs-51 单片机内部结构:8051 是 mcs-51 系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。 8051 单片机包含中央处理器、程序存储器(rom)、数据存储器(ram)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:中央处理器:中央处理器(cpu)是整个单片机的核心部件,是 8 位数据宽度的处理器,能处理 8 位二进制数据或代码,cpu 负

14、责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。数据存储器(ram):8051 内部有 128 个 8 位用户数据存储单元和 128 个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的 ram 只有 128 个,可存放读写的数据,运算的中间结果或用户定义的字型表。图 3-1 8051 内部结构程序存储器(rom):8051 共有 4096 个 8 位掩膜 rom,用于存放用户程序,原始数据或表格。定时/计数器(rom):8051 有两个 16 位的可编程定时/计数器,以实现定时或计数产生中

15、断用于控制程序转向。并行输入输出(i/o)口:8051 共有 4 组 8 位 i/o 口(p0、 p1、p2 或 p3),用于对外部数据的传输。全双工串行口:8051 内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。单片机系统开发与应用工程实习报告5中断系统:8051 具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有 2 级的优先级别选择。 时钟电路:8051 内置最高频率达 12mhz 的时钟电路,用于产生整个单片机运行的脉冲时序,但 8051 单片机需外置振荡电容。单片机

16、的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(princeton)结构。intel 的 mcs-51 系列单片机采用的是哈佛结构的形式,而后续产品 16 位的 mcs-96 系列单片机则采用普林斯顿结构。图 3-2 mcs-51 结构图mcs-51 的引脚说明:mcs-51 系列单片机中的 8031、8051 及 8751 均采用 40pin封装的双列直接 dip 结构,右图是它们的引脚配置,40 个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4 组 8 位共

17、32 个 i/o 口,中断口线与 p3 口线复用。现在我们对这些引脚的功能加以说明:如图 3-3 所示:单片机系统开发与应用工程实习报告6图 3-3 mcs-51 的引脚说明pin9:reset/vpd复位信号复用脚,当 8051 通电,时钟电路开始工作,在 reset引脚上出现 24 个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器pc 指向 0000h,p0-p3 输出口全部为高电平,堆栈指针写入 07h,其它专用寄存器被清“0”。reset 由高电平下降为低电平后,系统即从 0000h 地址开始执行程序。然而,初始复位不改变 ram(包括工作寄存器 r0-r7)的状态,805

18、1 的初始态。8051 的复位方式可以是自动复位,也可以是手动复位,见下图 3-4。此外,reset/vpd还是一复用脚,vcc掉电其间,此脚可接上备用电源,以保证单片机内部ram 的数据不丢失。 图 3-4 复位和时钟方式pin30:ale/当访问外部程序器时,ale(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存储器时,ale 端将有一个 1/6 时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当访问外部程序存储器,ale 会跳过一个脉冲。如果单片机是 eprom,在编程其间,将用于输入编程脉冲。pin29:当访问外部程序存储器

19、时,此脚输出负脉冲选通信号,pc 的 16 位地址数据将出现在 p0 和 p2 口上,外部程序存储器则把指令数据放到 p0 口上,由 cpu 读入并执行。 单片机系统开发与应用工程实习报告7pin31:程序存储器的内外部选通线,8051 和 8751 单片机,内置有 4kb 的程序ea存储器,当 ea 为高电平并且程序地址小于 4kb 时,读取内部程序存储器指令数据,而超过 4kb 地址则读取外部指令数据。如 ea 为低电平,则不管地址大小,一律读取外部程序存储器指令。显然,对内部无程序存储器的 8031,端必须接地。ea在编程时,脚还需加上 5v 的编程电压。ea3.2.2 74ls245

20、引脚,参数及 功能说明74ls245 是 8 路 3 态 双向缓冲驱动,也叫做总线驱动门电路或线驱动。主要使用在数据的双向缓冲,原来常见于 51 的数据接口电路,比如,早期电路中,扩展了很多的 8255/8155/8251/8253/573 等芯片的时候,担心 8031 的数据驱动能力不足,就使用一片 245 作为数据缓冲电路,增强驱动能力;也常见与 isa 卡的接口电路,图 3-5为 245 驱动芯片的管脚排列图 3-5 245 驱动芯片的引脚图0,dir0,b-a;=0, dir=1, a-b;=1, dir=x, x=0 或者 1,输入和eee输出均为高阻态;高阻态的含意就是相当于没有这

21、个芯片。3.2.32 位共阴数码管led 显示屏作为大型显示设备的一种,具有亮度高、价格低、寿命长、维护简便等优点。led 数码管的结构简单,分为七段和八段两种形式,也有共阳和共阴之分。以八段 2 位共阴管为例,它有 8 个发光二极管(比七段多一个发光二极管,用来显示sp,即点),每个发光二极管的阴极连在一起接地。这样,一个 led 数码管就有 2 根位选线和 8 根段选线,要想显示一个数值,就要分别对它们的高低电平来加以控制。单片机系统开发与应用工程实习报告8相应在程序软件上,可以通过调用程序给定的秒值经过特定计算算出需要显示的个位和十位,然后有 dptr 调取 table 的代码。led

22、8 段数码管的设置为每个方位上的一个 2 位显示器。四个方位上总共用 4 个2 位共阴 led 接在单片机的 p1 口上。如图 3-7 所示:图 3-7 2 位共阴数码管3.3 交通管理的方案论证交通管理的方案论证东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。设东西道比南北道的车流量大,指示灯燃亮的方案(1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,此道车辆通过,行人禁止通行。时间为 10 秒。(2)

23、南北黄灯闪烁 4 秒,警示车辆和行人红、绿灯的状态即将切换。(3)南北左拐,东西左右拐 10 秒。(4)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通过,行人通行。时间为 20 秒。 东西方向车流大 通行时间长。(5)东西黄灯闪烁 4 秒,警示车辆和行人红、绿灯的状态即将切换。(6)南北左右拐,东西左拐 10 秒。单片机系统开发与应用工程实习报告9(7)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全畅通的通行。(8)此表可根据车流量动态设定红绿灯初始值。3.4 系统硬件设计系统硬件设计核心器件:单片机系统采用 stc89c52 芯片,晶振选用 12mhz

24、,电源电压采用5v。信号输出设计:用驱动芯片 74ls245 与单片机的 p0,p2 口相连,由 74ls245 将信号输送到红黄绿灯上。信号灯采用发光二极管,选用红黄绿三种颜色。红灯停,绿灯行,黄灯等待。低电平时,灯亮;高电平时,灯熄灭。时间显示设计:采用 led 八段 2 位共阴显示,采用动态显示方式。电路图如图 3-8:单片机系统开发与应用工程实习报告10图 3-8 交通灯总电路图4 软件设计软件设计4.1 程序流程图程序流程图本系统的软件包括主程序,显示程序和中断程序三部分。主程序:初始化子程序,循环执行显示子程序,中断系统初始化,显示缓冲区赋初值,设置状态标志,状态切换。具体流程如下

25、: 单片机系统开发与应用工程实习报告11关中断保护现场开中断中断服务关中断恢复现场开中断中断返回断点地址由堆栈弹入pc图 4-1 中断服务程序图单片机系统开发与应用工程实习报告12开始南北左拐,东西左右拐东西直行,南北红灯延时 10s延时 4 秒南北左右拐,东西左拐延时 10s延时 10s主程序初始化南北直通状态,东西红灯延时 10s南北黄灯中断入口设置中断初始化开中断延时 4 秒图 4-2 主程序单片机系统开发与应用工程实习报告13复位按钮p3.0 处的按扭p3.1 处的按钮p3.2 处的按钮复位延长东西通行时间延长南北通行时间紧急中断,各路口全红灯,数码管时间静止图 4-3 按键功能4.2

26、 延时的设定延时的设定 延时方法可以有两种一中是利用 mcs-51 内部定时器才生溢出中断来确定 1 秒的时间,另一种是采用软延时的方法。4.2.1 硬件延时计数器初值计算:定时器工作时必须给计数器送计数器初值,这个值是送到 th和 tl 中的。他是以加法记数的,并能从全 1 到全 0 时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值设定为 c 和计数初值设定为 tc 可得到如下计算通式:tc=m-c (4-1)公式中,m 为计数器摸值,该值和计数器工作方式有关。在方式 0 时 m 为;132在方式 1 时 m 的值为;在方式 2 和 3 为16282计算公式:t=(mtc)

27、/t计数或 tc(m-t)/t计数 (4-2)t计数是单片机时钟周期 tclk2 倍;tc 为定时初值如单片机的主脉冲频率为 t12mhz,经过 12 分频方式 0tmax213*1 微秒8.192 毫秒方式 1tmax216*1 微秒65.536 毫秒显然 1 秒钟已经超过了计数器的最大定时间,所以我们只有采用定时器和软件相结合的办法才能解决这个问题。1 秒的方法:我们采用在主程序中设定一个初值为 20 的软件计数器和使 t0 定时 50毫秒。这样每当 t0 到 50 毫秒时 cpu 就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中,cpu 先使软件计数器减 1,然后判断它

28、是否为零。为单片机系统开发与应用工程实习报告14零表示 1 秒已到可以返回到输出时间显示程序。相应程序代码:定时器需定时 50 毫秒,故 t0 工作于方式 1。初值:3cboh1553620ms/1us-2t)/t-(mtc16计数mov tmod,#01h ;初始化定时器mov tl0,#0b0hmov th0,#3chsetb ea ;开定时中断与紧急中断setb et0setb tr0setb ex0setb it0 ;设置中断程控方式4.2.2 软件延时 mcs-51 的工作频率为 2-12mhz,我们选用的 8051 单片机的工作频率为12mhz。机器周期与主频有关,机器周期是主频的

29、 12 倍,所以一个机器周期的时间为 1us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定时间。 具体的延时程序分析:去抖延时子程序d5ms: mov r7,#50 ;延时 5ms mov r6,#50 l1: djnz r6,$ djnz r7,l1 retd1ms: mov r7,#10 ;延时 1ms mov r6,#50 l2: djnz r6,$ djnz r7,l2 ret单片机系统开发与应用工程实习报告1543 程序代码分析程序代码分析4.3.1 程序实现功能1、东西南北路口直行与转弯交替通行,数码管显示直行通行倒计时,红绿黄灯显示包括人行道在内的道路

30、交通状态。2、某一方向道路拥挤时,可以人工控制调节东西南北方向通行时间。3、紧急情况时,各路口交通灯显示红灯,数码管保持数据不变。4.3.2 工作寄存器及存储单元分配1、工作寄存器:r2 设置为定时器定时中断次数,r6、r7 用于延时程序中的寄存器2、片内存储单元:30h、31h 作为两组数码管显示数据存储单元;32h、33h 作为交通灯初始状态存储单元;40h、41h 作为交通灯显示数据存储单元。3、标志位:00h:南北通行标志位;01h:东西通行标志位;02h:紧急事件标志位 。 snf equ 00h ;南北通行标志位ewf equ 01h ;东西通行标志位urf equ 02h ;紧急

31、事件标志位org 0000hljmp main ;上电转主程序org 000bh ;定时中断入口ljmp dszd org 0003h ;紧急中断入口ljmp urzdorg 0030h main: lcall init ;调用初始化子程序loop: lcall dis ;循环执行显示子程序 ajmp loop4.3.3 初始化程序init: setb snf setb ewf setb urf 单片机系统开发与应用工程实习报告16 mov r2,#20 ;定时器中断 20 次为 1s mov tmod,#01h ;初始化定时器 mov tl0,#0b0h mov th0,#3ch setb

32、ea ;开定时中断与紧急中断 setb et0 setb tr0 setb ex0 setb it0 ;设置中断程控方式 mov dptr,#tab ;数值首地址放入 dptr 中 mov 40h,#10 ;东南西北通行时间设置 mov 41h,#10 mov 30h,#10 ;通行时间初始化 mov 31h,#20 mov p0,#0b3h ;初始化时南北通行并把交通灯状态分别放在32h 和 33h 中 mov 32h,#0b3h mov p2,#0abh mov 33h,#0abh ret4.3.4 显示子程序dis: mov p3,#0dfh ;选中南北方向的十位数码管 mov a,30

33、h ;把显示数据送人数码管显示 mov b,#10 div ab movc a,a+dptr mov p1,a lcall d1ms mov p3,#0efh ;选中南北方向的个位数码管 mov a,b ;送入数码管显示 movc a,a+dptr 单片机系统开发与应用工程实习报告17 mov p1,a lcall d1ms mov p3,#7fh ;选中第东西方向的十位数码管 mov a,31h ;送入数码管显示 mov b,#10 div ab movc a,a+dptr mov p1,a lcall d1ms mov p3,#0bfh ;选中第东西方向的个位数码管 mov a,b mov

34、c a,a+dptr mov p1,a lcall d1ms setb p3.0 setb p3.1 jnb p3.0,dis_s ;查询是否第一个按键按下 jnb p3.1,dis_e ;查询是否第二个按键按下 ajmp dis_r ;没有键按下则返回dis_s:lcall d5ms ;按键去抖 jnb p3.0,dis_sn ajmp dis_r dis_sn:mov 40h,#50 ;对通行时间从新分配,南北通行时间加长 mov 41h,#30 ajmp dis_rdis_e:lcall d5ms ;按键去抖 jnb p3.1,dis_ew ajmp dis_rdis_ew:mov 40

35、h,#30 ;东西通行时间加长 mov 41h,#50dis_r:ret 单片机系统开发与应用工程实习报告184.3.5 定时中断处理程序ds_c: ljmp ds_r ;接力跳转dszd: push acc ;保护现场 push psw clr tr0 ;关定时器及中断标志位并重新赋值 clr tf0 mov tl0,#0b0h mov th0,#3ch djnz r2,ds_c ;判断 1s 时间是否到达 mov r2,#20 ;到达重新赋值 dec 30h ;南北方向通行时间减一 mov a,30h ;把减一后的时间送入显示存储单元4.3.6 南北通行到达最后 4 秒时黄灯闪烁ds_10

36、:cjne a,#4,ds_11 ;如果通行时间剩余 4 秒 jnb snf,ds_11 ;判断是否是南北通行 mov p0,#0b5h mov 32h, #0b5h ;把交通灯状态存入存储单元(后面类似)ds_11:cjne a,#3,ds_12 ;不是剩余 3 秒,返回 jnb snf,ds_12 ;不是南北通行时间,返回 mov p0,#0b7h mov 32h, #0b7hds_12:cjne a,#2,ds_13 jnb snf,ds_13 mov p0,#0b5h mov 32h, #0b5h ds_13:cjne a,#1,ds_14 jnb snf,ds_14 mov p0,#

37、0b7h mov 32h, #0b7hds_14:jnz ds_ne ;通行时间没有结束转向改变东西方向的数码管 cpl snf ;如果 通行时间结束则对标志位取反单片机系统开发与应用工程实习报告19 jnb snf,ds_1 ;判断是否南北通行 mov 30h,40h ;是,点亮相应的交通灯 mov p0,#0b3h mov 32h,#0b3h ;存储交通灯状态 mov p2,#0abh mov 33h, #0abh ;存储交通灯状态ds_ne:dec 31h ;东西方向通行时间减一 mov a,31h ;把通行剩余时间送入显示存储单元4.3.7 东西方向通行时间剩余 4 秒钟黄灯闪烁ds_

38、20:cjne a,#4,ds_21 jb ewf,ds_21 mov p0,#0aeh mov 32h, #0aehds_21:cjne a,#3,ds_22 jb ewf,ds_22 mov p0,#0beh mov 32h, #0behds_22:cjne a,#2,ds_23 jb ewf,ds_23 mov p0,#0aeh mov 32h, #0aehds_23:cjne a,#1,ds_24 jb ewf,ds_24 mov p0,#0beh mov 32h, #0behds_24:jnz ds_r ;东西方向时间没有结束,返回 cpl ewf ;对通行状态取反 jnb ewf,

39、ds_2 ;东西方向通行时间到来,跳转 mov 31h,#30 ;东西方向通行结束,重新显示时间 mov p0,#76h ;点亮相应的交通灯 mov 32h, #76h单片机系统开发与应用工程实习报告20 mov p2,#0b5h mov 33h, #0b5h ajmp ds_r ds_1: mov 30h,#30 ;南北通行时间结束,重新对显示存储单元赋值 mov p0,#76h ;执行转弯状态 1 mov 32h, #76h mov p2,#0cdh mov 33h, #0cdh ajmp ds_ne ds_2: mov 31h,41h ;东西方向开始通行,赋值予显示存储单元 mov p0

40、,#9eh ;点亮相应的交通灯 mov 32h, #9eh mov p2,#0abh mov 33h, #0abhds_r: setb tr0 pop psw ;恢复现场 pop acc reti4.3.8 紧急中断处理程序urzd: push acc ;保护现场 push psw clr ie0 ;清除中断标志位 clr tr0 ;关定时器 cpl urf ;紧急事件标志位 jb urf,ur_con ;紧急结束;跳转 mov p0,#0b6h ;各路口灯全显示红灯亮 mov p2,#0abh ajmp ur_rur_con:setb tr0 ;恢复正常交通 mov a,32h mov p0,a单片机系统开发与应用工程实习报告21 mov a,33h mov p2,aur_r: pop psw ;恢复现场 pop acc reti 439 查表指令 0,1,2,3,4,5,6,7,8,9tab: db 3fh, 06h, 5bh, 4fh, 66h, 6dh db 7dh, 07h, 7fh, 6fh4.3.10 延时 5ms 与 1msd5ms: mov r7,#50 mov r6,#50 l1: djnz r6,$ djnz r7,l1 retd1ms: mo

温馨提示

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

评论

0/150

提交评论