机械设计制造及其自动化专业毕业设计论文单片机交通灯设计说明书.doc

上传人:laozhun 文档编号:2949825 上传时间:2023-03-05 格式:DOC 页数:26 大小:431KB
返回 下载 相关 举报
机械设计制造及其自动化专业毕业设计论文单片机交通灯设计说明书.doc_第1页
第1页 / 共26页
机械设计制造及其自动化专业毕业设计论文单片机交通灯设计说明书.doc_第2页
第2页 / 共26页
机械设计制造及其自动化专业毕业设计论文单片机交通灯设计说明书.doc_第3页
第3页 / 共26页
机械设计制造及其自动化专业毕业设计论文单片机交通灯设计说明书.doc_第4页
第4页 / 共26页
机械设计制造及其自动化专业毕业设计论文单片机交通灯设计说明书.doc_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《机械设计制造及其自动化专业毕业设计论文单片机交通灯设计说明书.doc》由会员分享,可在线阅读,更多相关《机械设计制造及其自动化专业毕业设计论文单片机交通灯设计说明书.doc(26页珍藏版)》请在三一办公上搜索。

1、单位代码 学号 分 类 号 密 级 毕业设计(论文)单片机的交通灯设计 院(系)名称工学院机械系 专业名称机械设计制造及其自动化 学生姓名田军行 指导教师何春霞 2013 年 4 月 20 日黄河科技学院课程设计任务书 工 学院 机械 系 机械设计制造及其自动化 专业 09 级 三 班学号 090122040 姓名 田军行 指导教师 何春霞 题目: 基于单片机的交通灯设计 课程: 单片机应用技术 课程设计时间 2012年 4月15日 至2012年4 月25日 共 2 周课程设计工作内容与基本要求(设计要求、设计任务、工作计划、所需相关资料)(纸张不够可加页)1设计要求利用单片机AT89C51设

2、计一个交通灯系统,程序南北段东西段直行40s绿灯显示,各段路直行时人行道路口绿灯显示。交通灯亮的时间用数码管显示,并增加拐弯方向控制,合理分配各段路口拐弯时间。2. 设计任务与要求2.1系统硬件电路设计根据该系统设计的功能要求选择所用元器件,设计硬件电路。要求用Proteus绘制整个系统电路原理图。2.2软件设计根据该系统要求的功能进行软件设计,绘制整个系统的软件流程图;根据流程图编写程序并汇编调试通过;列出软件清单,软件清单要求逐条加以注释。2.3 Proteus仿真用Proteus对系统进行仿真并进行软硬件调试。2.4 编写设计说明书内容包括任务书、设计方案分析、硬件部分设计、软件部分设计

3、、调试结果整理分析、设计调试的心得体会等,字数不少于4000字;硬件部分设计要绘制整个系统电路原理图,对各部分电路设计原理做出说明;软件设计部分要绘制整个系统及各部分的软件流程图,列出程序清单,逐条加以注释,并在各功能块前加程序功能注释。4工作计划 序号设计内容所用时间1布置任务及调研天3制作与调试天4撰写设计报告书2天合 计14天5主要参考资料单片机课程设计指导书 皮大能 北京理工大学出版社2010.78051单片机实践与应用 吴金戎 清华大学出版社2003.8单片机技术基础教程与实践 夏路易 电子工业出版社2008.1MCS-51单片机原理接口及应用王质朴北京理工大学出版社2009.11基

4、于Proteus的单片机系统设计与仿真实例 蒋辉平 机械工业出版社 2009.7 指导老师签字: 日 期: 目录1课题背景11.1交通现状11.2 交通灯控制方法11.3 交通灯控制系统的总体方案设计12设计方案分析22.1过程分析.22.2特殊情况 .23交通灯系统控制硬件设计33.1 单片机AT89C5133.2各模块电路.53.2.1主控制系统53.2.2交通灯输出显示系统53.2.3 时间显示电路63.3电源电路63.4LED显示接口电路63.4.1 LED显示器简介.63.4.2 74HC244缓冲器芯片介绍.63.5 74HC244缓冲器芯片介绍.73.6 系统硬件组成及原理图7.

5、4交通灯控制系统软件设计.8 4.1. 交通灯显示时序的理论分析.84.2 交通灯显示的理论分析94.3PROTEUS仿真图:114.4交通灯程序125仿真测试、数据及结果分析17总结20参考文献:21 1课题背景1.1交通现状由于我国经济的快速发展从而导致了汽车数量的猛增,大中型城市的城市交通,正面临着严峻的考验,从而导致交通问题日益严重,其主要表现如下:交通事故频发,对人类生命安全造成极大威胁;交通拥堵严重,导致出行时间增加,能源消耗加大;空气污染和噪声污染程度日益加深等。日常的交通堵塞成为人们司空见惯而又不得不忍受的问题,在这种背景下,结合我国城市道路交通的实际情况,开发出真正适合我们自

6、身特点的智能信号灯控制系统已经成为当前的主要任务。随着电子技术的发展,利用单片机技术对交通灯进行智能化管理,已成为目前广泛采用的方法。1.2 交通灯控制方法目前,国内的交通灯设计方案有很多,有应用PLC对交通灯控制系统实现控制的设计;有应用CPLD实现对交通灯控制系统的设计;有应用单片机对交通灯控制系统实现控制的设计4。交通灯一般设置在十字路口,用红、绿两种颜色的指示灯,并加上显示倒计时的计时器来控制车辆通行。本设计采用标准AT89C51单片机作为控制器,采用3位LED数码管显示通行倒计时;左拐、右拐、直行及行人的通行指示灯采用的是高亮发光二极管;LED显示采用动态扫描,以节省端口数。特种车辆

7、通行采用红外线发射及接收识别方法实施中断完成,采用霍尔车辆检测传感器检测电路完成车流量大小的检测。由于AT89C51单片机自身带有2个定时/计数器、5个中断源,端口刚好满足要求。该系统具有电路简单,设计方便,显示亮度高,耗电少,可靠性高等优点。1.3 交通灯控制系统的总体方案设计本设计研究的是基于AT89C51单片机的交通灯智能控制系统。根据交通控制系统的设计原理,阐述了硬件和软件方面开发的整个过程。主控系统采用AT89C51单片机作为控制器,控制通行倒计时及右拐、右拐、直行、行人的通行,占用端口少,耗电也最小。系统电源采用独立的+5V稳压电源,有各种成熟电路可供选用,使此方案可靠稳定5。该设

8、计可直接在I/O口上接按键开关,精简并优化了电路。结合实际情况,显示界面采用点阵LED数码管动态扫描的方法,满足了倒计时的时间显示输出和状态灯提示信息输出的要求,减少系统的复杂度。2设计方案分析利用单片机AT89C51设计一个交通灯系统,程序南北段东西段直行40s绿灯显示,各段路直行时人行道路口绿灯显示。交通灯亮的时间用数码管显示,并增加拐弯方向控制,合理分配各段路口拐弯时间。2.1过程分析南北段直行通行(绿灯)、东西段禁止(红灯)40s,南北段人行道通行(绿灯),东西段人行道禁止(红灯),同时南北段和东西段方向的数码管分别从40s和60s开始倒计时,至最后5s时南北段绿灯变成黄灯闪烁;此后东

9、西段左右拐(左右拐灯亮)通行、南北段禁止(红灯)20s,南北段、东西段人行道都禁止(红灯),同时南北段数码管从80s和东西段方向的数码管20s开始倒计时,至最后5s时南北段左拐灯变成黄灯闪烁;再后东西段直行通行(绿灯)、南北段禁止(红灯)40s,东西段人行道通行(绿灯),南北段人行道禁止(红灯),同时东西段和南北段方向的数码管分别从40s和60s开始倒计时,至最后5s时东西段绿灯变成黄灯闪烁;最后东西段左拐(左拐灯亮)通行、南北段禁止(红灯)20s,东西段、南北段人行道都禁止(红灯),同时东西段数码管80s和南北段方向的数码管从20s开始倒计时,至最后5s时东西段左拐灯变成黄灯闪烁。依次循环。

10、2.2特殊情况 交通十字路口往往会有意外发生,为了处理交通意外设计附加了道路禁止。 3交通灯系统控制硬件设计3.1 单片机AT89C51AT89C51是一种高效微控制器,它是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4Kbytes的可反复擦写的Flash只读程序存储器(FPEROMFlash Programmable and Erasable Read Only Memory) 和1288位的随机存取数据存储器(RAM),该器件采用ATMEL公司的高密度、非易失性存储技术生产,它与MCS-51系统产品兼容,AT89C51单片机功能强大,具有8Kb中央处理器(CPU)和4K

