Re: [請益] 89C51外部中斷小疑問
: 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:
push A
push PSW
anl PSW, #11100111B
orl PSW, #00001000B ; set bank1
clr IE0
: 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
pop PSW
pop A
: 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的狀態,不再有任何動作了。
: 請問是不是我有哪裡寫錯了呢?
1. 中斷時,R0~R7最好和一般的程式用的R0~R7分開(利用切BANK達成)
2. 試試看,Good Luck!
--
我是路人甲
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.87.156.98
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):
ASM 近期熱門文章
PTT數位生活區 即時熱門文章