作者yingfufu (...)
看板ASM
標題[問題] 有關8051的中斷
時間Tue Jan 13 00:02:16 2009
Hello~
我最近剛學51,要寫一個中斷的作業
程式主要是有一個loop
然後當int0時會執行另一段
不過因為int0時也會call delay
所以希望用bank0, bank1來分開存兩個r1, r2
不過以我下面的寫法會當掉
可是如果不分bank的話,delay時間會重算
請問程式是那邊有錯呢?
謝謝您的幫忙
ORG 00H
JMP START
ORG 03H
JMP INT_1
ORG 30H
START:
MOV IE,
#10000001B
MOV IP,
#00000001B
SETB TCON.0
MOV A,#01H
LOOP:
MOV P0,A
CALL DELAY
RL A
JMP LOOP
INT_1:
SETB PSW.3
MOV P0,#0FFH
CALL DELAY
CLR PSW.3
RETI
DELAY:
MOV R1,#10H
D1:
MOV R2,#10H
DJNZ R2,$
DJNZ R1,D1
RET
END
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.225.133.227
※ 編輯: yingfufu 來自: 125.225.133.227 (01/13 00:23)
1F:→ yingfufu:發現問題了...沒有移SP,蓋到了 T____T 01/13 14:54