Autor Tema: Funcionamiento de todos los A/D del 16F876A  (Leído 1827 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado cesarpaez

  • PIC10
  • *
  • Mensajes: 18
Funcionamiento de todos los A/D del 16F876A
« en: 31 de Octubre de 2004, 17:06:00 »
Hola necesito una rutina que ya este probada para que poner a funcionar 4 conversores a/d del pic 16f876A, claro no es que los 4 funcionen al mismo tiempo porque creo que no se puede, aunque si es posible me lo dicen, la idea es que un canal mida la señal, despues conmute al siguiente, y asi sucesivamente hasta que se den los cuatro canales y regrese al primero.

Tengo una pero parece que no funciona, aquí la pongo para que la verifiquen.

Configuracion del conversor

;Configuración de los conersores A/D
   MOVLW      B"00000010"
   MOVWF      ADCON1
   MOVLW      B"1111"
   MOVWF      TRISA

y aquí senso los canales
   CALL      TEMPERATURA
   GOTO      $-1


TEMPERATURA
   MOVLW      .31
   MOVWF      REFER_1
   MOVLW      B"01000001"
   MOVWF      ADCON0
   CALL      RET_AD
   CALL      MEDIR
   MOVLW      B"01001001"
   MOVWF      ADCON0
   CALL      RET_AD
   CALL      MEDIR
   MOVLW      B"01010001"
   MOVWF      ADCON0
   CALL      RET_AD
   CALL      MEDIR
   MOVLW      B"01011001"
   MOVWF      ADCON0
   CALL      RET_AD
   CALL      MEDIR
   RETURN
            
MEDIR
   BSF      ADCON0,GO
   BTFSC      ADCON0,GO
   GOTO      $-1
   MOVF      ADRESL,0
   SUBWF      REFER_1,0
   BTFSC      STATUS,C
   RETURN
   GOTO      MAYOR_REF
   RETURN

RET_AD   ; RETARDO DE 0.255mS
   MOVLW      0xFF
   MOVWF      T1
   DECFSZ      T1,1
   GOTO      $-1
   RETLW      .0

lo probé y no funciona, si tienen algo que modificar me dicen o si tiene otra mejor que esta me la envian a cesarpaez08@yahoo.es

Gracias Rebotado

Desconectado fenix_jn

  • PIC18
  • ****
  • Mensajes: 418
RE: Funcionamiento de todos los A/D del 16F876A
« Respuesta #1 en: 01 de Noviembre de 2004, 10:28:00 »
Efectivamente, es imposible que se activen los 4 A/D al mismo tiempo, eso es porq la entrada de señal (VAIN) es multiplexada en funcion de las 5 entradas analogicas (en el caso de este pic, en el 874/7 son 8), acerca del no funcionamiento, bueno he notado que la frecuencia de conversion es TOSC/8, esto es valido si usas un clock de 4 a 5 MHz. pero se vuelve totalmente incorrecto con 20 MHz. debes mantener un TAD de al menos 1.6 µS (segun lo q se encuentra en la hoja de datos del fabricante), esto es 625 KHz. por cada bit del conversor, es posible q tu proyecto este funcionando por encima de los 5 MHz.? si es asi debes considerar configurar ADCON0 como 11xxxxxx para obtener TOSC/32 no importa que el periodo t kede mas grande que 1.6 µS.

De todas maneras te recomiendo que te revises la hoja de datos del fabricante para ver otras posibilidades: http://ww1.microchip.com/downloads/en/DeviceDoc/30292c.pdf

Desconectado cesarpaez

  • PIC10
  • *
  • Mensajes: 18
RE: Funcionamiento de todos los A/D del 16F876A
« Respuesta #2 en: 01 de Noviembre de 2004, 12:46:00 »
La frecuanci a la que estoy trabajando es de 4Mhz.

Desconectado fenix_jn

  • PIC18
  • ****
  • Mensajes: 418
RE: Funcionamiento de todos los A/D del 16F876A
« Respuesta #3 en: 01 de Noviembre de 2004, 13:18:00 »
bueno, entonces deberias explicar mas detalladamente de q se trata el "no funciona", es decir, se trata de q no hay salida en los registros? o la rutina no funciona como debe en el sentido de que no se ejecuta linealmente?, asi podremos ayudarte a ver cual es el problema

Desconectado rferrero

  • PIC16
  • ***
  • Mensajes: 113
RE: Funcionamiento de todos los A/D del 16F876A
« Respuesta #4 en: 01 de Noviembre de 2004, 16:04:00 »

   Por qué no pruebas en C?? Ahí sí que es mucho más sencillo.
   Un saludo.  Rebotado

Desconectado cesarpaez

  • PIC10
  • *
  • Mensajes: 18
RE: Funcionamiento de todos los A/D del 16F876A
« Respuesta #5 en: 02 de Noviembre de 2004, 18:28:00 »
Bueno como ven lo ue hago es verificar el puerto, medir el voltaje, compararlo con un valor de referencia y si se cumple una condición salta a un punto, si no salta a otro. Cuando en cualquiera de las entradas coloco un nivel que pasa el dato de referencia no pasa nada, o sea, no debe estar haciendo la conversión adecuadamente.

Desconectado lafe

  • PIC10
  • *
  • Mensajes: 40
RE: Funcionamiento de todos los A/D del 16F876A
« Respuesta #6 en: 02 de Noviembre de 2004, 21:50:00 »
Hola a todos
mira el registro adcon1 el bit adfm es el de justificacion de como se van a sacar los datos por adresh y adresl , que tambien no estan  en el mismo banco creo que el adresh esta en el banco cero y el adresl en banco uno en el 876 bueno eso creo
,sino ya alguien podra aclarar.
SALU2


 

anything