⑴ PIC单片机定时器初值计算方法及几种周期小结
正确为你解答:
1 可以按定时时间的计算公式, 计算出定时器的时间常数X:
定时时间T=(2的N次方-X)12/单片机晶振频率
2 N为定时器的工作方式:
方式0时,N=13
方式1时,N=16
方式2时,N=8
3 根据定时时间和工作方式,计算出时间常数X
把X转换成二进制数,高8位送给TH1,低8位送给TL1,就可以启动定时器开始定时了。
例如: 工作在方式1,定时时间为1000微秒 晶振频率=12MHZ
则 定时时间T=(2的16次方-X)12/12MHZ=1000 解出 X=64536=FC18H
⑵ avr单片机定时器TCNT0=,公式是什么
TCNT0 是8位T0寄存器, 所以赋值范围是0~255,。
晶振 / 分频 = 分频后的时钟
1 /分频后的时钟 = 分频后的每个时钟周期
定时器溢出时间 /分频后时钟每周期时间 = 定时器经过N + 1次累后溢出
256 -定时间经过N次累后溢出 =TCNT0预装值、重装值
例子:8M晶振; 64分频;定时器溢出时间定为 1ms
8000 000 / 64 = 125000(分频后的时钟)
1 / 125000 = 0.000 008 s (分频后的每个时钟周期)
0.001s / 0.000 008s = 125 (定时器经过125 + 1次后溢出)
256 - 125 = 131 (TCNT0预装值、重装值)
⑶ 单片机关于定时器和波特率的计算
单片机上串口方式1和3的波特率是基于T1定时器的溢出频率产生的,需要注意,不是TO,只能是T1。
公式t=(256-th0)*振荡周期*12 中t代表采用定时器方式2时,定时器T0溢出事件发生的周期。T1的溢出周期也是一样的算法,改成th1就行了。(1/t)就是定时器的溢出频率。我们已知的是需要的波特率,这里就是9600,根据串口方式1的波特率计算公式
波特率=1/16或1/32*T1的溢出频率
可以求出我们需要的T1的溢出频率,也就是(1/t),t确定后就能根据上面公式最终求出th1的设定值。
计算结果是SMOD位为0,th1=0xfd; SMOD位为1,th1=0xfa
⑷ 单片机定时器计算
计算定时器,最原始的公式是(65536-初值)*12/晶振值=定时的时间,由此式子推出:初值=65536-(晶振值*定时时间/12)。则TH0=初值/256,TL0=初值%256,最终结果就是
TH0
=
255-CLOCK/TIME_PER_SEC/12/256;
TL0
=
255-CLOCK/TIME_PER_SEC/12%256;
其中除以TIME_PER_SEC,是因为TIME_PER_SEC表示要定时的时间的倒数。
⑸ 关于单片机定时器的求算,怎么算出来的
51单片机定时器是“溢出”计时的,所以计算方法是:
(假设定时X毫秒(这里设定在溢出范围内),晶振频率是F兆赫兹),那么计算公式是:
初值=65536-(X*1000)*(F/12)
⑹ 51单片机的定时器计时怎样计算
51但单片机的定时,要先计算,然后根据要求编写程序,计算会用到公式:t=Tc×(2L-TC)=12/f×(2L-TC) t是定时时间 Tc是机器周期 fs是晶振频率 L是计数器的长度 对于T0,T1有下面三种方式: 方式0:L=13 方式1:L=16 方式2:L=8 对于T2:L=16 然后剩下的就是按照算出的常数编写程序了,就靠你自己了。。。。