定时中断

[复制链接]
2006|3
 楼主| zjucsd 发表于 2010-5-13 13:07 | 显示全部楼层 |阅读模式
void Timer1(void) interrupt 3
{
   TR1  = 0;
   TH1  = (65536-50000)/256; //50ms
   TL1  = (65536-50000)%256;
   TR1  = 1; //启动定时器T1
   if(start)
   {
   Time1onecnt ++;
   if(Time1onecnt <= (PWM0*20))
   {
      drive0 = 1;
   }
   else
   {
      drive0 = 0;
   }
    if(Time1onecnt <= (PWM1*20))
   {
      drive7 = 1;
   }
   else
   {
      drive7 = 0;
   }
      if(Time1onecnt == 1200) //60s
   {
      Time1onecnt = 0;
   algorithm = 1;
   }  
   }
}
为什么这个中断程序的中断周期时间为100s,而不是设定的60s(本人所使用的单片机为W77E516)
 楼主| zjucsd 发表于 2010-5-13 13:47 | 显示全部楼层
50ms变成了85ms,有了1.7倍大小,是什么原因呢?
 楼主| zjucsd 发表于 2010-5-13 16:16 | 显示全部楼层
自己顶一下,望各位老大帮帮忙!!!
 楼主| zjucsd 发表于 2010-5-14 08:42 | 显示全部楼层
支持一下自己
您需要登录后才可以回帖 登录 | 注册

本版积分规则

100

主题

351

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部