ADC是一定會跳動的,這是絕對的,ADC本身就是有一個上下浮動的誤差
2#已經給出正確的方法了
我這個代碼你參考一下,是參考,不是照抄 float Bat_Voltage,i;
Bat_Voltage=(float)1.19*1024/ADC_data_bat; //STC8G的內部參考電壓為1.19V
i=Bat_Voltage-Last_Voltage; //本次電壓值和上次電壓進行比較,Last_Voltage為全局變量
i=fabs(i);
if(i>0.05) //電壓變化值超過0.05V才進行處理
{
Last_Voltage=Bat_Voltage;
處理;
}
|