simon09 发表于 2010-4-22 11:36:11

STC12系列 捕捉数据不准的疑问

问题:脉冲是用信号发生器发出的方波 波形很漂亮,
      在捕捉方式下 捕捉到的计数值有变化,

捕捉方式:下降沿
应用:做计数脉冲
方法:计算脉冲时间,所以在第一个下降沿时开计数器计时,并清除计数寄存器和捕捉寄存器
      到第二个脉冲停止计数 ,停止计数器控制位,并读取捕捉到的计数值,通过串口发给串口调试软件观察低字节变化 ;


为什么会出现这样的问题呢? 51响应中断的时间很快的呀,再加上STC12系列的是1T的应该会更准啊

ckvlhf 发表于 2010-4-22 13:16:58

具体问题具体分析,你的信号频率多少?程序呢?

simon09 发表于 2010-4-22 13:48:17

回复【1楼】ckvlhf
-----------------------------------------------------------------------

void PCA0()interrupt 7 using 0
{
        if(CF)                                                          //CF=1;益处中断
        {
        Count++;                                                  //计数加1
        CF=0;                                                          //清除中断标志
        }
        else{                                                          //下降沿中断
        flag=~flag;
        if(flag)                                                  //第一个下降沿
        {
        Count=0;
        CH=0;
        CL=0;
        CCAP0L=0;
        CCAP0H=0;
        CCF0=0;                                                       //清零
        CR=1;
        }
        else                                                       //第二个下降沿中断
        {
        CR=0;                                                       //关计数
        int_g=Count;
        int_h=CCAP0H;
        int_l=CCAP0L;                                       //读取计数值
        CCF0=0;                                                       //清中断标志

        delayms(200);
        delayms(200);
       send_data(int_h);
       delayms(200);
       delayms(200);
       send_data(int_l);

        }
        }
                       
}

回楼上 这是中断程序 ,1US加1计数 ,信号频率500HZ以上就会有

simon09 发表于 2010-4-22 14:41:39

回复【2楼】simon09
-----------------------------------------------------------------------

刚测试了 什么频率低字节变化很大高字节也变化 但是变化比较小
页: [1]
查看完整版本: STC12系列 捕捉数据不准的疑问