初学
单片机,有一问题请教,各位高手来看看这个程序有什么问题,在protues
仿真过程中,中断为什么只能触发一次
这是我写的程序
ORG 0000H
LJMP MAIN
ORG 0003H
CPL A
MOV P1,A
LCALL DELAY
RE
ti ;中断程序
ORG 0100H
DELAY:MOV R5,#20
LOOP2:MOV R3,#200
LOOP:MOV R4,#250
LOOP1:DJNZ R4,LOOP1
DJNZ R3,LOOP
DJNZ R5,LOOP2;延时程序
MAIN:MOV IE,#0FFH;中断开启
SETB IT0
SETB IT1 ;下跳沿触发
MOV A,#55H
MOV P1,A
LCALL DELAY
SJMP $
END
这是protues的仿真
电路
开始仿真
按下中断开关后:
一段时间后,从中断状态返回,结果和第一张图一样(下图)
但这回再按复位开关后,结果也都不变,不会再去执行服务程序,各位大大,看一下到底哪儿出问题了,为什么只有第一次中断正确
-
一周热门 更多>