TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: elecpic en 29 de Octubre de 2014, 22:45:36
-
hola, necesito ayuda con ADC del pic 18f4550, quiero el valor de una temperatura x se vean en mis led, ya simule mi programa en proteus pero aparentemente no sale nada, de ante mano gracias... :)
MOVLW 00H
MOVWF TRISB
MOVLW 07H
MOVWF ADCON0
MOVLW 3BH
MOVWF ADCON1
MOVLW 21H
MOVWF ADCON2
ADC
BSF ADCON0,1
MOVFF ADRESH,PORTB
GOTO ADC
-
mmmm reemplazaria varias cosas ahi, a mi gusto...
La conversion se inicia seteando el bit1 (GO_DONE) de ADCON0, y este se pone a 0 cuando termina la conversion.
A mi gusto y sin interrupciones (solo si fuera para aprender) haria algo asi:
BSF ADCON0,ADON ; Es lo ultimo a activar, asi que tu configuracion a ADCON0 deberia ser 04h
ADC
BSF ADCON0,GO_DONE ;Que comienze la conversion
ADC_ON
BTFSC ADCON0,GO_DONE ; Termino? sino que vuelva a preguntar, termina cuando se pone a 0 ( es decir salta el goto )
GOTO ADC_ON ;
MOVFF ADRESH,LATB ; Escribo el puerto, estos tienen LATx ( generalmente LATx para escribir y PORTx para leer )
GOTO ADC ; Vuelvo a comenzar el proceso de conversion
Espero que asi ande.. si quisieras hacer otra cosa y no ocupar ese tiempo esperando el fin de la conversion deberias de usar una interrupcion que se activa cuando termina la conversion. Imagino que todo lo demas esta seteado.
Por que a ese codigo le falta mas cosas. Por ejemplo no veo donde estas declarando como entrada al pin del A/D como entrada ( BSF TRISA,RA1 (AN1) ) solo las salida, al igual que los vectores de inicio e interrupcion. Pero imagino que pusiste solo una parte del codigo
-
graciaaas!! por ahora solo quiero representarlo en leds, me ha sido de mucha ayuda tu respuesta, ya que soy nueva en esto de los pic's :g)