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