本帖最后由 172584497 于 2020-10-14 10:07 编辑
本萌新想设计一个定时器中断控制的流水灯,并用外部中断0让它暂时全亮
CNT EQU 30H
ORG 0000H
SJMP MAIN
ORG 0003h
LJMP LEDST
ORG 000BH
LJMP LOOP1
ORG 0050H MAIN: MOV TMOD,#01H ;设置定时器工作方式1
MOV TH0,#3CH ;定时器设初值 50ms
MOV TL0,#0B0H
MOV P1,#0FEH
MOV CNT,#20 ;设置定时器中断20次
SETB ET0
SETB TR0
SETB IT0
SETB EX0
SETB EA ;允许中断
HERE: SJMP HERE ;等待定时器中断
LOOP1: CLR TR0
MOV TH0,#3CH
MOV TL0,#0B0H
SETB TR0
DEC CNT
MOV A,CNT
JNZ LOOP2
MOV CNT,#20
MOV A,P1
RL A
MOV P1,A
LOOP2: RETI ;定时器中断20次耗时1s,实现流水
LEDST: CLR TR0
PUSH ACC
PUSH PSW
PUSH 30H
MOV A,#00H
MOV P1,A
POP 30H
POP PSW
POP ACC
SETB TR0
RETI ;外部中断让灯全亮
END
请问用的proteus仿真,为什么外部中断触发之后就不能返回了?谢谢
|