📄 ch10_t6.asm
字号:
;PROGRAM NAME:T6.ASM
;TEST TIMER0 MODE 1:16 BIT COUNT UP
;
MS_10 EQU 30H
COUNT EQU 9217 ;10ms FOR XTAL=11.0592MHz
CHECK_BIT REG P3.2
LED REG P3.7
;
ORG 0
MOV R0, #00H
DJNZ R0, $ ;WAIT
CLR CHECK_BIT
MOV SP, #40H
MOV MS_10, #00H ;CLEAR(MS_10)
;
MOV A, TMOD
ANL A, #11110000B
CLR ACC.3 ;GATE=0
CLR ACC.2 ;C/T=0
CLR ACC.1 ;TIMER0 M1=0
SETB ACC.0 ;TIMER0 M0=1
MOV TMOD, A
MOV TH0, #(65536-COUNT)/256
MOV TL0, #(65536-COUNT).MOD.256
CLR TF0 ;CLEAR TF0
SETB TR0
;
LOOP JNB TF0, LOOP ;TF0=0
;TF0=1
OVER CLR TF0 ;CLEAR TF0
MOV TH0, #(65536-COUNT)/256
MOV TL0, #(65536-COUNT).MOD.256
INC MS_10 ;INCREMENT COUNT
MOV A, MS_10
CJNE A, #10, $TEST
$TEST JNC $LEDOFF
SETB LED ;LED ON
SJMP $CONT
$LEDOFF CLR LED ;LED OFF
;
$CONT MOV A, MS_10
CJNE A, #100, $NEXT
CPL CHECK_BIT ;P3.2 COMPLENENT
MOV MS_10, #00H ;CLEAR COUNT
$NEXT SJMP LOOP
;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -