文档详情

sy4报告-单片机汇编中断交通灯.doc

发布:2017-02-02约4.31千字共7页下载文档
文本预览下载声明
实验四、中断交通灯实验 林立强 1000850116 一、实验目的 1、了解MCS-51单片机的组成、中断原理,中断处理过程、外部中断的中断方式。 2、掌握中断响应及处理的编程方法。 二、实验原理 MCS-51的中断系统中有5个中断源:外部中断INTO,INT1,定时器/计数器TO、T1中断和串口UART中断,它们对应不同的中断矢量。 如表: IE是中断允许寄存器,其中EXO,ETO,EX1,ET1,ES分别是上述5个中断的允许控制位,EA位是中断总允许位,每个中断只有在相应中断允许且总中断也允许的情况下,才能得到中断响应。80XX51的5个中断都可以设为高低2个优先级,IP是中断优先级寄存器,其中PXO,PTO,PX1,PT1,PS位分别对应5个中断的优先级设置,置“1”时设为高优先级中断,为“0”时是低优先级中断。在有中断嵌套要求时,低优先级中断可被高优先级所中断。当同一级的中断同时到来时,先响应中断矢量排在前面的中断。 三、实验电路 电路原理图如下,所需元件为:AT89C51、SW-SPDT、LED-RED、LED-GREEN、 LED-YELLOW、RES、TRAFFICLIGHTS 四、实验内容 参照实验电路,设计交通灯控制系统。模拟交通信号灯控制:一般情况下正常显示,东西-南北交替放行,各方向通行时间为30秒。有救护车或警车到达时,两个方向交通信号灯全为红色,以便让急救车或警车通过,设通行时间为10秒,之后交通恢复正常。用单次脉冲模拟急救车或警车申请外部中断。 1、在生成HEX文件后,用Proteus软件对电路图进行计算机仿真; 2、程序下载到单片机实验板上验证; (实验板数码管的驱动程序见附件)。 五、程序流程图 仿真图: 紧急情况: 源程序: ORG 0000H AJMP START ORG 0013H AJMP XTGA ORG 0100H START: MOV TMOD, //TR0定时 TR1中断定时 MOV TL0,#0B0H //定时50ms 初值3CB0 MOV TH0,#3CH MOV DPTR,#TAB //数码管BCD码首地址 SETB TR0 //启动定时器 SETB IT1 // INT0中断下降沿触发 SETB EX1 // 开INT0中断 SETB EA // 开总中断 MOV R0,#10 //计数初值 MAIN: ACALL ZT1 //调用状态显示子函数 ACALL ZT2 ACALL ZT3 ACALL ZT4 AJMP MAIN ZT1: MOV R4,#24 ZT11: JBC TF0,PTFO1 //查询50ms计时是否到 AJMP ZT11 PTFO1: MOV TL0,#0B0H //定时50ms 初值3CB0 MOV TH0,#3CH ACALL PLAY2 DJNZ R0,ZT11 //没到10次继续 MOV R0,#10 //软件计数十次,500ms翻转 CPL P3.7 //计时输出显示500ms翻转一次 INC R7 //计数用于显示 MOV P1,#00H //清零 MOV P1,#21H //状态1:1 0 0 0 0 1 DJNZ R4,ZT11 // 绿黄红 绿黄红 RET ZT2: MOV R4,#6 ZT22: JBC TF0,PTFO2 AJMP ZT22 PTFO2: MOV TL0,#0B0H //定时50ms 初值3CB0 MOV TH0,#3CH ACALL PLAY2 DJNZ R0,ZT22 //没到10次继续 MOV R0,#10 CPL P3.7 INC R7 MOV P1,#00H MOV P1,#22H //状态2:1 0 0 0 1 0 DJNZ R4,ZT22 // 绿黄红 绿黄红 MOV R7,#00H RET ZT3: MOV R4,#24 ZT33: JBC TF0,PTFO3 AJMP ZT33 PTFO3: MOV TL0,#0B0H //定时50ms 初值3CB0
显示全部
相似文档