外部中断控制
;--------------INT0中断设置------------
ORG 00H
JMP START
ORG 03H
JMP EXT0
START:MOV IE, #10000001B ;T0中断开通
MOV IP, #00000001B ;T0优先中断
MOV TCON,#00000000B ;低电平触发
MOV SP, #70H ;
;--------亮灯左移------------
LOOP: MOV R0, #8
MOV A, #0FEH
LOOP1:MOV P0, A
ACALL DELAY
RL A
DJNZ R0, LOOP1
;--------亮灯右移----------------
MOV R0, #8
LOOP2:RR A
MOV P0, A
LCALL DELAY
DJNZ R0, LOOP2
JMP LOOP
;-------中断程序------------------
EXT0:PUSH ACC
PUSH PSW
SETB RS0
CLR RS1
MOV R0, #8
MOV A, #00H
LOOP3:MOV P0, A
LCALL DELAY
CPL A
DJNZ R0, LOOP3
POP PSW
POP ACC
RETI
;--------------------------
;1s延时程序
;-------------------------------
DELAY:MOV R5, #50
DLY1: MOV R6, #100
DLY2: MOV R7, #100
DJNZ R7, $
DJNZ R6, DLY2
DJNZ R5, DLY1
RET
END
|