微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 单片机定时器(更准确的模式1操作)

单片机定时器(更准确的模式1操作)

时间:11-18 来源:互联网 点击:
;让LED灯每隔R1ms变化一次

COUNTEQU9217 ;对于11.0592的晶振来说,9217相当于10ms
LEDEQUP1.1

ORG0000H
MOVR0,#00H
DJNZR0,$
MOVR1,00H;用R1来作为整体计数时用
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;没达到50ms,在进行累加定时
CPLLED
MOVR1,#00H ;重新给装初值
NEXT:AJMPLOOP;达到50ms后,灯取反后从新开始定时

END

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top