📄 h12.asm
字号:
Tick equ 10000 ; 10000 x 100us = 1s
T100us equ 256-50 ; 100us时间常数(6M)
C100us equ 30h ; 100us记数单元
LEDBuf equ 0
LED equ P1.0
ljmp Start
org 000bh
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)
mov C100us+1, #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 LED
mov C100us, #high(Tick)
mov C100us+1, #low(Tick)
Loop:
mov c, LEDBuf
mov LED, c
ljmp Loop
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -