Bootstrap

C51定时器几个周期及定时计算

一、几个周期详解

  1. 时钟周期:时序中最小单位
    1/时钟源频率
    11.0592M=1/11059200秒

  2. 机器周期:单片机完成一个操作的最短时间,但是主要针对汇编而言,汇编下每一个机器周期都是每条语句的整数倍,而c语句时间不确定,c51统一标准一个周期为12个时钟周期也就是12/11059200

  3. 定时器计数周期:统一标准为机器周期12/11059200

二、定时器计数\定时计算

一个机器周期为12x1/晶振(假如晶振为11.0592M)那么一个定时器加一的的时间为12x1/11059200=1.09us,假如定时50ms那么50000us/1.09us=45872则65536—45872=15536就是初值为高8位的值

写程序可以不用
计算初值的公式方法适用方式一:
TH0=(65536-N)/256
TL0=(65536-N)%256

万能计算:
N(需要计数个数)=总定时时间/指令周期(机器周期)然后将 总值—N再换成16进制高2位为TH0低2位TL0

三、中断服务程序写法

起处理作用所以无返回值
void 函数名()interrupt 中断号
{
服务程序
}
记:中断号

  • INT0 0
  • T0 1
  • INT1 2
  • T1 3
  • TI/RI 4
  • T2 5
    定时器一启动就会一直执行定时中断功能
;