?? timer.asm
字號(hào):
ORG 00H
TICK EQU 10000 ;10000×100us=1s
T100us EQU 256-100 ;100us時(shí)間常數(shù)(12M)
C100us EQU 30H ;100us計(jì)數(shù)單元
LEDBUF EQU 40H
LED BIT P1.0
LJMP START ;跳至主程序
ORG 000BH ;中斷子程序起始地址
T0INT: PUSH PSW ;狀態(tài)保護(hù)
MOV A,C100us+1
JNZ GOON
DEC C100us ;秒計(jì)數(shù)值減1
GOON: DEC C100us+1
MOV A,C100us
ORL A,C100us+1
JNZ EXIT ;100us計(jì)數(shù)器不為0,返回
MOV C100us,#HIGH(TICK) ;100us計(jì)數(shù)器為0,重置計(jì)數(shù)器
MOV C100us+1,#LOW(TICK)
CPL LEDBUF ;取反LED
EXIT: POP PSW
RETI
START: MOV TMOD,#02H ;方式2,定時(shí)器
MOV TH0,#T100us ;置定時(shí)器初值
MOV TL0,#T100us
MOV IE,#10000010B ;EA=1,IT0=1
SETB TR0 ;開(kāi)始定時(shí)
CLR LEDBUF
CLR LED
MOV C100us,#HIGH(TICK) ;設(shè)置10000次計(jì)數(shù)值
MOV C100us+1,#LOW(TICK)
LOOP: MOV C,LEDBUF
MOV LED,C
LJMP LOOP
END
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -