150 likes | 294 Views
实验四、单片机中断实验 一、 实验目的 1 . 学习在单片机系统中扩展简单 I/O 接口的方法; 2 . 学习模拟交通灯控制的方法; 3 . 掌握外部中断技术的基本使用方法; 4 . 掌握中断处理程序的编程方法。 二、 实验仪器 1 .仿真教学实验机( 5196ET ) 一台 2 .直流稳压电源( DF 1731 SB 3A ) 一台 3 . PC 机 一台. 三、实验内容 1 、 交通灯控制 ( 1 ) 实验要求:以 74LS273 作为输出口,控制 4 个双色 LED 灯(可发红,绿,黄光),模拟交通灯管理。 ( 2 ) 实验电路及连线.
E N D
实验四、单片机中断实验 一、 实验目的 1.学习在单片机系统中扩展简单I/O接口的方法; 2.学习模拟交通灯控制的方法; 3.掌握外部中断技术的基本使用方法; 4.掌握中断处理程序的编程方法。 二、 实验仪器 1.仿真教学实验机(5196ET) 一台 2.直流稳压电源(DF 1731 SB 3A) 一台 3.PC机 一台
三、实验内容 1、 交通灯控制 (1)实验要求:以74LS273作为输出口,控制4个双色LED灯(可发红,绿,黄光),模拟交通灯管理。 (2)实验电路及连线 输出0:亮 输出1:暗
1、96H DR4 DR3 DR2 DR1 DG4 DG3 DG2 DG1 1 0 0 1 0 1 1 0 HL4、HL1 绿 (南北) HL3、HL2 红 (东西) 2、9FH 1 0 0 1 1 1 1 1 HL4、HL1 暗 (南北) HL3、HL2 红 (东西) 06H 0 0 0 0 0 1 1 0 HL4、HL1 黄 (南北) HL3、HL2 红 (东西 3、69H 0 1 1 0 1 0 0 1 HL4、HL1 红 (南北) HL3、HL2 绿 (东西) 0FH 全红 F0H 全绿 00H 全黄
4、6FH 0 1 1 0 1 1 1 1 HL4、HL1 红 (南北) HL3、HL2 暗 (东西) 69H HL4、HL1 红 (南北) HL3、HL2 绿 (东西) 09H HL4、HL1 红 (南北) HL3、HL2 黄 (东西)
ORG 0000H LJMP START ORG 0040H START: MOV SP,#60H LCALL STATUS0 ;初始状态(都是红灯) CIRCLE: LCALL STATUS1 ;南北绿灯,东西红灯 LCALL STATUS2 ;南北绿灯闪转黄灯,东西红灯 LCALL STATUS3 ;南北红灯,东西绿灯 LCALL STATUS4 ;南北红灯,东西绿灯闪转黄灯 LJMP CIRCLE
STATUS0: ;南北红灯,东西红灯 MOV DPTR,#8300H MOV A,#0FH MOVX @DPTR,A MOV R2,#10 ;延时1秒 LCALL DELAY RET STATUS1: ;南北绿灯,东西红灯 MOV DPTR,#08300H MOV A,#96H ;南北绿灯,东西红灯 MOVX @DPTR,A MOV R2,#200 ;延时20秒 LCALL DELAY RET
STATUS2: ;南北绿灯闪转黄灯,东西红灯 MOV DPTR,#8300H MOV R3,#03H ;绿灯闪3次 FLASH: MOV A,#9FH MOVX @DPTR,A MOV R2,#03H LCALL DELAY MOV A,#96H MOVX @DPTR,A MOV R2,#03H LCALL DELAY DJNZ R3,FLASH MOV A,#06H ;南北黄灯,东西红灯 MOVX @DPTR,A MOV R2,#10 ;延时1秒 LCALL DELAY RET
STATUS3: ;南北红灯,东西绿灯 MOV DPTR,#8300H MOV A,#69H MOVX @DPTR,A MOV R2,#200 ;延时20秒 LCALL DELAY RET
STATUS4: ;南北红灯,东西绿灯闪转黄灯 MOV DPTR,#8300H MOV R3,#03H ;绿灯闪3次 FLASH1: MOV A,#6FH MOVX @DPTR,A MOV R2,#03H LCALL DELAY MOV A,#69H MOVX @DPTR,A MOV R2,#03H LCALL DELAY DJNZ R3,FLASH1 MOV A,#09H ;南北红灯,东西黄灯 MOVX @DPTR,A MOV R2,#10 ;延时1秒 LCALL DELAY NOP RET
DELAY: ;延时子程序 PUSH 2 PUSH 1 PUSH 0 DELAY1: MOV 1,#00H DELAY2: MOV 0,#0B2H DJNZ 0,$ DJNZ 1,DELAY2 ;延时100 mS DJNZ 2,DELAY1 POP 0 POP 1 POP 2 RET END
2、外部中断实验(急救车与交通灯) (1)实验要求:有急救车到达时,两向交通信号为全红,以便让急救车通过。假定急救车通过路口时间为10秒,急救车通过后,交通灯恢复中断前状态。本实验以按键为中断申请,表示有急救车通过 。 (2)PO0~PO3接DG1~DG4,PO4~PO7接DR1~DR4,D16的/CS接8300H,K8接P3.2。
TRLED2.ASM ORG 0000H LJMP START ORG 0003H ;INT 0 中断入口地址 LJMP INT0 ORG 0040H START: MOV SP,#60H SETB EX0 ;INT 0 中断有效 SETB IT0 SETB EA LCALL STATUS0 ;初始状态(都是红灯) CIRCLE: LCALL STATUS1 ;南北绿灯,东西红灯 LCALL STATUS2 ;南北绿灯闪转黄灯,东西红灯 LCALL STATUS3 ;南北红灯,东西绿灯 LCALL STATUS4 ;南北红灯,东西绿灯闪转黄灯 LJMP CIRCLE
INT0: PUSH PSW ;保护现场 PUSH 2 PUSH ACC MOV DPTR,#8300H MOV A,#0FH ;南北,东西都亮红灯 MOVX @DPTR,A MOV R2,#100 ;延时10秒 LCALL DELAY POP ACC ;恢复现场 MOVX @DPTR,A POP 2 POP PSW RETI
(3)修改程序TRLED2,使中断时,东西南北四个灯均为红色的同时,继电器发出滴答声。(3)修改程序TRLED2,使中断时,东西南北四个灯均为红色的同时,继电器发出滴答声。