Autor Tema: Conversor A/D  (Leído 6771 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Enigma

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 609
    • www.toroscoleados.com
Re: Conversor A/D
« Respuesta #15 en: 29 de Julio de 2007, 17:21:31 »
HOla Gente que tal.... bueno todavia sigo con el ADc, y disculpen el fastidio, pero es que quede muy picada, y bueno aquí me tienen insistiendo... jejejeje.... les echo el cuento, estuve compilando y compilando y cooompilando y bueno el programa no me muestra nada en la LCD, estuve verificando y chequeando las partes del programa haber por donde era que no esta pasando el compilador o por donde era que se estaba quedando pegado el programa... y bueno resulta y acontece que se está quedando pegado en esta partesita que les voy a colocar en rojo.... por favor ustedes que son los pipis y los huevos en micro me pueden decir que tengo malo jejejejeje... si ven una burrada (que a lo mejor está  :?) recuerden que soy nueva en esto y bueno ya saben.... :-/.... el programa compila fino, pero cuando lo simulo en Proteus se me queda pegado en lo que esta en rojo.....

aqui les dejo el programa..... jijijji (Adjunto)  :D


CHEQUEO
                         BTFSC      ADCON0,2          ; TERMINO LA CONVERSION?
                         GOTO       CHEQUEO         ; NO. VUELVO A PREGUNTAR
                         BCF   ADCON0,2         ; APAGO LA CONVERSION
                         MOVF   ADRESL,W         ; SI. MUEVO LA CONVERSION A W
                         MOVWF   REG         ; MUEVO LA CONVERSION A REG


Atte: Enigma... La llanerita de Guayana :P

« Última modificación: 29 de Julio de 2007, 17:25:35 por Enigma »
No hay nada como cabalgar en la sabana y sentir la brisa con olor a mastranto, bosta y ganado. ¡¡O Fortuna, velut luna, status variabilis, semper crescis, aut decrescis, vita detestabili!! Que viva el coleo, la musica LLanera y la gótica!

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: Conversor A/D
« Respuesta #16 en: 30 de Julio de 2007, 01:05:08 »
fuerza llanerita!!!! :mrgreen:
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: Conversor A/D
« Respuesta #17 en: 30 de Julio de 2007, 01:47:43 »
INICIO
         BSF   STATUS,RP0         ; ME CAMBIO AL BANCO 1
         CLRF    ADCON1            ; ENTRADAS ANALOGICAS, JUSTIFICACIÓN  A LA IZQUIERDA
         MOVLW   b'00011001'         ; FOSC/2, CANAL 3
         MOVWF   ADCON0            ; (RA3/AN3)
         CLRF   PORTA            ; LIMPIO EL PUERTO A
         MOVLW   0XFF            ;
         MOVWF   TRISA            ; PUERTO A COMO ENTRADA
         BCF   STATUS,RP0         ; VUELVO AL BANCO 0
         CALL   LCD_INI            ; INICIA LA LCD
                                                ....

Donde LCD_INI es:

;-----------------RUTINA DE INICIO DEL LCD---------------------------------
LCD_INI
          MOVF     STATUS,W       ; MUEVE A W LO QUE ESTA EN STATUS (ESTADO DEL LCD)
          MOVWF    STATUS_LCD     ; GUARDA LA VARIABLE STATUS
          BSF      STATUS,RP0   ; CAMBIA AL BANCO 1
          BCF      STATUS,RP1     ; CAMBIA AL BANCO 1
          MOVLW    0X06          ; MUEVO SEIS A W
          MOVWF    ADCON1         ; CONFIGURA EL PUERTO A COMO DIGITAL

                                                ;a partir de aquí los pines del puerto A son digitales. imposible realizar una conversion A/D!!!
          MOVLW    0XF8           ; PARA CONFIGURAR EL PUERTO
          MOVWF    TRISA          ; CONFIGURA EL PUERTO A (RA7-RA3 ENTRADAS Y RA2-RA0 SALIDAS)

"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado Enigma

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 609
    • www.toroscoleados.com
Re: Conversor A/D
« Respuesta #18 en: 03 de Agosto de 2007, 13:59:12 »
Oppps!!!! jijijijiiji  :? bueno un errorsote lo comete cualquiera..... gracias por la corección chicos!!!!!
jejejeje

Atte: Enigma.... La llanerita de Guayana :P
No hay nada como cabalgar en la sabana y sentir la brisa con olor a mastranto, bosta y ganado. ¡¡O Fortuna, velut luna, status variabilis, semper crescis, aut decrescis, vita detestabili!! Que viva el coleo, la musica LLanera y la gótica!

Desconectado Juan_PIC

  • PIC12
  • **
  • Mensajes: 84
Re: Conversor A/D
« Respuesta #19 en: 17 de Agosto de 2007, 22:10:42 »
haber apliquemos la formula para los siguientes datos:
Vref+ = 5V
Vref - = 0V
(Vref+) - (Vref-) = 5V

      (Vref+) - (Vref-)             =    5     = 0.004887.... = k
maxima resolución de 10bits      1023 

listo, ahora para 2.5V que valor arrojara el conversor?
hacemos: 2.5/k = d' 511.5 ' = 0X1FF
ordenando datos para una justificación a la izquierda:
01 1111  1111

ADRESH = 0111 1111 = 0X7F
ADRESL = 11

como has calculado amigo ernestal? porq no veo algu ndetalle erroneo en tu codigo y ademas el resultado te sale como en el ejemplo.  :-/ esperamos tu respuesta  :-)


