C51单片机:在流水灯程序运行时,如何通过外部中断程序。中断时如何运行中断后的程序。
1个回答
展开全部
是外部中断期间当前亮着的LED灯继续亮着,流水不动?很好办呀,进入外部中断时你保存流水灯当前的状态就可以了。比如:
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP EXTI0
LED EQU 30H
ORG 0030H
MAIN:
MOV SP,#5FH
SETB EX0
SET IT0
SETB EA
MOV LED,#FEH
LOOP:
MOV P0,LED
LCALL DELAY
MOV A,LED
RL A
SJMP LOOP
DELAY:
MOV R2,#100
DELAY1:
MOV R3,#250
DJNZ R3,$
DJNZ R2,DELAY1
RET
EXTI0:
PUSH ACC
PUSH LED
.....;加入你的中断程序。
POP LED
POP ACC
RETI
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP EXTI0
LED EQU 30H
ORG 0030H
MAIN:
MOV SP,#5FH
SETB EX0
SET IT0
SETB EA
MOV LED,#FEH
LOOP:
MOV P0,LED
LCALL DELAY
MOV A,LED
RL A
SJMP LOOP
DELAY:
MOV R2,#100
DELAY1:
MOV R3,#250
DJNZ R3,$
DJNZ R2,DELAY1
RET
EXTI0:
PUSH ACC
PUSH LED
.....;加入你的中断程序。
POP LED
POP ACC
RETI
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询