setup_ADC_PORTS(AN0); //entradas analogicas
y luego le mandas : set_tris_a(0b00000001);
le obligas a configurar ese pin como Input digital, ya no es analogica!!
Comenta ambos Set_Tris y vuelve a compilar...

hola amigos! yo tambien estoy teniendo algun problema con el ADC en el 16F88...
queria saber si lo que comenta MGLSOFT es cierto... no es que desconfie de ti! solo que estuve mirando el datasheet y dice esto:
The analog input channels musthave their corresponding TRIS bits selected as inputs.
es decir, que bit correspondiete a la entrada analogica debe configurarse como una entrada en el TRIS
pero en la practica no me funciona... como hago para usar el fast_io(a), configurar una entrada analogica y al hacer un tris al puerto y que esto no "digitalice" la entrada AD en cuestion?
al usar el fast_io es obligatorio hacer luego un tris, no? asi el micro sabe como tratar cada pin...
salu2