Documentos de Académico
Documentos de Profesional
Documentos de Cultura
análogo a digital)
I. INTRODUCCION
El convertidor analógico digital es capaz de convertir una señal de voltaje variable en valores
digitales a una resolución de 8 o 10 bits. Además, se puede llegar hasta a 50K muestras por
segundo, lo que es ideal para proyectos de adquisición de datos como Datalogger, etc. A
continuación se muestra las características y se describe los registros involucrados con el
convertidor ADC y se realizaran ejemplos.
II. DESARROLLO
Para hacer una conversión correcta de análogo a digital necesitamos hacer los siguientes
pasos:
El módulo interno A/D del PIC incorpora un condensador de muestreo como muestra la
imagen de arriba. Entonces antes de dar inicio a una conversión A/D hay que asegurarnos de
que el condensador haya sido cargado con la tensión suministrada en el canal seleccionado,
esto viene a ser como el tiempo de adquisición. Existen 2 formas de generar este tiempo.
Por Software: se establece por código un tiempo simbólico igual al tiempo de adquisición
y luego se inicia una conversión A/D.
Automático: se configura un Tiempo de Adquisición que se establecerá de forma automática
entre, la orden de inicio de conversión y muestreo de la señal para iniciar la conversión. Este
tiempo se puede configurar a través de los bits ACQT [2:0] del registro ADCON2.
Dado esto por finalizado pasamos hacer al código como se muestra en seguida:
#include <stdio.h>
#include <stdlib.h>
#include "config.h"
#include <pic18f4550.h>
/*
*
*/
void main() {
ADCON1=0b00001110;
TRISA=0b00001111;
TRISD=0b00000000;
ADCON2=0b00001110;
ADCON0=0b00000011;
while (1){
while (ADCON0bits.DONE);
PORTD=ADRESH;
ADCON0bits.DONE=1;
}
}
Una vez terminado y compilado el código correctamente pasamos a simularlo en proteus para
la comprobación de esta, a continuación se muestra el circuito y su funcionamiento:
III. CONCLUSIÓN
El puerto ADC funciona como convertidor
de entradas analógicas a digitales, cabe
destacar que este módulo no utiliza valores
numéricos con decimales, sino que toma
solamente el valor entero de entrada.