求助ADC0832采集信号时信号不稳定
2019-07-15 07:49发布
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
proteus仿真图:
实物图:
下面是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显示报警电压),引起误报警,不知道怎么去掉这个突变,求助!!!!
一周热门 更多>