11、bFlash程序存储器,性价比高,可应用于很多要求高性价比的场合,灵活地应用于各个控制领域9。3.1.1AT89C51的主要性能内含4Kb可重编程的FPEROM;与MCS-51产品指令系统完全兼容;1288位的内部RAM;4个8位(32根)双向可位寻址的I/O端口;2个16位的计数/定时器;全双工方式的串行通道(UART);6个中断源;5个向量二级中断结构;最高时钟振荡频率可达12MHz;指令集中64条为单周期指令,支持6种寻址方式,共111条指令;低功耗空闲和掉电方式;片内振荡器和时钟电路。3.1.2AT89C51的引脚功能AT89C51为双列直插(DIP)式封装的51单片机芯片,有40条引

12、脚,其引脚示意及功能分类如图3.2所示。图3.2 89C51单片机引脚图各引脚功能说明如下:(1)主电源引脚 Vcc(40脚):接+5(120)V电源正端; Vss(20脚):接地。(2)I/O引脚P0口(3932脚):P0.0P0.7统称为P0口。P0口是一组8位漏极开路型双向I/O口,分时复用为低8位地址总线和双向数据总线。作为输出口用时,每位能吸收电流的方式驱动8个逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器时,这组端口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在FLASH编程时,P0口作为原码输入口,当Flash进行校验时,P0

13、口输出原码,此时P0外部必须被拉高。P1口(18脚):P1.0P1.7统称为P1口,可作为准双向I/O口使用。P1是一个带内部上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。P1口被外部下拉为低电平时,输出电流,是因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在Flash编程和校验时,P1口作为第八位地址接收。P2口(2128脚):P2.0P2.7统称为P2口,一般作为准双向I/O使用。P2是一个带内部上拉电阻的8位双向I/O口。P2的输出缓冲器可驱动4个TTL逻辑门电路。当对P2端口写“1”

14、时,内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,由于内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在接有片外存储器或扩展I/O口且寻址范围超过256B时,P2口用作高8位地址总线。当给出地址为“1”时,它就利用内部上拉优势,当对外部八位地址数据存储器进行读/写时,P2口便输出其特殊功能寄存器的内容。在FLASH编程和校验时,P2口接收高八位地址信号和控制信号。P3口(1017脚):P3.0P3.7统称为P3口。P3口是一组带有内部上拉电阻的8位双向I/O口。P3口的输出缓冲器可驱动4个TTL逻辑门电路接收输出电流。当P3口写“1”时,通过内部的上拉电阻

15、上拉为高电平并作为输入口。此时由于外部下拉为低电平,P3口将输出电流(IIL)。除作为准双向I/O口使用外,还可以将每一位用于第二功能,而且P3口的每一条引脚均可独立定义为第一功能的输入输出或第二功能。3.2各模块电路3.2.1主控制系统主控器采用AT89C51,是美国ATMEL公司生产的一款性能稳定、低功耗的单片机,兼容MCS-51系列产品指令系统及引脚。片内含4KB的可重复编程的Flash程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,使用5(120)V的电源电压, 1288位的内部RAM,4个8位的双向可位寻址的I/O端口,2个16位定时/计数器,6个中断源,AT89C

16、51单片机可提供许多高性价比的应用,灵活应用于各种控制领域。单片机的P1口及P2口分别应用于控制南北及东西方向的通行灯,P0口及P3.0P3.2口应用于4组LED计时器的控制,T0和T1分别作为东西方向和南北方向和车流量流量控制,INT0和INT1分别用于东西方向和南北方向的特种车辆通行紧急转换电路13.2.2交通灯输出显示系统交通灯显示直接选用红黄绿灯简单明了3.2.3 时间显示电路红绿灯通行时间采用数码管显示,这是一种很好的方法。通行剩余时间采用高亮7段LED发光数码管,采用共阳数码管。由于每个道口时间显示相同,4组三极管就需192mA,所以设计中采用三极管9012。因为每段输出口需吸收2

17、4mA电流,所以电路设计中使用驱动集成块74HC244。LED显示接口硬件电路由74HC244缓冲器、LED显示器组成。如图3.9所示74HC244用来提高LED显示器的驱动能力3.3 电源电路 整个系统采用的是+5V电压,因此采用不可调的3端稳压器件,用LM7850就可以满足系统电源的要求。LM7850内部是由基准电压回路、恒流源、过流保护、过压保护和短路保护回路等8部分组成的三端集成稳压电源,且其低功耗,高效率,纹波系数小,输出电压稳定。3.4 LED显示接口电路3.4.1 LED显示器简介通常所说的LED显示器由7个发光二极管组成因此也称之为七段LED显示器,其排列形状如图3.10所示。

18、此外,显示器中还有一个圆点型发光二极管(在图中以dp表示),用于显示小数点。通过七个发光二极管亮暗的不同组合,可以显示多种数字、字母以及其他符号。LED显示器中的发光二极管共有两种连接方法:(1) 共阳极接法把发光二极管的阳极连在一起构成公共阳极。使用时公共阳极接+5V。这样阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不点亮。(2) 共阴极接法把发光二极管的阴极连在一起构成公共阴极。使用时公共阴极接地,这样阳极端输入高电平的段发光二极管就导通点亮,而输入低电平的则不点亮。使用LED显示器时要注意区分这两种不同的接法。为了显示数字或符号,要为LED显示器提供代码,这些代码是为显示字

19、形的,因此称之为字形代码。七段发光二极管,再加上一个小数点位,共计八段。因此提供给LED显示器的字形代码正好一个字节。各代码位的对应关系如表3.4。表3.4 代码对应关系表代码位D7D6D5D4D3D2D1D0显示段dpgfedcbA3.5. 74HC244缓冲器芯片介绍74HC244是一种三态输出的八缓冲器和线驱动器,该芯片的引脚图如图3-8所示。由图可见,该缓冲器有8个输入端,分为两路1A11A4,2A12A4,同时8个输出端,也分为两路1Y11Y4,2Y12Y4,分别由1G和2G作为它们的选通工作信号。当记为低电平时,1Y11Y4的电平与1A11A4的电平相同,即输出反映输入电平的高低;

20、同样,当2G为低电平时,2Y12Y4的电平与2A12A4的电平相同。而当1G(或2G)为高电平时,呈高阻态,输出1A11A4(或2A12A4)为高阻态。经74HC244缓冲后,输入信号被驱动,输出信号的驱动能力加大了。3.6 系统硬件组成及原理图 根据要实现的具体功能,经过比较,我选用AT89C51单片机及外围器件构成最小控制系统,4组双色灯构成信号灯指示模块,东西南北方向分别构成倒计时显示模块,CCD采集车辆数量数据,红外线接收器接收中断信号,使实时中断来响应特种车辆的通行要求,接LED显示器8。硬件原理图如图3.1所示:单片机控制系统模块CCD时间显示模块急停转换模块二值化电路驱动电路图3

21、.1硬件电路原理图4交通灯控制系统软件设计交通道口交通灯控制系统的控制程序主要包括以下几个部分:主程序、红绿灯时间动态调节程序、显示程序、定时中断程序、车辆检测延时程序和特种车辆实时响应程序等。4.1. 交通灯显示时序的理论分析下图所示为一种红绿灯规则的状态图。 图4.1 状态S1南北直行通行图4.2 状态S2南北左拐通行 图4.4 状态S4东 西左拐通行图4.3 状态S3东西直行通行依据上述车辆行驶的状态图,可以列出各个路口灯的逻辑表如下表所示(其中逻辑值“1”代表直行通行,逻辑值“0”代表禁止通行,逻辑值“L”代表左拐通行):S1的状态ESWN逻辑值0101显示时间正常模式下为40SS2的

22、状态ESWN逻辑值0L0L显示时间正常模式下为20SS3的状态ESWN逻辑值1010显示时间正常模式下为40SS4的状态ESWN逻辑值L0L0显示时间正常模式下为20S程序就是在上述四种状态下循环转化的。一个周期四个状态,在正常模式下共花费2分钟。4.2 交通灯显示的理论分析4.2.1 倒计时显示的理论分析 利用定时器中断,设置TH0=TH1(65536-50000)/256,即每0.05秒中断一次。每到第20次中断即过了20*0.05秒1秒时,使时间的计数值减1,便实现了倒计时的功能。4.2.2 状态灯显示的理论分析黄灯闪烁同样可以利用定时器中断。每到第10次中断即过了10*0.05秒0.5

23、秒时,使黄灯标志位反置,即可让黄灯1秒闪烁一次。4.3程序图设计开始南北直行通行东西禁止南北左拐通行东西禁止AT89C51初始化南北黄灯闪烁南北黄灯闪烁通行35秒YN闪烁5秒YN通行15秒YN闪烁5秒YN东西黄灯闪烁东西直行通行南北禁止东西左拐通行南北禁止东西黄灯闪烁通行35秒YN闪烁5秒YN通行15秒YN闪烁5秒YN图4.1 主程序流程图图4.2 外部中断0中断流程图4.3PROTEUS仿真图:图4.3 PROTEUS仿真图.4.4交通灯程序;-;程序实现功能;西南北路口直行与转弯交替通行,数码管显示直行通行倒计时,红绿黄灯显示包括人行道在内的道路交通状态。;某一方向道路拥挤时,可以人工控制

24、调节东西南北方向通行时间。;紧急情况时,各路口交通灯显示红灯,数码管保持数据不变。;工作寄存器及存储单元分配;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 0000HLJMP MAIN ;上电转主程

25、序ORG 000BH ;定时中断入口LJMP DSZD ORG 0003H ;紧急中断入口LJMP URZDORG 0030H MAIN: LCALL INIT ;调用初始化子程序LOOP: LCALL DIS ;循环执行显示子程序 AJMP LOOP;/初始化程序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 SETB EX0 SETB IT0 ;设置中断

26、程控方式 MOV DPTR,#TAB ;数值首地址放入DPTR中 MOV 40H,#40 ;东南西北通行时间设置 MOV 41H,#40 MOV 30H,#40 ;通行时间初始化 MOV 31H,#60 MOV P0,#4CH ;初始化时南北通行并把交通灯状态分别放在32H和33H中 MOV 32H,#4CH MOV P2,#15H MOV 33H,#15H RET;/显示子程序DIS: MOV P3,#0DFH ;选中南北方向的十位数码管 MOV A,30H ;把显示数据送人数码管显示 MOV B,#10 DIV AB MOVC A,A+DPTR MOV P1,A ; LCALL D1MS

27、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,DIS_S ;查询是否第一个按键按下 JNB P3.

28、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 ;/定时中断处理程序DS_C: LJMP DS_R ;接力跳转DSZD: PUSH ACC ;保护

29、现场 PUSH PSW CLR TR0 ;关定时器及中断标志位并重新赋值 CLR TF0 MOV TL0,#0B0H MOV TH0,#3CH DJNZ R2,DS_C ;判断1m时间是否到达 MOV R2,#20 ;到达重新赋值 DEC 30H ;南北方向通行时间减一 MOV A,30H ;把减一后的时间送入显示存储单元;南北通行到达最后4秒时黄灯闪烁DS_10:CJNE A,#4,DS_11 ;如果通行时间剩余4秒 JNB SNF,DS_11 ;判断是否是南北通行 MOV P0,#8AH MOV 32H, #8AH ;把交通灯状态存入存储单元(后面类似)DS_11:CJNE A,#3,DS

30、_12 ;不是剩余3秒,返回 JNB SNF,DS_12 ;不是南北通行时间,返回 MOV P0,#88H MOV 32H, #88HDS_12:CJNE A,#2,DS_13 JNB SNF,DS_13 MOV P0,#8AH MOV 32H, #8AH DS_13:CJNE A,#1,DS_14 JNB SNF,DS_14 MOV P0,#88H MOV 32H, #88H;-DS_14:JNZ DS_NE ;通行时间没有结束转向改变东西方向的数码管 CPL SNF ;如果通行时间结束则对标志位取反 JNB SNF,DS_1 ;判断是否南北通行 MOV 30H,40H ;是,点亮相应的交通

31、灯 MOV P0,#4CH MOV 32H,#4CH ;存储交通灯状态 MOV P2,#15H MOV 33H, #15H ;存储交通灯状态DS_NE:DEC 31H ;东西方向通行时间减一 MOV A,31H ;把通行剩余时间送入显示存储单元;东西方向通行时间剩余4秒钟黄灯闪烁(程序注释与南北方向类似 略)DS_20:CJNE A,#4,DS_21 JB EWF,DS_21 MOV P0,#51H MOV 32H, #51HDS_21:CJNE A,#3,DS_22 JB EWF,DS_22 MOV P0,#41H MOV 32H, #41HDS_22:CJNE A,#2,DS_23 JB

