急:谁有用单片机测量交流电压的程序?

2020-02-06 09:46发布

谁有用单片机测量交流电压的程序?220V电压经过处理,电压抬高了2.5V,问各位大侠客有类似的经验。

我现在做的测量的很不准确。
电压一会是220,一会是250,一会是180,一会是012V
我很头疼?
下午大侠帮忙。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
98条回答
odqqdo
2020-02-13 03:35
引用图片【楼主位】qing999
-----------------------------------------------------------------------

(原文件名:AD检测电路.JPG)












/*************************************************************************************/

void __attribute__((__interrupt__)) _ADCInterrupt( void )
{

        //  static    unsigned int i;
        unsigned int j;
        IFS0bits.T3IF = 0;
        IFS0bits.ADIF = 0;     //清中断标志

        i++;

        adresult[0]=ADCBUF0;   //2次RB4转换的结果和,AN4基准电压输入
        //adresult[0]=adresult[0]>>1;                    //平均值
        temp=adresult[0];
        adresult[1]=ADCBUF1;
        //adresult[1]=adresult[1]>>1;

        adresult[2]=ADCBUF2;



        adresult[3]=ADCBUF3;
        //adresult[3]=adresult[3]>>1;

        adresult[4]=ADCBUF4;

        if (adresult[2]>adresult[0])j= adresult[2]-adresult[0];     //
        else j= adresult[0]-adresult[2];  //计算绝对值

        if (da<j)da=j;     //取最大值

        Sum1=j*j+Sum1;
        if (i>=32)
        {
                Sum=Sum1;
                flag.bits.AD_ok=1;
                Sum1=0;
                youxiao=da*7;       //有郊值等于峰值的0.707倍.两种算法
                youxiao=youxiao/10;
                da=0;
                i=0;

                time1++;
                if (time1>=50)  {
                        time1=0;    //50HZ时间测试
                        time2++;
                }


        }

        /* 设置标志更新LCD */


}




/***************************************************************/

一周热门 更多>