单片机,一秒的定时器初值怎么算?不要结果要过程谢了哈! ...

问题描述:单片机,一秒的定时器初值怎么算?不要结果要过程谢了哈!

一。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=0x00二。50MS定时器初值的计算:1.晶振12M12MHz除12为1MHz,也就是说一秒=1000000次机器周期。50ms=50000次 机器周期。65536-50000=15536(3cb0)TH0=0x3c,TL0=0xb02.晶振11.0592M11.0592MHz除12为921600Hz,就是一秒921600次机器周期,50ms=46080次机器周期。65536-46080=19456(4c00)TH0=0x4c,TL0=0x00同理1MS定时器初值的计算:1.晶振12M12MHz除12为1MHz,也就是说一秒=1000000次机器周期。1ms=1000次 机器周期。65536-1000=15536(fc18)TH0=0xfc,TL0=0x182.晶振11.0592M11.0592MHz除12为921600Hz,就是一秒921600次机器周期,50ms=922次机器周期。65536-922=19456(fc66)TH0=0xfc,TL0=0x66 查看原帖>>
温馨提示:内容为网友见解,仅供参考
第1个回答  2018-07-26
如果晶振是12M,那么定时器最长的定时时间是65.536毫秒,所以需要多次中断才能达到定时1秒的目的,这样的话,初值就有多种选择了。一般是定时50毫秒。初值就是:65536-50000
THn=(65536-50000)/256;
TLn=(65536-50000)%256;本回答被网友采纳
第2个回答  2017-10-20
第一:把定时器设置成定时方式,工作方式1:TMOD=0x01
第二:计算定时器的初始值(定时50ms),晶振按12MHz计算
(65536-X)*1us = 50000 X=15536 转换成十六进制3CB0
则TH0=0x3C,TL0=0xB0
然后开中断。启动定时器 ET0 =1 EA= 1 TR0=1
在中断服务程序中使用一个变量进行计算,每中断一次加1,中断20次,就是1s

单片机,一秒的定时器初值怎么算?不要结果要过程谢了哈!
一。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=...

单片机定时器初值计算方法有哪些?
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,就可以启动定时器开始定...

单片机定时器初值计算
定时时间2ms=(2的16次方-时间常数X)12\/f 即晶振为12M f=12*1000000 2ms=(2的16次方-时间常数X)12\/(12*1000000)2*0.001=(2的16次方-时间常数X)12\/(12*1000000)2*0.001=(2的16次方-时间常数X)\/(1000000)2000=65536-时间常数X 时间常数X=65536-2000 TH0=(65536-2000)\/256; 就...

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

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

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

单片机中断定时器,初值的计算方法
定时中断初值计算方法是:1、确定定时时间化为微妙t。2、晶振频率以M为单位f。3、计算初值:s=65536-t*f\/12 比如11.0592M晶振,定时10毫秒。t=10*1000=10000us f=11.0592 s=65536-10000*11.0592\/12=65536-9216 4、给定时寄存器赋值。THn=s\/256 Tln=s%256 ...

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

单片机 定时器初值计算
单片机的定时器每计时一次为一个系统时钟周期(如果晶振频率为12MHz,一个系统时钟周期为12\/(12M)=1\/1000000秒)单片机定时器定时是顺计时,计数到65536的时候才会产生中断,要定时2ms就得计时2000次,因此就用65536-2000 其实你上面写的两句程序就是取整,高八位给TH0,取余,低八位给TL0 这个没有...

相似回答