Hola a todos, además de lo dicho por RALF2, agrego una característica respecto a las VREF a tener en cuenta y que no figura en la AN "Using the A/D converter", vaya a saber uno por que.
Cuanto mas diverge VREF de VDD mayor es el la nolinealidad de conversión del ADC, por lo tanto cuanto mas baja es la VREFH respecto de VDD mayor error se incurre al tomar la medición. Esto le he leido en el PIC mid-range MCU family reference manual de Microchip, sin embargo, poco habla sobre este tópico y además tampoco dice nada sobre el error producido por la diferencia VREFL y VSS. Lo que si he encontrado es una tabla que expresa la Nolinealidad del ADC (en LSB) respecto a la diferencia (VDD-VREFH) y por lo visto esta puede ser de hasta 2 LSB, por lo menos en el 16F87XA.
Aunque tampoco no es un error gravísimo, yo prefiero siempre convertir utilizando VREFH = VDD y VREFL = VSS, pero utilizando los pines de voltaje de referencia externos y una referencia de voltaje integrada de 5V conectada a VREFH , y aunque parezca zonzo hacerlo asi, utilizar una referencia de tensión externa, me permite por un lado aislar la masa analógica de la digital (Porque conecto VREFL a AGND y no a la DGND llena de ruido donde va conectado el PIC) y por otro lado evito las tensiones de alimentación del circuito digital que generalmente no son precisas y estan cargadas de interferencias. Combinada esta separación total de circuitos digitales y analogicos, sumado a que realizo la conversión en modo Sleep me asegura bastante la precisión que necesito.
Espero haber aportado algo mas a la causa
.
Un saludo.