?? th11_定時器.asm
字號:
; 定時器
Tick equ 5000 ; 10000 x 100us = 1s
T100us equ 20 ; 100us時間常數(6M)
C100us equ 5h ; 100us記數單元
LEDBuf BIT 00H
LED BIT P1.1
org 0000H
ljmp Start
org 0030H
org 000bh
LJMP T0Int
ORG 0100H
T0Int:
push PSW
mov a, C100us+1
jnz Goon
dec C100us
Goon:
dec C100us+1
mov a, C100us
orl a, C100us+1
jnz Exit ; 100us 記數器不為0, 返回
mov C100us, #HIGH(TICK);#high(Tick)
mov C100us+1, #LOW(TICK);#low(Tick)
cpl LEDBuf ; 100us 記數器為0, 重置記數器
; 取反LED
Exit:
pop PSW
reti
Start:
mov TMOD, #02h ; 方式2, 定時器
mov TH0, #t100us
mov TL0, #t100us
mov IE, #10000010b ; EA=1, IT0 = 1
setb TR0 ; 開始定時
clr LEDBuf
clr P1.1
mov C100us, #high(Tick)
mov C100us+1, #low(Tick)
Loop:
mov c, LEDBuf
mov P1.1, c
ljmp Loop
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -