0% encontró este documento útil (0 votos)
72 vistas23 páginas

IE2009 - Programación de Microcontroladores: Pic16F887 - Módulo Convertidor Análogo Digital

El documento describe el módulo de convertidor analógico-digital (ADC) del microcontrolador PIC16F887. El ADC convierte señales analógicas de entrada a números binarios de 10 bits utilizando el método de aproximaciones sucesivas. El documento explica cómo configurar y utilizar el módulo ADC, incluyendo la selección del canal, voltaje de referencia, fuente de reloj, formato de resultados e interrupciones. También cubre los requisitos de tiempo de adquisición entre conversiones.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
72 vistas23 páginas

IE2009 - Programación de Microcontroladores: Pic16F887 - Módulo Convertidor Análogo Digital

El documento describe el módulo de convertidor analógico-digital (ADC) del microcontrolador PIC16F887. El ADC convierte señales analógicas de entrada a números binarios de 10 bits utilizando el método de aproximaciones sucesivas. El documento explica cómo configurar y utilizar el módulo ADC, incluyendo la selección del canal, voltaje de referencia, fuente de reloj, formato de resultados e interrupciones. También cubre los requisitos de tiempo de adquisición entre conversiones.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 23

IE2009 – Programación de

Microcontroladores
PIC16F887 – MÓDULO CONVERTIDOR ANÁLOGO DIGITAL
Convertidor ADC
Módulo analógico (ADC)
El convertidor genera un resultado binario de 10 bits utilizando el
método de aproximaciones sucesivas y almacena los resultados de
conversión en los registros ADC (ADRESL y ADRESH).
Dispone de 14 entradas analógicas
El convertidor convierte una señal de entrada analógica en un número
binario de 10 bits

10 bits
ADRESH:ADRESL
Módulo ADC
La resolución mínima o calidad de conversión se puede ajustar a
diferentes necesidades al seleccionar voltajes de referencia Vref- y
Vref+.
Convertidor ADC
El funcionamiento del convertidor A/D está bajo el control de los bits de
cuatro registros:
◦ ADRESH registro alto del resultado de la conversión A/D.
◦ ADRESL registro bajo del resultado de la conversión A/D.
◦ ADCON0 registro de control 0
◦ ADCON1 registro de control 1

Si no se utiliza el ADC los registros ADRESH y ADRESL pueden servir


como registros de propósito general.

ADCON0 ADCON1 ADRESH:ADRESL


Configuración ADC
Cuando configuramos el ADC debemos considerar lo siguiente:
1. Configuración del puerto
2. Selección del canal
3. Selección del voltaje de referencia del ADC
4. Fuente de reloj para realizar la conversión
5. Control de interrupción
6. Formato de resultados
1. Configuración del puerto
Para convertir señales analógicas debemos configurar el pin como
entrada analógica para esto utilizamos los bits de los registros TRIS y
ANSEL (ANSELH) respectivos.

TRIS = 1
;entrada

ANSEL = 1
; analógica
2. Selección de canal
Seleccionamos el canal donde deseamos realizar la conversión, para
esto los bits CHS del registro ADCON0<5:2> determinan cual canal
estará conectado al circuito de “sample and hold”.
Cuando cambiemos de canales, el módulo requiere un delay antes de
empezar la siguiente conversión.

ADCON0
CHS <5:2>

CALL DELAY
3. Selección del voltaje de
referencia
Seleccionamos el voltaje de referencia que se utilizara para realizar la
converisión, para esto debemos de configurar los bits VCFG del registro
ADCON1.
4. Fuente de reloj para realizar la
conversión
La fuente de reloj es seleccionable mediante software a través de los
bits ADCS del registro ADCON0<7:6>.
Hay 4 posibles fuentes de reloj:
◦ 00 - Fosc/2
◦ 01 - Fosc/8
◦ 10 - Fosc/32
◦ 11 - FRC (oscilador interno dedicado)

El tiempo para completar un bit de la conversión se define TAD. Una


conversión completa requiere 11 periodos TAD.
Fuente de reloj para realizar
la conversión
Fuente de reloj para realizar
la conversión
5. Interrupciones
El módulo ADC pueden generar una interrupción cuando se termina una
conversión.
La bandera de interrupción es el bit ADIF en el registro PIR1. Dicha
bandera debe ser borrada mediante software.
La interrupción es habilitada con el bit ADIE del registro PIE1.
Esta interrupción puede despertar de SLEEP al uC.

INTCON:
PIE1: ADIE PIR1: ADIF
PEIE
6. Formato del Resultado
El resultado obtenido después de convertir un valor analógico en digital
es un número de 10 bits que se almacenará en los registros ADRESH y
ADRESL.
Hay dos formas de manejar el resultado
◦ Justificación a la izquierda (más utilizado)
◦ Justificación a la derecha.

El formato del resultado de la conversión depende del bit ADFM del


registro ADCON1<7>.
6. Formato del resultado
7. Operación ADC
Para habilitar el módulo es necesario setear el bit ADON del registro
ADCON0<0>.
Encendiendo el bit GO/DONE del registro ADCON0 empezaremos la
conversión análogo-digital.
Cuando el proceso termine:
◦ Se borrara el bit GO/DONE
◦ Se encenderá la bandera ADIF
◦ Se actualizaran los registros ADRESH:ADRESL con el resultado de la nueva
conversión

GO/DONE = 0
ADCON0 ADCON0 ADIF = 1
ADON <0> = 1 GO/DONE = 1 ADRESH:ADESL = RESULT
Operación ADC
Si una conversión debe ser terminada antes de tiempo, se puede parar
mediante el bit GO/DONE mediante software.
En este caso los registros ADRESH:ADRESL no serán actualizados.
Convertidor ADC
Ejemplo de configuración
1. Configurar puerto:
◦ Configurar pin como análogo
◦ Deshabilitar la salida del pin (TRIS)

2. Configurar Módulo ADC:


◦ Seleccionar el reloj para conversión ADC
◦ Configurar el voltaje de referencia
◦ Seleccionar el canal de entrada ADC
◦ Seleccionar el formato del resultado
◦ Encender el módulo ADC
Ejemplo de configuración
3. Configurar Interrupción ADC (opcional):
◦ Limpiar la bandera interrupción ADIF
◦ Habilitar la interrupción ADC
◦ Habilitar la interrupción de periféricos PEIE
◦ Habilitar las interrupciones globales GIE

4. Esperar el tiempo necesario para adquirir la lectura


5. Empezar la conversión encendiendo el bit GO/DONE
Ejemplo de configuración
6. Esperar que la conversión del ADC se termine mediante:
◦ Polling del bit GO/DONE
◦ Esperar la interrupción del ADC

7. Leer el resultado del ADC


8. Borrar la bandera de interrupciones ADIF
Requerimientos de
adquisición
Es necesario proporcionar un cierto tiempo muerto
entre seleccionar una entrada analógica específica
y la medición.
Este tiempo se le denomina “sample time” o
tiempo de adquisición.
Se utiliza una ecuación para hacer cálculo de
tiempo de adquisición con precisión, cuyo valor
mínimo es de 20uS aprox.
Requerimientos de
adquisición

También podría gustarte