32、EWF,DS_23 MOV P0,#51H MOV 32H, #51HDS_23:CJNE A,#1,DS_24 JB EWF,DS_24 MOV P0,#41H MOV 32H, #41H;-DS_24:JNZ DS_R ;东西方向时间没有结束,返回 CPL EWF ;对通行状态取反 JNB EWF,DS_2 ;东西方向通行时间到来,跳转 MOV 31H,#80 ;东西方向通行结束,重新显示时间 MOV P0,#89H ;点亮相应的交通灯 MOV 32H, #89H MOV P2,#29H MOV 33H, #29H AJMP DS_R DS_1: MOV 30H,#80 ;南北通行时间结束

33、,重新对显示存储单元赋值 MOV P0,#89H ;执行转弯状态1 MOV 32H, #89H MOV P2,#26H MOV 33H, #26H AJMP DS_NE DS_2: MOV 31H,41H ;东西方向开始通行,赋值予显示存储单元 MOV P0,#61H ;点亮相应的交通灯 MOV 32H, #61H MOV P2,#15H MOV 33H, #15HDS_R: SETB TR0 POP PSW ;恢复现场 POP ACC RETI;/紧急中断处理程序URZD: PUSH ACC ;保护现场 PUSH PSW CLR IE0 ;清除中断标志位 CLR TR0 ;关定时器 CPL

34、URF ;紧急事件标志位 JB URF,UR_CON ;紧急结束;跳转 MOV P0,#49H ;各路口灯全显示红灯亮 MOV P2,#15H AJMP UR_RUR_CON:SETB TR0 ;恢复正常交通 MOV A,32H MOV P0,A MOV A,33H MOV P2,AUR_R: POP PSW ;恢复现场 POP ACC RETI ;/查表指令0,1,2,3,4,5,6,7,8,9TAB: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH DB 7DH, 07H, 7FH, 6FH;/延时5ms与1msD5MS: MOV R7,#5D1MS: MOV R7,#10

35、 MOV R6,#50 L1: DJNZ R6,$ DJNZ R7,L1 RET END5仿真测试、数据及结果分析程序运行结果如下:1 首先,直行时间东西显示数码管显示60,南北显示40。此时南北段绿灯亮、东西段红灯亮40s,南北段人行道绿灯亮,东西段人行道红灯亮,同时南北段和东西段方向的数码管分别从80s和20s开始倒计时。2 35秒后,南北方向直行的黄灯闪烁5秒钟,左右拐绿灯此时东西方向仍维持红灯亮,人行道灯不变。3 南北黄灯闪烁5秒后,南北方向左拐灯亮,东西方向直行红灯亮,左右拐绿灯亮,东西和南北人行道全部红灯亮,同时南北段数码管80和东西段方向的数码管20秒开始倒计时。4 再20秒后,

36、东西段直行绿灯亮、南北段红灯亮40s,东西段人行道绿灯亮,南北段人行道红灯亮,同时南北段和东西段方向的数码管分别从60s和40s开始倒计时。5. 过35秒后,东西方向的黄灯闪烁5秒钟,此时南北方向仍维持红灯亮,人行道灯不变。6 过5秒后,东西方向左拐灯亮,南北方向红灯亮,东西和南北人行道全部红灯亮,同时南北段和东西段方向的数码管分别从20和80秒开始倒计时。7过35秒钟后,东西方向的黄灯闪烁5秒,此时南北方向仍维持红灯亮,人行道灯不变8. 按下“急停”按钮时全部显示红灯时间。总结软件延时与定时器计时软件延时,设计简单,使用方便,但是无法进行精确计时,无法在实际应用中进行使用,本次设计采用了定时器0进行计时,每50ms产生一个脉冲信号,可以准确的计时并方便8段数码管进行显示。使用中断的好处使用中断可以进行多样化设计,强化程序功能与执行效率。在本设计中程序每50ms请求一次中断,实现精确定时与数码管显示刷新。关于本次设计

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

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号