作者plashhigh (遊玩人)
看板Electronics
標題[問題] 8051中斷計時00~99重複循環
時間Thu Jul 17 15:11:57 2008
想請問一下我這樣的內容哪邊有錯呢!
執行的時候兩顆七段顯示器只會執行到99跳到00後就停了~
以下是我的程式碼~
請大大指點迷津~
ORG 00H
JMP MAIN
ORG 0BH
JMP TIME
TIME: MOV TH0,#3CH
MOV TL0,#0B0H
DJNZ R4,BACK
MOV R4,#20
INC A
DA A
MOV P1,A
DJNZ R5,BACK
MOV R5,#100
CLR A
JMP MAIN
BACK: RETI
MAIN: MOV A,00H
MOV P1,A
MOV R4,#20
MOV R5,#100
MOV TMOD,
#00000001B
MOV TH0,#3CH
MOV TL0,#0B0H
SETB EA
SETB ET0
SETB TR0
END
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.23.231.89
1F:→ beagle:你忘了要重複啊 07/17 15:52
2F:→ plashhigh:請問如何重複= =這就是我的疑問! 07/17 16:03
3F:→ beagle:在適當的地方加 JMP MAIN 就可以了... 07/17 16:40
4F:→ beagle:MAIN: 這個標籤就是做這個用途的啊! 07/17 16:40
5F:→ beagle:抱歉, 我沒看清楚程式... @.@ 07/17 16:41
6F:→ beagle:你想達到的是什麼效果可以講解一下嗎? 我看不太懂... 07/17 16:45
7F:→ beagle:照這樣看來 00 數到 99 是一瞬間就完成了, 沒有時間間隔 07/17 16:47
8F:→ plashhigh:我本身程式已經可以00跑到99,但是無法循環! 07/17 17:32
9F:推 beagle:TIME: 那個 subroutine 最後面 JMP MAIN 是做啥的? 07/17 18:25
10F:→ beagle:這樣就沒有跑到 reti 了啊 07/17 18:26
11F:→ krjm:ORG 0B 跟 JMP TIME 丟到MAIN:最上面試看看^^ 07/17 20:57
12F:→ krjm:更正上面JMP TIME丟到MAIN:的最下面試看看 @@ 這樣對嗎? 07/17 21:11