/*----------------------------------------------------------------------------- ROUTINE Name : ADC_Get_8bits Description: Return 8 bits resolution ADC value only, averaged over 8 samples. Input/Output: u8/u8 (channel number/result of conversion) Comments: None -----------------------------------------------------------------------------*/ u8 ADC_Get_8bits(u8 Channel) { u16 result=0; u8 i; ADMUX = Channel; //Set AD-Channel ClrBit(ADMUX,REFS1); //VCC is Referencevoltage ClrBit(ADMUX,REFS0); SetBit(ADMUX,ADLAR); //adjust ad-result to the left SetBit(ADCSR,ADEN); //Enable ADC ClrBit(ADCSR,ADPS2); //Select Prescaler SetBit(ADCSR,ADPS1); SetBit(ADCSR,ADPS0); ClrBit(ADCSR,ADFR); //no freerunning SetBit(ADCSR,ADIF); SetBit(ADCSR,ADSC); //start conversion while(!(ADCSR&(1<> 3; //div/8, smooth result return((u8)result); }