Re: [問題] 有人可以幫我檢查程式(mcs8051)哪裡出錯了?

看板Programming作者時間18年前 (2006/06/20 09:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
進入中斷後,離開中斷,好像沒有清除中斷旗標, 回到程式後又馬上中斷,永無止境的呼叫中斷... 中斷的過程~~有更改 R3 的值,但沒有用到 delay 函數?? ※ 引述《bor1228.bbs@ptt.cc (NAMI NAMI)》之銘言: > 我寫的是用七段顯示器00上數到60的計數器數到59時會歸00不在上數然後LED會開始閃爍 > 。 > 我是用INT0做外部中斷做為啟動上數用 當我還沒按INT0時七段顯示器會顯示00 > 按以後會開始上數。 > 程式沒錯誤可是輸出到應用板上卻沒效果只會一值顯示00按INT0沒反應請高手幫我檢查 > ~謝謝 > =============以下是程式 > ORG 00H > JMP BEGIN > ORG 03H > JMP INTT0 > ORG 30H > BEGIN: > MOV SP,#60H > MOV IE,#81H > MOV R3,#00H > BLOOP: > MOV A,R3 > XRL A,#00H > JNZ BL1 > CALL START0 > JMP BL0 > BL1: > CALL START1 > BL0: > JMP BLOOP > INTT0: > CLR EX0 > PUSH ACC > INC R3 > MOV A,R3 > XRL A,#02H > JNZ IN1 > MOV R3,#00H > IN1: > JNB p3.2,in1 > SETB ex0 > POP ACC > RETI > START0: > MOV R2,#00H > MOV A,R2 > ANL A,#0F0H > ORL A,#80H > MOV P0,A > MOV A,R2 > ANL A,#0F0H > SWAP A > ORL A,#90H > MOV P0,A > RET > START1: > MOV R2,#00H > MOV R5,#39 > L1: > MOV A,R2 > ANL A,#0F0H > ORL A,#80H > MOV P0,A > CALL DELAY > MOV A,R2 > ANL A,#0F0H > SWAP A > ORL A,#90H > MOV P0,A > CALL DELAY > DJNZ R5,L1 > MOV A,R2 > ADD A,#01H > DA A > CJNE A,#60,L2 > MOV R2,#00H > CALL L3 > JMP START0 > L2: > mov R2,A > JMP L1 > L3: > MOV P1,#00H > CALL DELAY_264mS > CALL DELAY_264mS > CALL DELAY_264mS > MOV P1,#0FFH > CALL DELAY_264mS > CALL DELAY_264mS > CALL DELAY_264mS > RET > DELAY: > MOV R7,#25 > D1: > MOV R6,#00H > DJNZ R6,$ > DJNZ R7,D1 > RET > DELAY_264mS: > MOV R4,#02H > D2: CALL DELAY > DJNZ R4,D2 > RET > END -- ※ Origin: 元智大學 風之塔 <bbs.yzu.edu.tw> ※ From : 61-224-83-47.dynamic.hinet.net ※ X-Info: Re: [問題] 有人可以幫我檢查程式(mcs8051)哪裡出錯了? ※ X-Sign: 129EI89KiMSw097SH93U (06/06/20 9:02:01 )
文章代碼(AID): #14br0J00 (Programming)
文章代碼(AID): #14br0J00 (Programming)