?? timer0-0.asm
字號:
ORG 00H
JMP MAIN
ORG 30H
MAIN: MOV TMOD,#00H ;設置TIMER0工作在MODE0
MOV R4,#00H ;記數指針初值
;------------------------------------
START: MOV P2,R4 ;將記數指針初值輸出至P2
MOV R3,#200 ;延遲1s
CALL DELAY ;
XCH A,R4 ;將記數指針值與累加器的內容交換
ADD A,#01 ;累加器加1
DA A ;做十進制調整
XCH A,R4 ;將累加器的內容與記數指針交換
JMP START
;-------------------------
DELAY: SETB TR0 ;啟動定時器0開始計數
AGAIN: MOV TL0,#(8192-5000) MOD 32 ; 設置TL0的初值
MOV TH0,#(8192-5000)/32 ;設置TH0的初值
LOOP2: JBC TF0,LOOP3 ;TF0是否為1,是則跳到LOOP3,并清除TF0
JMP LOOP2 ;不是則跳到LOOP2
LOOP3: DJNZ R3,AGAIN ;R3是否為0?不是則跳到AGAIN
CLR TR0 ;是則停止TIMER0計數
RET
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -