请问单片机定时器的初值是怎么设的

如题所述

定时器初值=2^n-m*晶振值/分频系数;
n:定时器模式,有13,8,16三种;
m:要定的时间长度,
晶振值:12MHz或6Mhz
分频系数:12
定义10毫秒;定时器模式1,晶振频率12MHz
定时器初值=2^16-10ms*12Mhz/12
.
=65536-10000
.
=5536
注意单位换算;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-03-21
在方式0的情况下定时器的长度为13位,t=(2^13-T0初值)*时钟周期*12
在方式1的情况下定时器的长度为16位,t=(2^16-T0初值)*时钟周期*12
在方式2的情况下定时器的长度为8位,t=(2^8-TH0初值)*时钟周期*12
第2个回答  2020-03-21
根据你使用的晶振,如果是12m,50ms就是:
th0=(65536-50000)>>8;
tl0=(65536-50000);
1机器周期时间=12/12m=1us
11.0592m晶振的话:
1机器周期时间=12/11.0592(us)
而定时器每次加1需要1个机器周期的时间
,所以定时x微妙所需加1次数
=
x
/
1机器周期时间
第3个回答  2020-03-26
给出高4位和低4
mov
th0,
#0032h;定时器0的高4位为32H
mov
tl0,
#0056h;定时器0的低4位为56H
给定时器的初值就是00320056本回答被提问者采纳