TODOPIC

Microcontroladores PIC => Almacén del Assembler => Mensaje iniciado por: SimonMG en 02 de Agosto de 2006, 22:19:40

Título: Como usar el ADC de los pic?
Publicado por: SimonMG en 02 de Agosto de 2006, 22:19:40
la verdad q estoy confundido con sto :?, agradeceria q me ayudaran con este tema tanto como calculos como el cuerpo del programa, muchas gracias y saludos
Título: Re: Como usar el ADC de los pic?
Publicado por: AKENAFAB en 02 de Agosto de 2006, 23:09:37
HOLA!!

Primero deberias de decirnos que pic vas a utilizar, cual es tu duda especifica y  el lenguaje de programacion que manejas.


De antemano te digo que es sensilla la configuración.

Hasta luego. :-)
Título: Re: Como usar el ADC de los pic?
Publicado por: Nocturno en 03 de Agosto de 2006, 05:04:12
Para que podamos ayudarte deberías concretar más tu problema.

No obstante, si lo que quieres es información genérica sobre el ADC, te recomiendo que veas la Wiki-PIC (http://wiki-pic.elrebujito.es) de El Rebujito (http://www.elrebujito.es).
Título: Re: Como usar el ADC de los pic?
Publicado por: SimonMG en 03 de Agosto de 2006, 12:27:18
utilizo el PIC 16F84A queria información de como funciona y claro un ejemplo de como tomar el valor de una entrada y como utilizarla como por emj control de temp, servomotores etc... gracias y saludos :D
Título: Re: Como usar el ADC de los pic?
Publicado por: SimonMG en 03 de Agosto de 2006, 12:34:11
Por deducción creo q la información recibida del ADC c guarda en W y despues paso la información de w a PORTB  :?
Título: Re: Como usar el ADC de los pic?
Publicado por: LeSs en 03 de Agosto de 2006, 12:49:30
Salu2!

el pic 16f84a no tiene entradas ADC, para utilizar este micro debes utilizar un convertidor ADC externo, para que tengas una idea adui te dejo un link.

http://www.pic16f84a.com/Proteus.htm

espero sea de tu ayuda!
Título: Re: Como usar el ADC de los pic?
Publicado por: SimonMG en 03 de Agosto de 2006, 14:31:45
sino es con el 16F84a Como es entonces con el 16F876a (ese si tiene adc)
Título: Re: Como usar el ADC de los pic?
Publicado por: microcom en 03 de Agosto de 2006, 17:15:12

convertidor analogo digital
las senales analogas que tienen como entrada a los pines del puertA en el pic 16f876. para poder visualizar o controlar variables> temperatura, presion, iluminacion, etc.
los registros mas usuales
adcon1
adcon0
option
las señales son acondicionadas por software o hardware para que te resulte lo que deseas en realidad.
si lees donde te dicen los compañeros iras despejando dudas Wiki-PIC .  ........
para ver......................... 
yo he  hecho tan solo unas aplicaciones con estas caracteristicas
Título: Re: Como usar el ADC de los pic?
Publicado por: maunix en 03 de Agosto de 2006, 17:32:57
sino es con el 16F84a Como es entonces con el 16F876a (ese si tiene adc)

En assembler o en C? En assembler está explicado paso a paso en el datasheet aunque no recuerdo si está el código.

En C, puedes darte una vuelta por los ejemplos para el 16F876A en el subforo de Lenguaje C.

Título: Re: Como usar el ADC de los pic?
Publicado por: SimonMG en 03 de Agosto de 2006, 23:21:32
es en assembler ademas fijence tengo 17 años en 2 semanas aprendi a manejar las salidas y entradas de los PIC, revisaré el data del PI16f876a para ver si allo como utilizar el ADC lo q en verdad quiero es q me muestren un programa sencillo de como manejar el ADC con dicho pic y e como manejar los valores  :D
Título: Re: Como usar el ADC de los pic?
Publicado por: LeSs en 04 de Agosto de 2006, 00:23:08
ok!

recien hice un sensor de temperatura con un 870 pero son compatibles solo debes cambiar el include de los registros ahora lo subo para que lo revises.
Título: Re: Como usar el ADC de los pic?
Publicado por: SimonMG en 04 de Agosto de 2006, 13:10:35
para experimentar quiero usar un potenciometro con el cual pueda variar el volaje  solo para experimentar, y como arrojar los valores por el Portb  :D un millon e gracias por su ayuda  :-/ :mrgreen:
Título: Re: Como usar el ADC de los pic?
Publicado por: microcom en 04 de Agosto de 2006, 15:37:55
mira esto para un potenciometro en rao.
disculpas por las mayusculas

LIST    P=16F873
   #INCLUDE<P16F873.INC>
   ;DECLARACION DE VARIABLES

PCL     EQU     02
STATUS   EQU   03
PORTA   EQU   05
PORTB   EQU   06
ADCON0  EQU     1F
ADRESL   EQU   9E
ADRESH   EQU   1E
INTCON   EQU   0B
JAI_LOW   EQU   22
JAI_HIG   EQU   23
REG1   EQU   28
REG2   EQU   29
REG3   EQU   2A
      ;BITS DE CONVERSION ANALO DIGITAL
ADIF   EQU   6   
GODONE   EQU   2
ADON   EQU   0
ADFM   EQU   7

   ORG   00
   GOTO   INICIO

RETAR   MOVLW   .180
   MOVWF   REG2
DEC5   MOVLW   .160
   MOVWF   REG3
DEC6   DECFSZ   REG3,1
   GOTO   DEC6
   DECFSZ   REG2,1
   GOTO   DEC5
   RETURN


RETARD   MOVLW   .100   
   MOVWF   REG1
   nop
   nop
   nop
   nop
DEC9   DECFSZ   REG1,1
   GOTO   DEC9
   RETURN
INICIO
   BSF   STATUS,5
   BCF   STATUS,6
   CLRF   PORTB      ;SALIDA A LOS LEDS
   MOVLW   B'00000001'   ;RA1 RA2 SALIDAS A LOS LEDS ADRESH
   MOVWF   PORTA
CONVERSIONANALOGODIGITAL
   MOVLW   B'10001110'   ;RA0 ANALOGO JUSTIFICACION LOS OCHO             ;PRIMEROS
   MOVWF   ADCON1      ;BITS DE ADRESL Y DOS BITS DE ADRESH.             ;RA0 ANALOGO
   BCF   STATUS,5   ;RA1 RA2 DIGITAL.
EEE   MOVLW   B'10000001'   ;FOSC/32 CANALRA0   
   MOVWF   ADCON0
   CALL   RETARD      ;RETARDO DE PROGRAMACION
   BCF   PIR1,ADIF   ;BORRAR INDICADOR DE FIN DE CONVERSION
   BSF   ADCON0,GODONE   ;COMIENZA CONVERSION.
   CALL   RETARD
E   BTFSS   PIR1,ADIF   ;¿TERMINÒ CONVERSION? (SI ADIF=1) (NO             ;ADIF=0)   
   GOTO   E      ;SI LA CONVERSION NO HA TERMINADO ADIF             ;=0
   BSF   STATUS,5   ;CAMBIO A BANCO1 PARA ACCEDER A ADRESL
   MOVF   ADRESL,0   ;LOW PARTE
   BCF   STATUS,5   ;ACCEDO A BANCO0 PARA MOVER RESULTADO A             ;JAI_LOW   
   MOVWF   JAI_LOW
   MOVWF   PORTB      ;MUESTRO CONVERSION EN LEDS,CADA             ;CONVERSION EQUIVALE
   CALL   RETAR      ;AL VALOR (BINARIO_DECIMAL x             ;4.88mv/bits) O SEA
   MOVF   ADRESH,0   ;SALIDA DIGITAL B'0011100101' ENTRADA             
;ANALOGA=......   
   MOVWF   JAI_HIG      ;(229X4.88=1.117VOLTIOS APROX).
   BCF   STATUS,0   ;RAO ES ENTRADA ANALOGA, RA1 Y RA2             ;VISUALIZAN 
   RLF   JAI_HIG,0   ;LA PARTE ALTA DE LA CONVERSION POR ESO             ;ROTO
   MOVWF   PORTA      ;A LA IZQUIEDA EL RESULTADO "ADRESH"
   CALL   RETAR
   GOTO   CONVERSIONANALOGODIGITAL
   END
Título: Re: Como usar el ADC de los pic?
Publicado por: SimonMG en 04 de Agosto de 2006, 15:42:48
muchas gracias por su ayuda, bueno ¡A ESTUDIAR!  :mrgreen:
Título: Re: Como usar el ADC de los pic?
Publicado por: SimonMG en 04 de Agosto de 2006, 16:01:46
c ve sencillo  :shock: veo luz!  :D
Título: Re: Como usar el ADC de los pic?
Publicado por: LeSs en 05 de Agosto de 2006, 20:24:55
Aqui tienes un ejemplo de como utilizar varios canales ADC al mismo tiempo, espero t sirva.
para una mejor simulación te aconsejo utilices una fuente en DC para cada entrada, por que te facilita un rango más amplio que el de un potenciometro, pero si lo implementas te vbien los potenciometros.
Título: Re: Como usar el ADC de los pic?
Publicado por: SimonMG en 06 de Agosto de 2006, 22:56:13
Muchas gracias me sirve para proyectos futuros, pero todavia no porq no c casi nada de eso aun estoi estudiando y desifrando el anterior :-/
Título: Re: Como usar el ADC de los pic?
Publicado por: johnnybravo en 15 de Febrero de 2007, 10:33:29
saludos amigo microcom
gracias por ese ejemplito bien explicado
tengo una pequeña duda .. si solo quisiera una conversion Analógico-Digital de ese pin con una precisión de 8 bits y no 10, me bastaria con solo leer el ADRESL y olvidarme del ADRESH (por no decir que no lo tomariamos en cuenta)....
perdon si la pregunta es ovia.. pero quisiera saber si estoy en lo correcto.
gracias por todo
Título: Re: Como usar el ADC de los pic?
Publicado por: Nocturno en 15 de Febrero de 2007, 12:28:10
Los bits que tienes que descartar son los menos significativos, y con lo que propones descartarías los más significativos.
Título: Re: Como usar el ADC de los pic?
Publicado por: ascii en 15 de Febrero de 2007, 12:30:03
johnny ADRESL se refiere a la parte baja y ADREH a la parte alta.
Título: Re: Como usar el ADC de los pic?
Publicado por: maunix en 15 de Febrero de 2007, 14:43:35
tengo una pequeña duda .. si solo quisiera una conversion Analógico-Digital de ese pin con una precisión de 8 bits y no 10, me bastaria con solo leer el ADRESL y olvidarme del ADRESH (por no decir que no lo tomariamos en cuenta)....
perdon si la pregunta es ovia.. pero quisiera saber si estoy en lo correcto.

Debes usar

. Justificación Izquierda
. Leer el ADRESH

El resto de la configuración del módulo es igual.

Saludos
Título: Re: Como usar el ADC de los pic?
Publicado por: johnnybravo en 16 de Febrero de 2007, 21:50:36
Oh gracias por la respuesta... lo estaba probando y me equivoque.. tu estas en lo cierto... gracias por todo
Título: Re: Como usar el ADC de los pic?
Publicado por: RCADCB8 en 20 de Mayo de 2015, 14:06:31
como configuro el ADC del PIC 18f4580 para hacer una conversion de analogica a digital
Título: Re: Como usar el ADC de los pic?
Publicado por: KILLERJC en 20 de Mayo de 2015, 14:29:11
como configuro el ADC del PIC 18f4580 para hacer una conversion de analogica a digital

En el datasheet de tu PIC
http://ww1.microchip.com/downloads/en/devicedoc/39637c.pdf

Bajo el titulo de:
10-BIT ANALOG-TO-DIGITAL CONVERTER (A/D) MODULE

dice que cuenta con 5 registros:

• A/D Result High Register (ADRESH)
• A/D Result Low Register (ADRESL)
• A/D Control Register 0 (ADCON0)
• A/D Control Register 1 (ADCON1)
• A/D Control Register 2 (ADCON2)

y luego aparecen los registros uno por uno, con las funciones de cada bit.
ADCON1 te permite seleccionar cuales de las entradas va a ser analogicas y cuales digitales, tambien cual es la referencia de tension que usas del ADC VCC/GND o Vref+/Vref- si es que le pones una referencia externa.
ADCON2 te permite modificar los tiempos del ADC, para comnzar lo podrias alimentar desde el mismo RC que tiene el ADC, asi no te complicas con las frecuencias, tambien esta la opcion de justificado izquierdo o derecho.
ADCON0 finalmente seleccionas el canal ( dentro de los que estan habilitados como analogicos por ADCON1 ) y activas el modulo. Cuando queres iniciar una conversion pones a 1 el bit GO/DONE y esperas que este se ponga en 0, cuando se puso en 0 quiere decir que termino y podes leer lo de ADRESH:ADRESL

De todas formas al final de la seccion de cada modulo en el datasheet, aparecen TODOS los registros y bits que afectan a cada modulo.
Título: Re: Como usar el ADC de los pic?
Publicado por: RCADCB8 en 20 de Mayo de 2015, 16:47:09
gracias