Hola
Tengo un 16F877A y estoy haciendo pruebas infructuosas para convertir un voltaje que entra por AN0 en digital, el voltaje est=E1 en un rango
4,20~5,00 v.Cuando energizo el PIC, los 10 bits de ADRH y ADRL quedan en alto aunque cambie el voltaje de AN0. Escrib=ED el procedimiento de adquisici=F3n como indica el datasheet, y estoy en un punto muerto, no se por donde continuar.
El proceso que realizo es el siguiente:
ADbyte_bajo equ 0x23 ADbyte_alto equ 0x24
Dormir nop call TestBateria call Tmp100us ; retardo 100 useg goto Dormir
TestBateria bcf STATUS, RP1 bsf STATUS, RP0 bsf ADCON1, PCFG3 bsf ADCON1, PCFG2 bsf ADCON1, PCFG1 bcf ADCON1, PCFG0 bcf ADCON1, ADFM bcf STATUS, RP1 bcf STATUS, RP0 bcf ADCON0, CHS2 bcf ADCON0, CHS1 bcf ADCON0, CHS0 bcf STATUS, RP1 bsf STATUS, RP0 bsf ADCON1, ADCS2 bcf STATUS, RP1 bcf STATUS, RP0 bsf ADCON0, ADCS1 bsf ADCON0, ADCS0 bsf ADCON0, ADON bcf PIR1, ADIF bsf PIE1, ADIE call Tmp25us ; retardo 25 useg bsf ADCON0, GO_DONE return
; atenci=F3n de la int SDI btfss PIR1, ADIF goto SDI_Fin_AD movlw ADRESH movwf ADbyte_alto movlw ADRESL movwf ADbyte_bajo bcf PIR1, ADIF call EscrBatLed retfie
ADbyte_alto y ADbyte_bajo los escribo en RC y RD (pines 21 a 30)
Muchisimas gracias por cualquier ayuda o pista.
Saludos.-