单片机定时器(timer0工作方式2)
COUNTEQU92;对于11.0592的晶振来说,92相当于100us
LEDEQUP1.1
ORG0000H
MOVR0,#00H
DJNZR0,$
MOVSP,#60H
MOVR1,#00H;用R1来作为整体计数时用
MOVR2,#00H
//MOVA,TMOD
//ANLA,#11110000B
//CLRACC.3
//CLRACC.2
//CLRACC.1
//SETBACC.0
//MOVTMOD,A
MOVTMOD,#00000010B ;上面的写法可以用这个代替,更简练一些
MOVTH0,#(256-COUNT)
MOVTL0,#00H
CLRTF0
SETBTR0
LOOP:JNBTF0,LOOP
;
OVER:CLRTF0
INCR1
CJNER1,#100,NEXT;没达到10ms,在进行累加定时
MOVR1,#00H
INCR2
CJNER2,#5,NEXT ;此时延时达到10*R2ms
MOVR2,00H ;重新给装初值
CPLLED
NEXT:AJMPLOOP
END
评论