#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;
05-02 06:27