oid main(void){
   INT8 adc_value;
   UINT8 potVoltage = 0;
   BOOL updateLCD = TRUE;   initLcd();
   initAdc();
   
   while(1){
      ADC_ENABLE_CHANNEL(ADC_AIN7);
      ADC_SINGLE_CONVERSION(ADC_REF_AVDD | ADC_8_BIT | ADC_AIN7);
      ADC_SAMPLE_SINGLE();
      while(!ADC_SAMPLE_READY());
      adc_value = ADCH;      if (potVoltage != scaleValue(adc_value)){
         //potVoltage changed since last sample
         potVoltage = scaleValue(adc_value);
         updateLCD = TRUE;
      }      if (updateLCD){
         updateVoltageLCD(potVoltage, adc_value);
         updateLCD = FALSE;
      }
      updateCounter(adc_value);
      halWait(10);