You are on page 1of 2

Compilador C CCS y simulador PROTEUS para

microcontroladores PIC, Convertidor Analógico –


Digital
José Alejandro Huerta Cote
Universidad Politécnica de Tlaxcala
A. Universidad Politecnica No.1, San Pedro Xalcaltinco, Tepeyanco, Tlax.
90180
Ing. Mecatrónica 5° “C”
alexredbirdc@gmail.com

Resumen- Los microcontroladores PIC pueden incorporar un En el caso de que la 𝑉𝑅𝐸𝐹+ = 𝑉𝐷𝐷 y 𝑉𝑅𝐸𝐹− = 𝑉𝑆𝑆 entonces
módulo de conversión de señal analógica a una señal digital. Que la resolución es:
es de mucha ayuda para poder usar los sensores que
normalmente reciben una señal continua.
5
𝐿𝐵𝑆 =
Palabras clave- CCS, PROTEUS, puerto, conversión, 1024 = 4.8𝑚𝑉
analógico, PIC, digital, SLEE´, MODULO .
De esta forma si la lectura es de 512 LSB, la tensión
I. INTRODUCCIÓN
analógica leída es:
Los módulos AD que utiliza Microchip en sus 5
microcontroladores hacen un muestreo y retención con un 𝑉𝐼𝑁 = 512 ∙ = 512 ∙ 4.8𝑚𝑉 = 2.45 𝑉
1024
condensador y después utiliza el módulo de conversión. El
módulo de conversión A/D es del tipo de aproximaciones
sucesivas este se utiliza en aplicaciones donde se necesitan III. REGISTROS FSR
altas velocidades de conversión. Se basa en realizar sucesivas
Hay 11 registros asociados a este periférico:
comparaciones de forma ascendente o descendente hasta
encontrar un valor digital que iguale la tensión entregada por
Definición de pines de entrada y señales aplicadas:
el conversor D/A y la tensión de entrada.
 TRISA – PORTA – TRISE – PORTE.
Manejo de interrupciones:
El módulo de conversión se caracteriza por parámetros
como los siguientes:  INTCON – P1E1 – P1R1
Control del conversor A/D
 Rango de entrada.  ADCON0 – ADCON1 – ADRESH – ADRESL.
 Número de bits.
IV. PROCESO DE CONVERCION
 Resolución.
 Tensión de fondo de escala. Para realizar la conversión, MICROCHIP recomienda
 Tiempo de conversión. seguir los siguientes pasos:
 Error de conversión.
1.Configurar el módulo A/D
II. MODULO CONVERTIDOR GAMA MEDIA a. Configuración de pines analógicos/tensión de
referencia /E/S digitales (ADCON1).
El modulo convertidor A/D en la gama media posee hasta b. Selección de la entrada A/D (ADCON0).
8 entradas analógicas. c. Selección de reloj para la conversión A/D
(ADCON0).
La función de transferencia del convertidor A/D es el d. Habilitar módulo A/D (ADON (ADCON0>0<)
resultado de que la primera transición ocurra cuando la tensión
analógica de entrada es igual a V REF/1024. 2.Configurar las interrupciones (si se desea):
a. ADIF =0;
La resolución vendrá dada por la siguiente ecuación: b. GIE = PEIE = ADIE = 1.

3.Esperar el tiempo de adquisición.


𝑉𝑅𝐸𝐹+ − 𝑉𝑅𝐸𝐹−
𝐿𝑆𝐵 = 𝑉𝑅𝐸𝐹− + ( )
1024 4.Comenzar la conversión poniendo a ‘1’ el bit
GO/DONE(ADCON0<2>).
5.Esperar a que termine la conversión. Puede ser de dos set_adc _channe llcanall;
formas:
a. Mediante lectura continua del bit GO/DONE canal: Selección del canal analógico correspondiente a los bits
hasta que sea ‘0’, indicando el fin de la 5:3 de ADCON0.
conversión.
b. Esperando a la interrupción. valor = read_adc();

6.Leer el registro de conversión ADRES y borrar en flag ADIF Lectura del resultado donde valor es un entero de 16 bits según
si es necesario. la directiva # DEVICE ADC- empleada. Dicha directiva
trabaja según la tabla 2.
Existen dos tiempos básicos de trabajo: el tiempo de
adquisición (TACQ) y el tiempo de conversión TAD.

 •Tiempo de adquisición (TACQ): tiempo necesario


para que se cargue el condensador de retención
(CHOLD) con la tensión de entrada.
 •Tiempo de conversión (TAD): tiempo necesario para
obtener el valor digital de la tensión analógica de
entrada. Este tiempo depende de la fuente de reloj que
se seleccione para la conversión.

V. EFECTO DEL MODO SLEEP Y RESET EN EL Tabla 2.


MODULO AD
VII. CONCLUSIONES
En el modo dormido (sleep), el módulo AD puede
funcionar si se selecciona como reloj para la conversión el RC En la mayoría de los caso, los sensores manejan
interno (ADCS1=1 y ADCS=1). En este caso, el módulo espera valores continuos dados por magnitudes físicas, por lo
1 ciclo de instrucción antes de iniciar la conversión, que es importante saber cómo hacer la conversión a una
permitiendo la ejecución de la siguiente instrucción SLEEP, señal digital para lograr hacer un programa
eliminando así todo posible ruido de conmutación durante la satisfactoriamente.
conversión. Al finalizar la conversión, el bit GO/DONE es
puesto a “0” y el resultado se carga en los registros ADRESH y
ADRESL. En el caso de que la interrupción del módulo AD esté REFERENCIAS
habilitada (ADIE=1 y PEIE = 1) el dispositivo se despierta. [1] Eduardo García Brejio, " Compilator C CCS y simulador PROTEUS para
microcontroladores ", AlfaOmega, 2008.

VI. MODULO AD EN C
En el compilador e las funciones para manejar el convertidor
AD son las siguientes:

setup _adc (modo );

Modo: Para la configuración del módulo conversor A/D


correspondientes a los bits 7:6 del ADCONO. Los modos se
presnetan en la tabal 1.

Tabla 1.

setup_adc_ports (valor);

Valor: definición de las entradas analógicas correspondiente a


los bits 3-0 del ADCONl.

You might also like