#define N 70
XDATA WORD Value_buf[N];
XDATA DWORD ADCValue;
static BYTE v_gu8cnt=0;
static BYTE i=0;
static XDATA DWORD AdcReturn=0;
Value_buf[i++]=Key_ScanValue(ADCKEY1);
if(i==N)
i=;
for(v_gu8cnt=;v_gu8cnt<N;v_gu8cnt++) //Smoothing filter
{
v_gu16AD_Data+=Value_buf[v_gu8cnt];
if(v_gu8cnt==N-)
{
AdcReturn=v_gu16AD_Data;
v_gu16AD_Data=Value_buf[v_gu8cnt];
}
}
ADCValue=AdcReturn/N;