Hola microcadaver. Aca me parece que hay que hacer una correcion. Cuando decis "maxima resolucion de bits 1023", la cantidad de combinaciones son 2^10, osea 1024. lo que daria:

5/1024 = 0.004882812 = k

2.5/k = d' 512 ' = 0X1FF

Diganme si esta bien la correccion o meti la pata porfa!

Saludos! :-/
Cuando se ponen límites, la mente humana comienza a buscar maneras de romperlos.

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: Conversor A/D
« Respuesta #20 en: 18 de Agosto de 2007, 00:38:23 »
estas seguro que D'512' = 0X1FF ?

segun mi calculadora sale 0X200
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado Fer_TACA

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4069
Re: Conversor A/D
« Respuesta #21 en: 20 de Agosto de 2007, 13:23:06 »
Segun la mia tambien d'512' = 0x200 en hexadecimal.
Fermin
Todos los días se aprende algo nuevo.

Desconectado motordecontinua2

  • PIC10
  • *
  • Mensajes: 1
Re: Conversor A/D
« Respuesta #22 en: 20 de Agosto de 2007, 17:06:04 »
Hola amigos. Si, microcadaver tiene razon, confunfi unos conceptos. Espero no haber creado dudas en otros ^^.

PD: Tarde en responder porque tengo unos problemas de coneccion con el foro, y ahora milagrosamente logre entrar. cuando trato de ingresar, me aparece una pantalla blanca que dice algo asi como de bad gateway. A alguien mas le pasa? Por favor ayuda.

PD2: Se que estoy violando una regla del foro, y tendria que abrir un nuevo tema, pero por miedo a perder la coneccion, lo dejo aca. Por favor sepan entender. Cualquier cosa mi Email es: juan_manuel_boga@hotmail.com    Gracias!

Ahh otra cosa. "motordecontinua2" es un usuario alternativo que cree para ver si podia entrar. En cuanto se solucione el problema con "motordecontinua" por favor borren "motordecontinua2".
« Última modificación: 20 de Agosto de 2007, 17:08:06 por motordecontinua2 »

Desconectado poseidon20

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 762
Re: Conversor A/D
« Respuesta #23 en: 24 de Agosto de 2007, 17:22:56 »
Buenas a todos, espeor no molestarlos con mis pequeños problemas. lo que trato de hacer es leer por el CH0 un valor analogo y luego ponerlo en el puerto B para ver su valor en binario. Mi duda es: si el valor del AD es de 10 bits, yo solo quiero 8 bits ¿como puedo hacer esto?. Gracias ante todo.

Código: ASM
  1. ;Conversor A/D del 16F877A
  2. ;CRISTAL : 20Mhz
  3.  
  4.                 LIST    P=16F877A
  5.                 INCLUDE<P16F877A.INC>
  6.  
  7.                 __CONFIG _CP_OFF  & _WDT_OFF & _BODEN_OFF & _HS_OSC  & _WRT_OFF & _LVP_OFF & _DEBUG_OFF
  8.  
  9.  
  10.                 ORG             0000H
  11.                
  12.  
  13.                 BSF     STATUS,RP0              ;BANCO 1
  14.                 CLRF    TRISB                   ;PORTB = SALIDA
  15.                 MOVLW   B'11111111'             ;PORTA = ENTRADA
  16.                 MOVWF   TRISA
  17.                 BCF     STATUS,RP0              ;BANCO 0
  18.  
  19.                 CALL    Inicializa_AD
  20. REPIT
  21.                 CALL    GO_AD
  22.                 MOVWF   PORTB
  23.                 GOTO    REPIT
  24.  
  25. ;********************************************
  26. Inicializa_AD
  27.                 BSF     STATUS,RP0              ;BANCO 1
  28.                 MOVLW   B'10000000'             ;JUSTIFICACION A LA DERECHA
  29.                 MOVWF   ADCON1                  ;TODO EL PORTA COMO ENTRADA ANALOGA
  30.                 BCF     STATUS,RP0              ;BANCO 0
  31.                 MOVLW   B'11000001'             ; CLOCK = RC,ENTRADA ANALOGA "0", AD ENCENDIDO
  32.                 MOVWF   ADCON0
  33.                 RETURN
  34.  
  35. GO_AD
  36.                 BCF     STATUS,RP0              ;BANCO 0
  37.                 BSF     ADCON0,GO_DONE          ;INICIO LA CONVERSION
  38.                 BTFSC   ADCON0,GO_DONE          ;ESPERO QUE TERMINE LA CONVERSION
  39.                 GOTO    $-1
  40.                 BSF     STATUS,RP0              ;BANCO 1
  41.                 MOVF    ADRESL,W
  42.                 BCF     STATUS,RP0              ;BANCO 0
  43.                 RETURN
  44.  
  45.  
  46.                 END


Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: Conversor A/D
« Respuesta #24 en: 24 de Agosto de 2007, 17:24:44 »
tienes que configurar la justificacion del resultado del conversor en el ADCON1, revisa el datasheet en la parte del modulo a/d. Saludos  :-/
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com


 

anything