单片机定时器初值计算方法

采用C语言

呵呵 正确为你解答:
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

呵呵 如满意 请选择满意回答
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-07-29
  一、计算:
  1.晶振12M
  12MHz除12为1MHz,也就是说一秒=1000000次机器周期。10ms=10000次 机器周期。 65536-10000=55536(d8f0) TH0=0xd8,TL0=0xf0
  2.晶振11.0592M
  11.0592MHz除12为921600Hz,就是一秒921600次机器周期,10ms=9216次机器周期。

  二、参考资料:
  http://wenku.baidu.com/link?url=NKwBgYZhresxh_H7Vr7wjRFmuwXwIvhK70DjBd0Alt7MT1oBdQvrm85WbXSQej3m2qwlYyoc4XbeNx0bY8-930MYa9hBU01VnlRtftho3FG
第2个回答  2012-07-30
定时器的初始值=定时器最大溢出的数值-所需要的定时时间*晶振频率/分频比
此时的定时时间要使用us
例如:
4MHz的晶振,分频比为128:1,定时器最大溢出时间为256,需要的定时时间为8ms,则
初始值=256-8000*4/128=6

另外,这个好像和使用什么语言关系不大
第3个回答  2020-05-06
T=(2的N次方-X)12/单片机晶振频率
2 N为定时器的工作方式:
方式0时,N=13
方式1时,N=16
方式2时,N=8
注意晶振频率,晶振频率的十二分之一是机器频率,再取倒数是机器周期,把定时时间换算成多少个机器周期,当作T代入上式求出X,然后把X化为二进制数,(以方式1定时器0为例)高八位存入TH1,低八位存入TL1
第4个回答  2012-07-29
T0:50ms,方式1
TMOD = 0x01;
TH0 = 0x3C;
TL0 = 0x0B0;
EA = 1;
ET0 = 1;
TR0 = 1;

单片机定时器计数值初值是多少?
2、定时1ms=1*1000=1000us;3、工作在方式0下:最大计数值是2^13=8192;4、定时初值=8192-(1*1000)=7192;5、换算成十六进制数为:定时初值=1C18H。定时器中断是由单片机中的定时器溢出而申请的中断。51单片机中有两个定时器T0和T1。定时\/计数器T0和T1分别是由两个8位的专用寄存器组成,即...

单片机中,定时器如何初值计算?
1、计算定时器计数频率:定时器T0在方式2下,每个计数周期为12个晶振周期,因此计数频率为6MHz \/ 12 = 500 kHz。2、计算定时器初值:要实现0.5ms定时,需要定时器T0计数500次,因此初值为 65536 - 500 = 65036 (0xFC1C)。对于定时器T1,由于题目中没有给出需要实现的定时时间,无法直接计算出初...

单片机定时器初值怎么算?
1、系统晶振频率是12M,则机器周期=12/12=1us;2、定时1ms=1*1000=1000us;3、工作在方式0下:最大计数值是2^13=8192;4、定时初值=8192-(1*1000)=7192;5、换算成十六进制数为:定时初值=1C18H。定时器中断是由单片机中的定时器溢出引起的中断,51单片机中有两个定时器t0和t1。

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最长可定时131.072MS。方式2最长可定时512us。根据计算公式,X=M-计数初值=M-(fosc*t)\/12,其中X是计数初值,要得到最大定时时间X=0;M最大计数值,工作方式0时M=2^13=8192,工作方式1时M=2^16=65535,工作方式2时M=2^8=256。fosc晶振频率。中断可以被分为内部中断和外部中断,内部...

单片机定时器计算?
计算定时器,最原始的公式是(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...

...的计数初值是怎么计算得出的?(计数和定时计算方式是否不同?)--初学...
计数初值的计算:定时或计数方式下计数初值如何确定:定时器选择不同的工作方式,不同的操作模式其计数值均不相同。若设最大计数值为M,各操作模式下的M值为:模式0 : M=2^13 =8192 模式1: M=2^16=65536模式2:M=2^8=256模式3: M=256,定时器T0分成2个独立的8位计数器,所以THO、TLO 的...

关于单片机定时器的求算,怎么算出来的
51单片机定时器是“溢出”计时的,所以计算方法是:(假设定时X毫秒(这里设定在溢出范围内),晶振频率是F兆赫兹),那么计算公式是:初值=65536-(X*1000)*(F\/12)

51单片机串口通信定时器初值怎么计算?公式和计算原理是什么?
串口通信方式1和方式3,要用T1来控制波特率。T1,使用定时方式2,其初始值,和晶振频率、波特率、SMOD的关系式如下:T1初值 = 256 - fosc * (SMOD + 1) \/ (384 * 波特率)--我不明白波特率跟这个定时器的关系。麻烦你详细一点!这个关系,是由硬件决定的,只有搞微电子的,才能弄明白。软件...

单片机,一秒的定时器初值怎么算?不要结果要过程谢了哈!
一。10MS定时器初值的计算:1.晶振12M12MHz除12为1MHz,也就是说一秒=1000000次机器周期。10ms=10000次 机器周期。65536-10000=55536(d8f0)TH0=0xd8,TL0=0xf02.晶振11.0592M11.0592MHz除12为921600Hz,就是一秒921600次机器周期,10ms=9216次机器周期。65536-9216=56320(dc00)TH0=0xdc,TL0=...

相似回答