Anda di halaman 1dari 5

Practica 4: Manejo de

convertidor analgico digital


Introduccin
Un convertidor anlogo digital tiene como entrada un nivel de voltaje (valor
analgico) y produce en su salida un nmero binario de n bits proporcional
al nivel de la entrada (valor digital). Los convertidores de seal anloga a
digital abrevian ADC o A/D.
Uno de los parmetros que definen al A/D es la resolucin como la mnima
variacin de voltaje en la entrada que produce cambio del valor digital en la
salida. Por ejemplo un convertidor de 10 bits tiene un total de 210 valores
(1024 valores de 0 a 1023).
La frmula para calcular la resolucin es la siguiente:

Por ejemplo si tenemos que Vref + = 5 v y Vref = 0 v seria 5v/1024 = 4.8


mV de resolucin.
El mdulo convertidor Anlogo Digital (A/D) del PIC 16F877A tiene 8 canales
de entrada. La conversin de la seal analgica aplicada (a uno de los
canales) se plasma en nmero binario de 10 dgitos. El mdulo A/D posee
voltajes de referencia que pueden ser seleccionados para emplear las
tensiones VDD, VSS del microcontrolador o puede emplear tensiones
aplicadas

los

pines

RA2

RA3

combinaciones de los anteriores valores).

(incluso

es

posible

establecer

Para operar el mdulo ADC contamos con 4 registros:

Registro de resultado de byte alto de la conversin A/D (ADRESH).


Banco 0, 0x1E

Registro de resultado de byte bajo de la conversin A/D (ADRESL).


Banco 1, 0x9E

Registro 0 de control del mdulo A/D (ADCON0). Banco 0, 0x1F

Registro 1 de control del mdulo A/D (ADCON1). Banco 1, 0x9F

El registro ADCON1 configura las funciones de los pines de entrada al


mdulo. Como se aprecia se puede configurar los pines del puerto A como
entradas analgicas inclusive la lnea RA3 puede funcionar como el voltaje
de referencia.
Los registros ADRESH:ADRESL contienen el resultado de la conversin (10
bits). Cuando se ha completado una conversin el resultado es almacenado
en ADRESH:ADRESL y adems el bit GO/-DONE (registro ADCON bit 2) se
pone a 0-lgico y el bit ADIF (registro PIR1 bit 7) se pone como 1-lgico. El
registro PIR1 ocupa la posicin 0x0C del banco 0.
Despus que el mdulo A/D ha sido configurado, es necesario esperar un
periodo de tiempo para que la seal sea adquirida (antes de las
conversiones empiecen). Cada uno de los canales de entrada tiene su
correspondiente bit de configuracin en los registros TRIS y estos han de
ser puestos como entradas.
Una vez que el periodo de adquisicin ha terminado la conversin A/D
puede empezar. Los siguientes pasos muestran la secuencia de uso:

Configure el mdulo A/D: (lo cual significa)

Configurar los pines de entrada de los canales analgicos a usar.


Configure los voltajes de referencia. (en el registro ADCON1)

Seleccione el canal de entrada al mdulo A/D (en el registro ADCON0)

Seleccione el clock de conversin A/D (en el registro ADCON0)

Ponga a funcionar el mdulo A/D (en el registro ADCON0)

1.

Espere por el tiempo de adquisicin (es el tiempo que se demora en


trabajar el bloque de sampling and hold)

2.

Comienzo de la conversin

3.

GO/-DONE=1-lgico (en el registro ADCON0)

4.

Esperar a que la conversin se complete. Para saber si la conversin


termino podemos:

Revisar el bit GO/-DONE esperando que sea de nuevo 0 -lgico

O esperar al flag de ADIF sea 1-lgico (puede emplearse como


interrupcin)

5. Leer el resultado del A/D en el par de registros (ADRESH:ADRESL). No


debemos olvidar colocar el bit ADIF a 0-lgico (si se requiere) 6.Para la
siguiente conversin, regrese al paso 1 o paso 2 dependiendo si solo se usa
uno o ms canales.
Objetivo
Aprender a usar el convertidor anlogo/ digital del PIC 16F877A de la
marca Microchip, aprendiendo a configurar el uso de registros, como los
ADCON0, ADCON1,ADRESH,ADRESL.
Diagrama de flujo conversor analgico/digital

Diagrama de flujo conversor analgico/digital

Esquemtico

Esquemtico Conversor Analgico/Digital