Autor Tema: Explicacion sobre la funcionalidad de un comando para ADC  (Leído 1288 veces)

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

Desconectado EDSDAN

  • PIC10
  • *
  • Mensajes: 1
Explicacion sobre la funcionalidad de un comando para ADC
« en: 28 de Octubre de 2017, 03:58:53 »
Buenas con todos, antes que nada agradecer de ante mano por sus respuestas y su ayuda, seguido de eso les comento mi interrogante:

Estoy empezando a programar con PIC's con el picc, ahora mismo me encuentro haciendo un proyecto con el pic 16f877a y estoy trabajando con los ADC del microcontrolador pero he leido que, en  mi programa, debo especificar siempre la configuración del mismo (ADC) con el comando:

 "setup_adc(mode)"

y las opciones para ello son mode =
 --> ADC_OFF                                                                       
 --> ADC_CLOCK_DIV_2                                                             
 --> ADC_CLOCK_DIV_8                                                         
 --> ADC_CLOCK_DIV_32                                                           
 --> ADC_CLOCK_INTERNAL           

El problema es que no sé para que sirven cada una de esas opciones o como utilizarlas, si alguien puede explicarme en que casos se usa cada opcion se lo agradeceria mucho.  :cheesy:

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Explicacion sobre la funcionalidad de un comando para ADC
« Respuesta #1 en: 28 de Octubre de 2017, 12:12:07 »
Como todo periferico dentro del microcontrolador  (puertos, SPI, Timers, etc) que dicta la velocidad con que avanza el mismo, necesitas de una entrada de reloj.

En el caso del ADC ese reloj luego es usado para dictar cuando es que toma otro bit el ADC y lso tiempos de adquisicion. Entonces uno pensaria en seleccionar la mayor frecuencia posible ya que eso te permitiria tomar las medidas super rapidas. El problema esta en que el ADC necesita si o si un tiempo minimo para garantizar que los valores tomados sean los correctos.

No recuerdo pero creo que el tiempo minimo en la mayoria es de 1us , De aca se desprende que podes elegir 2 fuetnes de reloj, uno es el oscilador principal ( sea interno o por cristal ) y otro que posee el ADC que es un RC. El que posee el ADC ( ADC_CLOCK_INTERNAL ) tenes garantizado que cumple los tiempos, mientras que para usar el oscilador principal deberas calcular el periodo luego de dividirlo para ver si cumple con los tiempos exigidos por el ADC



 

anything