[請益] 89C51外部中斷小疑問
我想試著使用外部中斷(INT0),實驗方法為PORT1接8個LED,
當IC RESET時:
LED全暗->停一秒->全亮->停一秒(無限次循環)
當INT0負源觸發時:
LED以間格方式交替閃爍,每次間格一秒,共三次。
以下是試寫的CODE:
ORG 00H
JMP INITIAL
ORG 03H
JMP SETP2
INITIAL:
MOV IE,#10000001B
MOV IP,#00000001B
SETB IT0
JMP START
START:
MOV P1,#00000000B
CALL DELAY
MOV P1,#11111111B
CALL DELAY
JMP START
SETP2:
MOV P1,#10101010B
CALL DELAY
MOV P1,#01010101B
CALL DELAY
MOV P1,#10101010B
CALL DELAY
MOV P1,#01010101B
CALL DELAY
MOV P1,#10101010B
CALL DELAY
MOV P1,#01010101B
CALL DELAY
RETI
DELAY:
MOV R5,#10
D0: MOV R6,#200
D1: MOV R7,#250
DJNZ R7,$
DJNZ R6,D1
DJNZ R5,D0
RET
END
但實際測試後發現,RESET功能正常,INT0也可以進行負源觸發,但是當INT0進入中斷後
,並沒有在閃爍第三次後回到RESET狀態(也就是還是在交替閃爍),而且交互閃爍第六次
以後,會停在10101010的狀態,不再有任何動作了。
請問是不是我有哪裡寫錯了呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.67.181.137
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 3 篇):
ASM 近期熱門文章
PTT數位生活區 即時熱門文章