Programación Específica > Microcontroladores

 pic 16f877 convertidor A/D

<< < (2/2)

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

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa