Programación Específica > Microcontroladores
pic 16f877 convertidor A/D
carlospic:
muchas gracias por tomarse un tiempo en responderme picyo... me es muy util tu respuesta... saludos...
soymoe:
Lo que veo es que te falta algo fundamental que es configurar el oscilador con OSCCON Y OSCTUNE, ademas deberias desactivar los comparadores oescribiendo el COMCON. ademas te faltan algunos movwf. si lees el datasheet, tiene una guia de inicializacion del conversor y un ejemplo de toma de muestra. los datos no los vas a poder mostrar en leds ya que van de 0 a 1024, necesitas un display o lago asi. Aqui va el codigo que yo hice:
InicializeAD
clrf ADRESH;Borro los resultados anteriores
clrf ADRESL;
bsf STATUS,RP0;Selecciono banco 1
movlw b'10000000';ver
movwf ADCON1; selecciono vref y formato de resultado
clrf INTCON; DESHABILITO LAS INTERRUPCIONES
bcf STATUS,RP0;banco 0
movlw b'01000001';ver
movwf ADCON0;seleciono frec conversion y canal
goto fin
Conversion call RETARDO30microS;Espera Time adquisicion
bsf ADCON0,2; empiezo conversion
loop btfsc ADCON0,2; si done sigo
goto loop
MOVF ADRESH,W
MOVWF binH; MUEVO LOS VALORES DEL CONVERSOR A binH
MOVF ADRESL,W
MOVWF binL; MUEVO LOS VALORES DEL CONVERSOR A binL
call RETARDO30microS;Retardo antes de volver a convertir
fin return
Secuencia para llamar:
CALL InicializeAD
CALL conversion
Navegación
[*] Página Anterior
Ir a la versión completa