×
单片机 > 单片机程序设计 > 详情

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

发布时间:2020-05-26 发布时间:
|
对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

寄存器 
1 TH TL
2 TCON
  TR0 TR1  其他位是中断控制位

TMOD
GATE C/T1 M1 M0 GATE C/T0 M1 M0


C8051F00X
定时器:每个时钟加1  时钟可为系统时钟或系统时钟的1/12
CKCON  

当引脚上出现电平时启动T0  当不满足时,停止T0,读出以后清零 。
关键字:单片机  定时器定时  计算方法 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
51单片机CO2检测显示程序解析