基于STC89C52单片机的数显交通灯设计.doc

上传人:仙人指路1688 文档编号:4148292 上传时间:2023-04-07 格式:DOC 页数:27 大小:646.50KB
返回 下载 相关 举报
基于STC89C52单片机的数显交通灯设计.doc_第1页
第1页 / 共27页
基于STC89C52单片机的数显交通灯设计.doc_第2页
第2页 / 共27页
基于STC89C52单片机的数显交通灯设计.doc_第3页
第3页 / 共27页
基于STC89C52单片机的数显交通灯设计.doc_第4页
第4页 / 共27页
基于STC89C52单片机的数显交通灯设计.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《基于STC89C52单片机的数显交通灯设计.doc》由会员分享,可在线阅读,更多相关《基于STC89C52单片机的数显交通灯设计.doc(27页珍藏版)》请在三一办公上搜索。

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

2、字路口交通灯智能化的管理,用来控制过往车辆的正常运行。我们采用MSC-51系列单片机STC89C52和驱动芯片74LS245为中心器件,两位共阴数码管和红、黄、绿LED灯为显示器件来设计交通灯控制器,实现了东西南北路口直行,转弯交替通行;人行道通行;数码管显示直行通行时间倒计时;红、绿灯循环点亮,倒计时剩4秒时黄灯闪烁警示;某一方向拥挤时,可通过p3.0,p3.1处的两个按键,实现人工调节通行时间;紧急情况时,可通过p3.2处的中断按键,实现各路口显示红灯,数码管数据保持不变等功能。本系统实用性强、操作简单、扩展功能强。 关键词:单片机;交通灯;数码管;STC89C52;74LS245;中断目

3、录1 绪言11.1 课题背景11.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 软件设计104.1 程序流程图104.2 延时的设定124.2.1硬件延时124.2.2 软件延时1343 程序代码分析134.3.1程序实现功能134.3.2 工作寄存器及存储单元分配144.3.3 初始化程序144.3.4

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,9204.3.10 延时5ms与1ms205 测试及结果20总 结22参考文献231 绪言1.1 课题背景随着我国国民经济的迅速发展,城市街道车辆大幅度增长,给城市交通带来巨大压力,交通拥堵已经成为影响城市可持续发展的一个全局性问题。而街道各十字路口,又是车辆通行的瓶颈所在。已有的许多建立在精确模型基础上的交通系统控制方案都存在着一定的局限性。研究车辆通行规律,找出提高十

5、字路口车辆通行效率的有效方法,对缓解交通阻塞,提高畅通率具有十分现实的意义。地面道路是一个庞大的网络,交通状况十分复杂,使目前交通灯控制器的单一时段控制已不能满足现代交通流量的多变性,特别是在交通流量高峰时,往往会造成交通路口的通过率下降,甚至出现交通混乱现象,城市的交通拥挤问题正逐渐引起人们的注意。道路平面交叉口(简称交叉口)是交通网中通行能力的“隘口”和交通事故的“多发源” ,国内外城市的交通事故约有一半发生在交叉口。因此,交叉口这个事故多发源不能不引起人们的高度关注。随着交通技术、电子技术的发展及微机技术的应用,人们设计出了适应各种需要的交通检测器、信号控制机和交通信号灯。交通灯是交管部

6、分管理城市交通的重要工具。现在交通灯一般设在十字路口,在醒目位置用红、绿、黄三种颜色的指示灯,加上一个倒计时的显示计时器来控制行车,对于一般情况下的安全行车、车辆分流发挥着作用。目前绝大部分交通灯其时间都是设定好的,采用的是单段式定时控制或多段式定时控制,其最大的缺点是绿灯时间和绿信比是固定的或是分时段固定的,且最佳绿灯时间和最佳绿信比的整定较为困难,需要大量的实测统计数据,且很多情况下整定所得值并不是最优的,甚至是不合理的。控制起来都不是很灵活,这使得城市车流的调节不能达到最优。这次设计正是针对这一弊端进行了改进,较好地解决了这一问题。根据实时车流量对各路口的绿灯时间进行动态调节,大大加强了

7、其灵活性和实时性,本系统本着“先到先服务”的原则,在保证交通安全性不降低的条件下提高了交通效率。与传统的交通控制系统相比,该控制系统有一定的智能水平和很强的控制能力。1.2 单片机概述随着微控技术的日益完善和发展,单片机的应用在不断走向深入。它的应用比定导致传统的控制技术从根本上发生变革。也就是说单片机应用的出现是对传统控制技术的革命。它在工业控制、数据采集、智能化仪表、机电一体化、家用电器等领路得到了广泛应用,极大的提高了这些领域的技术水平和自动化控制。因此单片机的开发应用已成为高技术工程领域的一项重大课题。因此了解单片机知识,掌握单片机的应用技术具有重大的意义。本文主要从计算机的应用上来实

8、现十字路口交通灯智能化的管理,用以控制过往车辆的正常运作。单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。 通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。 单片机经过1、2、3代的发展,目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增强,内部资源在增多,引角的多功能化,以及低电压底功耗。2 项目概述随着微控技术的日益完善和发展,单片机的应用在不断走向深入。它的应用必

9、定导致传统的控制技术从根本上发生变革。它在工业控制,数据采集,智能化仪表,机电一体化,家用电器等领域得到了广泛应用,极大地提高了这些领域的技术水平和自动化控制。本项目主要从单片机应用上来实现十字路口交通灯智能化的管理,用来控制过往车辆的正常运作。2.1 项目要求基于STC89C52单片机的数显交通灯的设计,主要功能有:(1)东西南北路口直行与转弯交替通行,数码管显示直行通行倒计时。(2)红黄绿灯显示包括人行道在内的道路交通状态。(3)某一方向道路拥挤时,可以人工控制调节东西南北通行时间。(4)紧急情况时,各路口交通灯显示红灯,数码管保持数据不变。2.2系统设计按照系统设计的要求和功能,将系统分

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

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

12、补一二方案的优缺,我们决定采用方案三以实现系统的显示功能。3.2 芯片简介3.2.1 MSC-51芯片简介MCS-51单片机内部结构:8051是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。 8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:中央处理器:中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。

13、数据存储器(RAM):8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。图3-1 8051内部结构程序存储器(ROM):8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。定时/计数器(ROM):8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。并行输入输出(I/O)口:8051共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的

14、传输。全双工串行口:8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。中断系统:8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。 时钟电路:8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)

15、结构。INTEL的MCS-51系列单片机采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机则采用普林斯顿结构。图3-2 MCS-51 结构图MCS-51的引脚说明:MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明:如图3-3所示:图3-3 MCS-51的引脚说明Pin9:RESET/Vpd复位信号复用脚,当8051通电,时钟电路开始工作,在RESET引脚上出现24个时钟周

16、期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,8051的初始态。8051的复位方式可以是自动复位,也可以是手动复位,见下图3-4。此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。图3-4复位和时钟方式Pin30:ALE/当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存

17、储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当访问外部程序存储器,ALE会跳过一个脉冲。如果单片机是EPROM,在编程其间,将用于输入编程脉冲。Pin29:当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。Pin31:程序存储器的内外部选通线,8051和8751单片机,内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。如EA为低电

18、平,则不管地址大小,一律读取外部程序存储器指令。显然,对内部无程序存储器的8031,端必须接地。在编程时,脚还需加上5V的编程电压。3.2.2 74LS245引脚,参数及 功能说明74LS245是8路3态 双向缓冲驱动,也叫做总线驱动门电路或线驱动。主要使用在数据的双向缓冲,原来常见于51的数据接口电路,比如,早期电路中,扩展了很多的8255/8155/8251/8253/573等芯片的时候,担心8031的数据驱动能力不足,就使用一片245作为数据缓冲电路,增强驱动能力;也常见与ISA卡的接口电路,图3-5为245驱动芯片的管脚排列图3-5 245驱动芯片的引脚图0,DIR0,B-A;=0,

19、DIR=1, A-B;=1, DIR=X, X=0或者1,输入和输出均为高阻态;高阻态的含意就是相当于没有这个芯片。3.2.3 2位共阴数码管LED显示屏作为大型显示设备的一种,具有亮度高、价格低、寿命长、维护简便等优点。LED数码管的结构简单,分为七段和八段两种形式,也有共阳和共阴之分。以八段2位共阴管为例,它有8个发光二极管(比七段多一个发光二极管,用来显示SP,即点),每个发光二极管的阴极连在一起接地。这样,一个LED数码管就有2根位选线和8根段选线,要想显示一个数值,就要分别对它们的高低电平来加以控制。相应在程序软件上,可以通过调用程序给定的秒值经过特定计算算出需要显示的个位和十位,然

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

21、闪烁4秒,警示车辆和行人红、绿灯的状态即将切换。(3)南北左拐,东西左右拐10秒。(4)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通过,行人通行。时间为20秒。 东西方向车流大 通行时间长。(5)东西黄灯闪烁4秒,警示车辆和行人红、绿灯的状态即将切换。(6)南北左右拐,东西左拐10秒。(7)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全畅通的通行。(8)此表可根据车流量动态设定红绿灯初始值。3.4 系统硬件设计核心器件:单片机系统采用STC89C52芯片,晶振选用12MHz,电源电压采用5V。信号输出设计:用驱动芯片74ls245与单片机的p0,p2口

22、相连,由74ls245将信号输送到红黄绿灯上。信号灯采用发光二极管,选用红黄绿三种颜色。红灯停,绿灯行,黄灯等待。低电平时,灯亮;高电平时,灯熄灭。时间显示设计:采用LED八段2位共阴显示,采用动态显示方式。电路图如图3-8:图3-8 交通灯总电路图4 软件设计4.1 程序流程图本系统的软件包括主程序,显示程序和中断程序三部分。主程序:初始化子程序,循环执行显示子程序,中断系统初始化,显示缓冲区赋初值,设置状态标志,状态切换。具体流程如下: 关中断保护现场开中断中断服务关中断恢复现场开中断中断返回断点地址由堆栈弹入pc图4-1 中断服务程序图开始南北左拐,东西左右拐东西直行,南北红灯延时10S

23、延时4秒南北左右拐,东西左拐延时10S延时10S主程序初始化南北直通状态,东西红灯延时10S南北黄灯中断入口设置中断初始化开中断延时4秒图4-2 主程序复位按钮P3.0处的按扭P3.1处的按钮P3.2处的按钮复位延长东西通行时间延长南北通行时间紧急中断,各路口全红灯,数码管时间静止图4-3 按键功能4.2 延时的设定 延时方法可以有两种一中是利用MCS-51内部定时器才生溢出中断来确定1秒的时间,另一种是采用软延时的方法。4.2.1硬件延时计数器初值计算:定时器工作时必须给计数器送计数器初值,这个值是送到TH和TL中的。他是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把

24、计数器记满为零所需的计数值设定为C和计数初值设定为TC 可得到如下计算通式:TC=M-C (4-1)公式中,M为计数器摸值,该值和计数器工作方式有关。在方式0时M为;在方式1时M的值为;在方式2和3为计算公式:T=(MTC)/T计数或TC(M-T)/T计数 (4-2)T计数是单片机时钟周期TCLK2倍;TC为定时初值如单片机的主脉冲频率为T12MHZ,经过12分频方式0TMAX213*1微秒8.192毫秒方式1TMAX216*1微秒65.536毫秒显然1秒钟已经超过了计数器的最大定时间,所以我们只有采用定时器和软件相结合的办法才能解决这个问题。1秒的方法:我们采用在主程序中设定一个初值为20的

25、软件计数器和使T0定时50毫秒。这样每当T0到50毫秒时CPU就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中,CPU先使软件计数器减1,然后判断它是否为零。为零表示1秒已到可以返回到输出时间显示程序。相应程序代码:定时器需定时50毫秒,故T0工作于方式1。初值:MOV TMOD,#01H ;初始化定时器MOV TL0,#0B0HMOV TH0,#3CHSETB EA ;开定时中断与紧急中断SETB ET0SETB TR0SETB EX0SETB IT0 ;设置中断程控方式4.2.2 软件延时 MCS-51的工作频率为2-12MHZ,我们选用的8051单片机的工作频率为12M

26、HZ。机器周期与主频有关,机器周期是主频的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 RET43 程序代码分析4.3.1程序实现功能1、东西南北路口直行与转弯交替通行,数码管显示直行通行倒计时,红绿黄灯显示包括人行道在内的道路交通状态。2、某一

27、方向道路拥挤时,可以人工控制调节东西南北方向通行时间。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 ;紧急事件标志位ORG 0000H

28、LJMP 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 MOV R2,#20 ;定时器中断20次为1s MOV TMOD,#01H ;初始化定时器 MOV TL0,#0B0H MOV TH0,#3CH SETB EA ;开定时中断与紧急中断 SETB ET0 SETB TR0 SET

29、B 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,30H ;把显示数据送人数码管显示 MOV B,#10 DIV AB MOVC A,A

30、+DPTR MOV P1,A LCALL D1MS MOV P3,#0EFH ;选中南北方向的个位数码管 MOV A,B ;送入数码管显示 MOVC A,A+DPTR 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 MOVC A,A+DPTR MOV P1,A LCALL D1MS SETB P3.0 SETB P3.1 JNB P3.0,

31、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 40H,#30 ;东西通行时间加长 MOV 41H,#50DIS_R:RET 4.3.5定时中断处理程序DS_C: LJMP

32、 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:CJNE A,#4,DS_11 ;如果通行时间剩余4秒 JNB SNF,DS_11 ;判断是否是南北通行 MOV P0,#0B5H MOV 32H, #0B5H ;

33、把交通灯状态存入存储单元(后面类似)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,#0B7H MOV 32H, #0B7HDS_14:JNZ DS_NE ;通行时间没有结束转向改变东西方向的数码管 CPL SNF ;如果通行时间结束则对标志位取反 JNB S

34、NF,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_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 M

35、OV 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,DS_2 ;东西方向通行时间到来,跳转 MOV 31H,#30 ;东西方向通行结束,重新显示时间 MOV P0,#76H ;点亮相应的交通灯 MOV 32H, #76H MOV P2,#0B5H MOV 33H, #

36、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,#9EH ;点亮相应的交通灯 MOV 32H, #9EH MOV P2,#0ABH MOV 33H, #0ABHDS_R: SETB TR0 POP PSW ;恢复现场 POP ACC RETI4.3.8 紧急中断处理程序URZD: PUSH ACC

37、;保护现场 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 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, 0

38、7H, 7FH, 6FH4.3.10 延时5ms与1msD5MS: MOV R7,#50 MOV R6,#50 L1: DJNZ R6,$ DJNZ R7,L1 RETD1MS: MOV R7,#10 MOV R6,#50 L2: DJNZ R6,$ DJNZ R7,L2 RET END5 测试及结果状态灯显示测试:当电路板连接完毕后,将写好的测试程序刷写到芯片内,分别给p0和p1端口送高电平和低电平,红黄绿灯循环亮灭。数码管的测试:将电路板的接口连接,将写好的测试程序刷写到芯片内,p1口控制8段,p3.4-P3.7控制位选,开电源即可测试数码管。整体电路测试:系统上电,刷写好程序即可开始测试

39、,观测一个周期二极管显示状态是否正常,同时观察倒计的计数是否正常。结果:此交通灯实现了东西南北路口直行,转弯交替通行;人行道通行;数码管显示直行通行时间倒计时;红、绿灯循环点亮,倒计时剩4秒时黄灯闪烁警示;某一方向拥挤时,可通过p3.0,p3.1处的两个按键,实现人工调节通行时间;紧急情况时,可通过p3.2处的中断按键,实现各路口显示红灯,数码管数据保持不变所以功能。实物见图5-1:图5-1 交通灯实物图总 结此交通灯的设计使用新颖,首先它充分的考虑到了元器件的选择问题,没有一味的追求高质量的芯片,而是紧紧从实际应用的角度出发,选择够用的芯片来完成这样一个设计,其次就是再设计的过程中充分的考虑到

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号