TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: arielbaravalle en 22 de Agosto de 2003, 14:55:00
-
hola amigos!

tengo un problemita a ver si me pueden dar una mano.
estoy aprendiendo a usar el conversor A/D del pic16f76 y logre hacer que convierta , pero no logro hacer que convierta mas de 1 ves, ya intente poner retardos por todos los lados y de apagar el conversor y hasta de poner un goto al inicio mismo del programa.
pero no hay forma , me hace una conversion y luego el programa se queda blokeado , no me hace nada mas.
si alguno me da una idea de que puede ser lo agradecere muchisimo.
saludos a todos !!
Ariel (Argentino y vivo en Madrid)
les paso el codigo de la parte de conversion a ver si le ven algo raro.
ini:
call delaymin
bcf ADCON1,PCFG2
bcf ADCON1,PCFG1
bcf ADCON1,PCFG0
call delaymin
bcf ADCON0,ADCS1
bcf ADCON0,ADCS0
call delaymin
bsf ADCON0,ADON ;ENCIENDO EL AD
call delaymed
bsf ADCON0,GO_DONE ;INICIA CONVERSION
wait:
btfsc ADCON0,GO_DONE ;verifica el fin de la conversion
goto wait
movfw ADRES
movwf LO
call LCDval08 ;escribo dato en lcd como decimal
call delaymin
goto ini
-
Hola Arielbaravalle
la verdad es que no especificas la frecuencia de trabajo del micro, ya que de eso depende mucho la configuracion de ADCS0,ADCS1.
No se para que usas el call delaymin en la conversion, ya que creo que no lo necesita.
configuras PCFG2,PCFG1 y PCFG0 como 0,¿y PCFG3 ¿cuanto vale?
¿y CHS2,CHS1 y CHS0? de ADCON0 no se si lo has configurado pero son los bit que seleccionan el canal de coversion.
no se como ayudarte,necesito mas datos.si necesitas ayuda entre todos te ayudaremos
animo y saludos










