aunque solo debería dar problemas en la primera lectura, pónle una pequeña pausa después de seleccionar el canal de conversión
Codigo:
set_adc_channel(0);
delay_ms(25);
valorAD = Read_ADC();
y también es conveniente usar el reloj externo como base de tiempos ya que el reloj interno es más inestable.
Codigo:
setup_adc(ADC_CLOCK_DIV_32);