Hola Akenafab, estuve probandolo de varios modos y el resultado es el mismo, ahora si lo pasas directamente el ADRESL a PORTB este si sale correctamente y ves la progresion de 0 a 255 según mueves el potenciometro del entrenador, pero cuando lo guardo en VBat1 y luego lo llamo, me sale 20, lo de simularlo en el PROTEUS lo habia pensado, pero no sabia como simular el ADC, pero tu idea me gusta y voy a ver...
Gracias por tu atención...ya te digo algo
Saludos
PROCESSOR 16F88
INCLUDE "p16f88.inc"
RADIX HEX
ERRORLEVEL -302
__CONFIG _CONFIG1, _CP_OFF & _CCP1_RB3 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_ON & _PWRTE_OFF & _WDT_OFF & _XT_OSC
__CONFIG _CONFIG2, _IESO_OFF & _FCMEN_OFF
CBLOCK 0x20
ENDC
ORG 0x20
goto inicio
#include Retardos.inc
;*********************************ETIQUETADO REGISTROS********************************
;Contador1 EQU 0Ch
;Contador2 EQU 0Dh
VBat1 EQU 0x20
;Registro temporal para guardar dato convertido
VBat2 EQU 0x21 ;Registro para introducir el valor de tensión de corte
;*********************************INICIO***************************************
inicio
banksel ANSEL
movlw B'00000001' ;Configuro el registro ANSEL para que RA0 sea Analogico (1) y los otros DIGITALES (0)
movwf ANSEL
banksel TRISB
movlw B'00000000' ;Todo PORTB lo configuro a SALIDA, todo ceros
movwf TRISB
banksel TRISA
movlw b'000001' ;Todo PORTA lo configuro a SALIDA menos Ra0
movwf TRISA
banksel ADCON1
movlw B'00000000' ;Configuro ADCON1 para Justificacion Izq, divisor relog por 2 deshabilitado,tension de referencia AVDD y AVSS
movwf ADCON1
banksel ADCON0
movlw B'00000001' ;Configuro ADCON0 para Fosc/8, Selecciono canal 0 (RA0/AN0)y hago operativo el módulo convertidor con el último bit a 1
movwf ADCON0
;************************************PRINCIPAL***********************************
clrw
clrf PORTB
clrf VBat1
call Retardo_1s
Conversión1
bsf ADCON0,2 ;Comienzo conversión
call Retardo_10ms
Espero_Conv1
btfsc ADCON0,2 ;Espero a que finalice la conversión
goto Espero_Conv1
movf ADRESL,w ;Conversión efectuada, salvo ADRESH en W
; banksel VBat1
movf VBat1 ;pasamos w a la memoria VBat1
; banksel PORTB
movwf PORTB
call Retardo_5s
; goto Conversión1
Conversión2
clrf PORTB
bsf ADCON0,2 ;Comienzo conversión
Espero_Conv2
btfsc ADCON0,2 ;Espero a que finalice la conversión
goto Espero_Conv2
movf ADRESL,w ;Conversión efectuada, salvo ADRESH en W
movwf VBat2 ;pasamos w a la memoria VBat1
movwf PORTB
Aqui call Retardo_5s ;Retardo
movf VBat1,1
movlw VBat1
movwf PORTB ;Me sale el 20!!!
goto Aqui
end