Está en la página 1de 2

Practica 4 con pic18f4550- ADC (conversión de

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.

 Resolución programable por software en modo de 8 y 10 bits.


 13 canales de entradas multiplexadas.
 Rango del voltaje de entrada para el ADC 0-Vcc.
 Referencia de voltaje interna o externa.
 Modo de conversión ADC (continua o individual).
 Inicio de conversión ADC por Auto-Disparo en fuentes de Interrupción.
 Interrupción ADC al completar la conversión.

II. DESARROLLO
Para hacer una conversión correcta de análogo a digital necesitamos hacer los siguientes
pasos:

1. configurar en modulo A/D:


-Configurar las entradas analógicas y el voltaje de referencia (adcon1).
-selecciona el canal A/D de entrada a leer (adcon0.)
-selecciona el tiempo de adquisición A/D (adcon2).
-selecciona el reloj de conversión A/D (adcon2).
-permiten el modulo A/D (adcon0).
2. esperar el tiempo requerido de adquisición.
3. comienzo de la conversión A/D:
- activa el bit GO/DONDE del registro adcon0.
4. esperar a que la conversión A/D termine:
- interroga el bit GO/DONDE si es (=0), conversión completa.
5. leer los registros del resultado A/D (ADRESH: ADRESL).

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.

También podría gustarte