打印
[AVR单片机]

M16 用T2定时器可以做1-50HZ的频率测量吗?

[复制链接]
1648|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 | 只看该作者

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

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

98

主题

458

帖子

0

粉丝