Usaba AN0, AN1, AN2, AN3, AN4 del PIC16F876 para tomar lecturas analogas pero después necesité de mas entradas, asi que migré al PIC18F452 que tiene 8 entradas análogas. Usaba el puerto B para desplegarlas en un LCD 20X4.
Yo no defino con nombres propios los registros, en vez de eso incluyo la librería p16F876.inc ó p18f452.inc según sea el caso. En esas librerias, que ya tiene el MPLAB, vienen declarados todos los registros de el PIC con los nombres como aparecen en la hoja de datos, asi que ya no me preocupo por que dirección tengan. Por ejemplo cuando quiero checar si se activó la bandera de cero escribo:
btfss STATUS,2
Pero en ningún momento declaré STATUS en mi programa, la declaración está en la librería.
Entonces si bien recuerdo, lo único que cambié en mi programa fué:
list P=16f876
#include p16f876.inc
por:
list P=18f452
#include p18f452.inc
y funcionó, lo unico que hice fué aumentar el código para leer por las demas entradas análogas.
Saludos...