全球旧事资料 分类
单片机定时器初值计算公式(51单片机和AVR单片机的初值计算三种方法)
单片机定时器初值计算公式一、51单片机定时器初值计算1、方法一voidmai
(void)s11TMOD0x01使用定时器T0的模式1TH0(6553646083)256定时器T0的高8位设置初值TL0(6553646083)256定时器T0的低8位设置初值函数功能:定时器T0的中断服务函数voidTIme0(void)i
terrupt1usi
g0定时器T0的中断编号为1,使用第1组工作寄存器cou
t每产生1次中断,中断累计次数加1if(cou
t20)如果中断次数计满20次cou
t0中断累计次数清0s秒加1网络上阅读一段程序,定时器初值46083是怎么计算出来的?一般我们如用AT892051的话定时50MS就是TH0(6553650000)256猜想应该是使用的12M晶体,20次为1S2、方法二10MS定时器初值的计算:1)晶振12M12MHz除12为1MHz,也就是说一秒1000000次机器周期。10ms10000次机器周期。655361000055536(d8f0)
fTH00xd8,TL00xf02)晶振110592M110592MHz除12为921600Hz,就是一秒921600次机器周期,10ms9216次机器周期。65536921656320(dc00)TH00xdc,TL00x003、方法三50MS定时器初值的计算:1)晶振12M12MHz除12为1MHz,也就是说一秒1000000次机器周期。50ms50000次机器周期。655365000015536(3cb0)TH00x3c,TL00xb02)晶振110592M110592MHz除12为921600Hz,就是一秒921600次机器周期,50ms46080次机器周期。655364608019456(4c00)TH00x4c,TL00x00使用说明以12M晶振为例:每秒钟可以执行1000000次机器周期个机器周期。而T每次溢出最多65536个机器周期。我们尽量应该让溢出中断的次数最少(如50ms),这样对主程序的干扰也就最小。开发的时候可能会根据需要更换不同频率的晶振(比如c51单片机,用110592M的晶振,很适合产生串口时钟,而12M晶振很方便计算定时器的时间),使用插接式比较方便。对12MHz1个机器周期1us12fosc1u计数初值x(2x)2us1000usx2500,TH,TL可置50012MHz一个机器周期12121us
f12MHz一个机器周期12121us定时50ms计数初值x(2x)1us50000usx250000,TH,TL可置500定时器计内部晶振频率计数器计外部输入CPU脚上的脉冲个数P34(T0)P35(T1)负跳变加一当晶振为6MHz时,最高计数频率500KHz
fr
好听全球资料 返回顶部