Re: [請益] 問題點在哪???
※ 引述《jeff1481 (cool007)》之銘言:
: 我打算用計數器的方式
: 讓8051的P1輸出不同的信號
: 例如:
: 每按一次開關,P1就加1
: 00000000
: | 按
: 00000001
: | 按
: 00000011
: .
: .
: .
: --------------------------------------------------------------------------
: 後來我編譯出一個檔案
: 邏輯上似乎沒有錯誤
: 但燒入8051後,就是一直無法想出和我想像的結果
: ORG 0000H
: ;
: JNB P3.4,CASE1
: JNB P3.3,CASE2
: JNB P3.2,CASE3
: MOV TMOD,#00000110B
: MOV TH0,#256-1
: MOV TL0,#256-1
: SETB TR0
: ;
: MOV P1,#11111111B
: CASE1:
: DEC P1
: ACALL COUNTER
: AJMP CASE1
: CASE2:
: INC P1
: ACALL COUNTER
: AJMP CASE2
: CASE3:
: MOV P1,#11111111B
: ACALL COUNTER
: AJMP CASE3
: ;
: COUNTER:JB TF0,OK
: AJMP COUNTER
: OK: CLR TF0
: RET
: ;
: END
: 請問是哪個地方我沒有注意到???
看起來一整個有問題
ORG 00H
MOV P1,#00H
MOV P3,#FFH
CLR TF0
MOV TMOD,#00000110B
MOV TH0,#256-1
MOV TL0,#256-1
MAIN:
JNB P3.4,CASE1
JNB P3.3,CASE2
JNB P3.2,CASE3
JMP MAIN
CASE1:
DEC P1
CALL COUNTER
JMP MAIN
CASE2:
INC P1
CALL COUNTER
JMP MAIN
CASE3:
MOV P1,#FFH
CALL COUNTER
JMP MAIN
COUNTER:
SETB TR0
JB TF0,$
CLR TF0
RET
END
很久沒寫8051組語了,所以以上不見得對,但邏輯差不多是這樣。
※ 編輯: easypro 來自: 114.24.71.209 (09/05 02:32)
※ 編輯: easypro 來自: 114.24.71.209 (09/05 02:33)
推
09/05 10:57, , 1F
09/05 10:57, 1F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
1
3
ASM 近期熱門文章
PTT數位生活區 即時熱門文章