[AVR单片机] M16 用T2定时器可以做1-50HZ的频率测量吗?

[复制链接]
2517|1
 楼主| cpu51 发表于 2007-6-2 20:37 | 显示全部楼层 |阅读模式
// 用INT0开始启动T2,用TCNT2做计数器结果,大于T2的用f做T2的循环次数+TCNT2做结果。
用T2定时器可以做1-50HZ的频率测量吗?我的这个程序不行,测的频率不稳定。
#pragma interrupt_handler timer2_ovf_isr:5
void timer2_ovf_isr(void)
{
   if(f>6550)
   {
    TIMSK&=~(1<<TOIE2); //T2 中断禁止
    f=0;         //force =2
    real_f=0;  // 
    errpres=0;
    }
  else 
   f++;
}
//*************************************************
//external interupt on INT0
//*************************************************
#pragma interrupt_handler int0_isr:2
void int0_isr(void)
{
if(f>0&f<6550)
   {
     errpres=f*255;//+TCNT2;     
     real_f=(int)errpres/10;    //低频     
      }
else if(f==0)      
   {
     errpres=255-TCNT2;
     real_f=(int)errpres/1.78;
    }
else ;
     
  f=0;
 
 }
lzb 发表于 2008-10-29 09:24 | 显示全部楼层

可以做,但是你这样的程序实现不了

您需要登录后才可以回帖 登录 | 注册

本版积分规则

99

主题

461

帖子

0

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