恩∼我的程式都是現成的,因為我沒有任何的8051的經驗..而且我都是以C語言的邏輯去判斷
這樣的思路讓我很頭痛,因為在C語言裡面只要一條程式,他就自動幫你計時,到時候在較出來就好了
但是對於8051我的腦袋會卡住
TH0
TL0
一組
TH1
TH1
一組
那TR就找不到可以配對了,他算是暫存區吧
而且這樣兩個程式單純合併的話
就會先計數再計時,或是先計時在技術
沒有辦法多工.....
------------計數器----------
ORG 0000H
;
SETB P3.4
MOV TMOD,#00000110B
MOV TH0,#256-5
MOV TL0,#256-5
SETB TR0
;
LOOP: MOV P1,#11111111B
ACALL COUNTER
MOV P1,#00000000B
ACALL COUNTER
AJMP LOOP
;
COUNTER:JB TF0,OK
AJMP COUNTER
OK: CLR TF0
RET
;
END
---------------------------------------
------------------計時器---------------
ORG 0000H
MOV A,#11111110B
LOOP: MOV P1,A
ACALL DELAY
RL A
AJMP LOOP
;
DELAY: MOV R4,#100
MOV TMOD,#00000001B
TIMER: MOV TH0,#3CH
MOV TL0,#0B0H
SETB TR0
WAIT: JB TF0,OK
AJMP WAIT
OK: CLR TF0
DJNZ R4,TIMER
RET
;
END
-----------------------------------------------
"就會有多組中斷;只要岔開來使用,定義好,就可以了........"
有點深奧可以解釋一下嗎?
再次謝謝各位的幫忙