單片機定時器(更準(zhǔn)確的模式1操作)
COUNTEQU9217 ;對于11.0592的晶振來說,9217相當(dāng)于10ms
LEDEQUP1.1
ORG0000H
MOVR0,#00H
DJNZR0,$
MOVR1,00H;用R1來作為整體計數(shù)時用
MOVSP,#60H
MOVR1,#00H
//MOVA,TMOD
//ANLA,#11110000B
//CLRACC.3
//CLRACC.2
//CLRACC.1
//SETBACC.0
//MOVTMOD,A
MOVTMOD,#00000001B ;上面的寫法可以用這個代替,更簡練一些
MOVTH0,#(65536-COUNT)/256
MOVTL0,#255
CLRTF0
SETBTR0
LOOP:JNBTF0,LOOP
;
OVER:CLRTF0
MOVTH0,#(65536-COUNT)/256
MOVTL0,#255
INCR1
MOVA,R1
CJNER1,#5,NEXT;沒達(dá)到50ms,在進(jìn)行累加定時
CPLLED
MOVR1,#00H ;重新給裝初值
NEXT:AJMPLOOP;達(dá)到50ms后,燈取反后從新開始定時
END
評論