Hola soy nuevo con los microcontroladores y estaba utilizando el ADC de 10 bit de resolucion que trae el PIC16F690, lei la hoja de datos y lo configure tal y como dice esta. Simplemente luego de obtener la conversion en los registros "ADRESH" y "ADRESL", queria que los mostrara en unos LED conectados en los puertos, nada muy complicado.
En fin estuve lidiando todo el dia con el problema de que no puedo leer los datos del registro ADRESL, intente cambiando el pic, revisando la programacion, hasta hice un programa similar con un PIC16F877 y nada. En la programacion justifique el resultado a la derecha para que 8 bits quedaran en ADRESL y los otros 2 en ADRESH. Sin embargo cuando movia el potenciometro de 5k que estaba leyendo unicamente cambiaban los led que representaban al registro ADRESH. Incluso podia cambiar la programacion para que aparecieran 8 bits en ADRESH y 2 en ADRESL, y aun así solo cambiaban los que representaban al ADRESH.
En fin ya no se que hacer, no se si estoy haciendo algo mal en la programacion, por eso la voy a colocar. Ojala me puedan ayudar porque este problema ya me tiene cansado . Lo que pensaba hacer luego era tratar de utilizar un teclado de 3x4 en un solo pin del ADC.
CBLOCK 0X20
RESBAJO ;VARIABLEs PARA GUARDAR DATOS DEL ADC
RESALTO
ENDC
ORG 0
INICIALIZACION:
CLRF PORTA
CLRF PORTC
BSF STATUS,RP0 ;BANCO1
MOVLW B'00010000' ;FRECUENCIA/8
MOVWF ADCON1
MOVLW B'11111100' ;RA0/1 SALIDAS EL RESTO ENTRADAS
MOVWF TRISA
CLRF TRISC ;PUERTO C COMO SALIDA
BCF STATUS,RP0 ;BANCO0
BSF STATUS,RP1 ;BANCO2
MOVLW B'00000100' ;AN2, EL RESTO DIGITAL
MOVWF ANSEL
BCF STATUS,RP1 ;BANCO0
MOVLW B'10001001' ;JUSTIFICADO A LA DERECHA, CANAL 2, ENCIENDE ADC
MOVWF ADCON0
CONVERSION:
NOP ;ESPERA A QUE EL CAPACITOR DEL MUESTREO SE CARGUE
NOP
NOP
NOP
NOP
BSF ADCON0,GO ;INICIA CONVERSION
BTFSC ADCON0,GO ;ESPERA A QUE TERMINE
GOTO $-1
BSF STATUS,RP0 ;BANCO1
MOVF ADRESL,W ;PASA RESULTADO BAJO A W
MOVWF RESBAJO ;Y LO GUARDA EN UN REGISTRO
BCF STATUS,RP0 ;BANCO0
MOVF ADRESH,W ;PASA RESULTADO ALTO A W
MOVWF RESALTO ;Y LO GUARDA EN UN REGISTRO
MOVF RESBAJO,W
MOVWF PORTC
MOVF RESALTO,W
MOVWF PORTA
GOTO CONVERSION
END