单片机定时器初值计算

一、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。

 

单片机定时器初值怎么计算

(图片来源于互联网)

 

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

不管使用多大的晶振,使用51单片机,一般都是12分频出来,也就可以得出一个机器周期:机器周期=12/n(n指晶振频率),

 

假设要定时的时间为M,那么定时的初值为:

M/机器周期=初值;

TH0= (65536-初值/256;

TL0= (65536-初值)/256;

将(65536-初值)所得的值化成16进制,其高位就是TH0的值,低位为TL0的值。

 

例如用12M晶振做1ms定时计算如下:

机器周期=12/12*10^6=1us(微秒);

定时初值=(1*10个-3)/(1*10^-6)=1000。

 

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

(图片来源于互联网)

 

拓展:

51单片机中有两个定时器T0和T1:

 

TF0:定时器T0溢出中断请求。当定时器TO产生溢出时,TO中断请求标志TF0置1,请求中断处理。

 

TF1:定时器T1溢出中断请求。当定时器Tl产生溢出时,T1中断请求标志TF1置1,请求中断处理。

 

定时/计数器T0和T1分别是由两个8位的专用寄存器组成,即定时/计数器T0由TH0和TL0组成,T1由TH1和TL1组成。此外,其内部还有2个8位的特殊功能寄存器TMOD和TCON,TMOD负责控制和确定T0和T1的功能和工作模式,TCON用来控制T0和T1启动或停止计数,同时包含定时/计数器的状态。

 

TF1:定时器1溢出标志。定时/计数器溢出时由硬件置位。中断处理时由硬件清除。或用软件清除。

 

TF0:定时器0溢出标志。定时/计数器溢出时由硬件置位。中断处理时由硬件清除,或用软件清除。

 

51单片机是对所有兼容Intel 8051指令系统的单片机的统称。该系列单片机的始祖是Intel的8004单片机,后来随着Flash rom技术的发展,8004单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是51系列的单片机一般不具备自编程能力。

 

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

(图片来源于互联网)