Re: [請益] 89C51外部中斷小疑問

看板ASM (組合語言)作者 (此人掛網中……)時間16年前 (2008/04/16 19:37), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/3 (看更多)
: 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
文章代碼(AID): #181UJfni (ASM)
文章代碼(AID): #181UJfni (ASM)