单片机延时计算方法?

如题所述

  单片机延时计算方法
  用延时函数就可以实现;
  首先,设置定时器工作方式,也就是TMOD,在设置TH0/1,TL0/1的初值,也就是定时时间的设置,然后设置中断允许,并开中断就可以;
  参考例子如下:
  #include<reg51.h>
  void main()
  {
  TMOD=0X01;
  TH0=0X3C;
  TL0=0XB0;
  EA=1;
  ET0=1;
  TR0=1;
  while(1);
  }
  void timer0() interrupt 1
  {
  TH0=0X3F;
  TL0=0XB0;
  }
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-14
以C51为例,12MHZ晶振的话,1个时钟周期为1/12微秒,1个机器周期=12个时钟周期,定时器每个机器周期可延时12*1/12微秒=1微秒。如果晶振为8MHZ的话,定时器每个机器周期可延时12*1/8微秒=1.5微秒本回答被网友采纳
第2个回答  2012-07-03
按12Mhz来讲的话
12Mhz 系统周期 =1/12uS
二分频之后就是 时钟周期 = 1/6uS 是完成一种微机操作的周期
六分频之后就是 机器周期=1uS 是完成一种基本操作的周期 也是指令周期;
也就是说每执行一条语句最少需要1uS,就这样来算
第3个回答  2012-06-30
我的百度空间有详细的很精确地延时说明
有兴趣 去看下