单片机定时器初值计算公式

一、10MS定时器初值的计算:

          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次机器周期。

              65536-9216=56320(dc00)  

              TH0=0xdc,TL0=0x00

  二、50MS定时器初值的计算:  

       1.晶振12M

             12MHz除12为1MHz,也就是说一秒=1000000次机器周期。50ms=50000次 机器周期。  

             65536-50000=15536(3cb0)

             TH0=0x3c,TL0=0xb0

       2.晶振11.0592M

            11.0592MHz除12为921600Hz,就是一秒921600次机器周期,50ms=46080次机器周期。

            65536-46080=19456(4c00)

                TH0=0x4c,TL0=0x00

三、使用说明

            以12M晶振为例:每秒钟可以执行1000000次机器周期个机器周期。而T 每次溢出 最多65536 个机器周期。我们尽量应该让溢出中断的次数最少(如50ms),这样对主程序的干扰也就最小。   开发的时候可能会根据需要更换不同频率的晶振(比如c51单片机,用11.0592M的晶振,很适合产生串口时钟,而12M晶振很方便计算定时器的时间),使用插接式比较方便。 

             对12MHz  1个机器周期 1us  12/fosc = 1us

             方式0  13位定时器最大时间间隔  = 2^13 = 8.192ms

             方式1  16位定时器最大时间间隔  = 2^16 = 65.536ms

             方式2  8位定时器最大时间间隔  = 2^8 = 0.256ms =256 us  定时5ms,计算计时器初值  M = 2^K-X*Fosc/12  12MHz 方式0: K=13,X=5ms,Fosc=12MHz 则 M = 2^13 - 5*10^(-3)*12*10^6/12= 3192 = 0x0C78         THx = 0CH,TLx = 78H,

              方式1: K=16,X=5ms,Fosc=12MHz 则 M = 2^16 - 5*10^(-3)*12*10^6/12= 60536 = 0xEC78        THx = ECH,TLx = 78H,  

             50ms 12MHz   THx = 3CH,TLx = B0H,         10ms       THx = D8H,TLx = F0H,

            方式2: 最大时间 2^8Fosc/12 = 0.256ms 

            十进制数是怎么来的?   6MHz 一个机器周期 12/6 = 2us   定时1ms  计数初值x (2^16-x)*2us  = 1000us x = 2^16 - 500 ,TH,TL 可置 -500 

             12MHz 一个机器周期 12/12 = 1us 12MHz 一个机器周期 12/12 = 1us 定时50ms  计数初值x (2^16-x)*1us  = 50000us x = 2^16 - 50000 ,TH,TL 可置 -500  定时器  计内部晶振频率

计数器  计外部输入CPU脚上的脉冲个数  P3.4(T0)  P3.5(T1) 负跳变加一

当晶振为6MHz时,最高计数频率500KHz

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查