导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→51 定时中断[longxiuwei]

 *第39170篇: 51 定时中断

  
楼 主:longxiuwei 2006年4月6日21:18
 51 定时中断
我用51 t0做定时计数器,工作方式为:方式1,延时时间为50ms,20次中断一次有效,请问我在程序中做其他的工作的时候,定时计数器也工作,是不是每中断一次我都应该关掉中断标志,把其它工作做完之后再开中断,不关可不可以?
谢谢了,小弟等着呢,呵呵~
  
2楼:career5 2006年4月7日11:20
 共同讨论
看来这位网友要实现1S的定时,靠定时器T0及其T0中断来实现。我也做个程序。我的观点是每50MS时引起一次中断。在中断服务程序中来设置个计数器来实现20次的计时。是否关中断,主要取决于中断服务程序的执行时间,如果大于50MS的计数,必需关中断。但用于显示时间不太准确。如果中断服务程序的执行时间小于50MS的,刚无需关中断。这位网友觉得怎样。下面我将自己编写的显示日期时间的中断服务程序列出来,帮我看一下。
/****************中断服务程序*****************/
void zhduan(void) interrupt 3
{ unsigned char temp;
count++;
 if(count==20)
  {count=0;
   sec++;
     if(sec>  =60)
      {sec==0;
   min++;
      if(min>  =60)
      {min=0;
      hour++;
         if(hour>  =24)
         {hour=0;
      day++;
      temp=m_days(mon);
        if (day>  =temp)
          {day=1;
           mon++;
            if(mon>  =13)
               {mon=1;
               year++;}
           }
          }
        }
     }
  }
}

我用的是定时器实现50MS定时,至于相关寄存器的设定还没完成。完后我再上传那段代码。


>>>>>>对该主题发表你的看法

本主题贴数2,分页: [第1页]


[上一篇主题]:求助用mega16做一个手持编程器

[下一篇主题]:[求助]自制电感,参数怎样设计