求助ADC0832采集信号时信号不稳定

2019-07-15 07:49发布

proteus仿真图:
截图20181115145840.png
实物图:
截图20181115150015.png


下面是ADC程序:
uchar get_adc() //读取ADC0832数值
{
        uchar i,data_adc;
        data_adc=0X00;
        ADC_CS=0;//片选
        ADC_CLK=0;
        _nop_();       
        ADC_CLK=1;
        _nop_();
        ADC_DIO=1;
        _nop_();
        ADC_CLK=0;
        _nop_();      
        ADC_CLK=1;
        _nop_();
        ADC_DIO=1;  
        _nop_();
        ADC_CLK=0;
        _nop_();           
        ADC_CLK=1;
        _nop_();
        ADC_DIO=0;
        _nop_();
        ADC_CLK=0;
        _nop_();
        ADC_DIO=1;
        _nop_();
        for(i=0;i<8;i++)
                {
                        ADC_CLK=1;
                        _nop_();
                        ADC_CLK=0;
                        _nop_();
                        data_adc=(data_adc<<1)|(ADC_DIO);
                        _nop_();
                        }
        ADC_CS=1;
        ADC_DIO=1;
        ADC_CLK=1;
        return(data_adc);
}

部分主程序
void main()
{
uchar adc_value;
float value

adc_value=get_adc();
                                                value=adc_value*(5.0/256)*100;
                                                count_display(value);
}

这次的设计是用于电压检测的,一个毫伏信号经过放大器OPA2277,放大至0-5V,当电压大于3V时,发出警报,proteus仿真是正常的,实际电路中很不稳定,万用表测量放大器输出0.7V,正常的,但有时候会突然变到3.75V左右(这个变化万用表检测不到,是LCD1602显示报警电压),引起误报警,不知道怎么去掉这个突变,求助!!!!


0条回答

一周热门 更多>