Para hacer una conversion A/D en ASM debes configurar todos los registros relacionados al conversor A/D (TRISA, ADCON0 y ADCON1 por lo menos) Supongamos que voy a usar el canal 0 y 1 para convertir y los voy a guardar en los registros data0 y data1 todo ello con una resolucion de 8 bits y un cristal de 4MHz... entonces hago algo como esto:
Codigo:
....... ; Codigo de Configuraciones...
Main
....
banksel ADCON1
movlw b"00000100" ; Configuro los 8 bits que los leo de ADRESH y
movwf ADCON1 ; configuro los canales 0,1 y 3 como analogicos
banksel TRISA
movlw b"00001011" ; Canales analogicos como entradas
movwf TRISA
........
Conversion0
banksel ADRESH
clrf ADRESH ; Limpio el registro antes de leer
banksel ADCON0
movlw b"01000001" ; Configuramos la frecuencia de conversion Fosc/8 y Canal 0
movwf ADCON0
bsf ADCON0, Go ; Empieza la conversion
btfsc ADCON0, Go ; salta si termino la conversion
goto $-1 ; Vuelve a preguntar
banksel ADRESH
movf ADRESH,w ; Cargo el valor de la conversion A/D
movwf data0 ; data0= ADRESH
.....
Conversion1
banksel ADRESH
clrf ADRESH ; Limpio el registro antes de leer
banksel ADCON0
movlw b"01001001" ; Configuramos la frecuencia de conversion Fosc/8 y Canal 1
movwf ADCON0
bsf ADCON0, Go ; Empieza la conversion
btfsc ADCON0, Go ; salta si termino la conversion
goto $-1 ; Vuelve a preguntar
banksel ADRESH
movf ADRESH,w ; Cargo el valor de la conversion A/D
movwf data1 ; data0= ADRESH
.....
Espero puedas entender el codigo, cualquier problema revisa el PDF del PIC. Por si acaso estoy seleccionando a cada momento el banco con el cual voy a trabajar (no me acuerdo en que banco se encuentra cada registro)
Con respecto a tu otra pregunta si se guarda en binario, es cierto todos los datos manejados en el PIC son binarios, pues es lo que entiende el PIC, si lo que pretendes es usar un LCD para visualizar el valor de la conversion A/D, debes hacer un algoritmo para decodificar de binario a decimal para que asi lo muestres en un LCD.
Espero haberte aclarado tus dudas. Un abrazo