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

如题所述

  用延时函数就可以实现;
  首先,设置定时器工作方式,也就是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-05-09
51系列单片机的话:先算出来你的定时器+1的单位时间Tu,你需要定时的时间是Tc(注意Tc不能超过定时器的最大定时时间),你的定时器的位数是n,那么你的定时器初值装入的数就是2^n-Tc/Tu。本回答被网友采纳
第2个回答  2012-11-01
这个要看晶振情况,定时器模式设置,有8位模式,11位模式 16位模式等,还有定时器计时周期是1T的还是12T的,依具体情况而定
第3个回答  2012-11-01
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
以上是50ms的定时,那么5毫秒的定时是
TH0=(65535-5000)/256;
TL0=(65535-5000)%256;
以此累推吧。本回答被网友采纳