Вы находитесь на странице: 1из 3

INSTRUCCIONES PARA HABILITACIN DEL CONVERTIDOR ANALGICO-DIGITAL EN

MICROCONTROLADORES GAMA MEDIA Y ALTA DE MICROCHIP


Autor: Roberto Pealoza Rivera

INSTRUCCIONES BSICAS:
#device adc=10 (esta definicin debe estar inmediatamente despus de la directiva de pre
compilado que define el microcontrolador a utilizar, por ejemplo #Include <16F877A.h>, en donde
el nmero establece el nmero de bits de resolucin del convertidor analgico-digital a utilizar en
donde puede ser 8 y 10 para microcontroladores de gama media, y 8, 10 y 12 para algunos
microcontroladores de gama alta en adelante y la resolucin se obtiene a travs de la siguiente
frmula: Resolucin=VINPUT/(2n-1)
donde n es el nmero de bits del convertidor analgicodigital
setup_adc_ports (); (esta definicin debe estar en el cuerpo
principal del programa
inmediatamente despus de la declaracin de las constantes y variables, dentro del parntesis se
debe incluir algn valor de los que se muestran en la siguiente tabla, ejemplo: setup_adc_ports
(AN0), es decir se habilita al puerto A0 como una entrada analgica), dicha tabla es vlida para
microcontroladores de gama media de la serie 16F87xx.
Setup_adc_ports(valor);
ALL_ANALOG
AN0_AN1_AN2_AN4_AN5_AN6_AN7_VSS_VREF1
AN0_AN1_AN2_AN3_AN4
AN0_AN1_AN2_AN4_VSS_VREF
AN0_AN1_AN3
AN0_AN1_VSS_VREF
NO_ANALOGS
AN0_AN1_AN2_AN4_AN5_AN6_AN7_VREF_VREF
AN0_AN1_AN2_AN3_AN4_AN5
AN0_AN1_AN2_AN4_AN5_VSS_VREF
AN0_AN1_AN4_AN5_VREF_VREF
A_ANALOG_RA3_RA2_REF
AN0_AN1_VREF_VREF
AN0
AN0_VREF_VREF

INSTRUCCIONES PARA HABILITACIN DEL CONVERTIDOR ANALGICO-DIGITAL EN


MICROCONTROLADORES GAMA MEDIA Y ALTA DE MICROCHIP

Para microcontroladores gama alta de la serie 18F4550 y 18F2550 se tiene la siguiente tabla:
Setup_adc_ports(valor);
NO_ANALOGS
ALL_ANALOG
AN0_TO_AN11
AN0_TO_AN10
AN0_TO_AN9
AN0_TO_AN8
AN0_TO_AN7
AN0_TO_AN6
AN0_TO_AN5
AN0_TO_AN4
AN0_TO_AN3
AN0_TO_AN2
AN0_TO_AN1
AN0

setup_adc (); (esta definicin se coloca inmediatamente despus de setup_adc_ports (), dentro del
parntesis se define el tipo de fuente de reloj segn la siguiente tabla, ejemplo setup_adc
(ADC_CLOCK_INTERNAL), se utiliza una fuente de reloj RC)

Setup_adc (modo);
ADC_OFF
ADC_CLOCK_INTERNAL
ADC_CLOCK_DIV_2
ADC_CLOCK_DIV_8
ADC_CLOCK_DIV_32
set_adc_channel (); (esta definicin se coloca dentro de un bucle de lectura de algn sensor del
tipo analgico, dentro del parntesis debe llevar el nmero de canal analgico que se desea
habilitar, ejemplo: set_adc_channel (0), es decir habilitacin del canal 0).
Despus de sta instruccin es necesario colocar un retardo de 20 microsegundos (delay_us(20)) a
fin de permitir que el canal anlogo se prepare para comenzar a realizar la adquisicin de la seal
recibida.

INSTRUCCIONES PARA HABILITACIN DEL CONVERTIDOR ANALGICO-DIGITAL EN


MICROCONTROLADORES GAMA MEDIA Y ALTA DE MICROCHIP
read_adc (); (esta instruccin realiza la lectura del voltaje proporcionado por el sensor conectado
en el Puerto habilitado como analgico)
Para convertir el voltaje seal entregada por un sensor lineal a una medida correspondiente a la
variable fsica a medir se tiene que utilizar una frmula de conversin como la siguiente:

Variable fsica=(factor de escala en x unidades/mili volts)*resolucin en mili volts*voltaje


Donde el factor de conversin se obtiene de la hoja de datos del fabricante del sensor a utilizar, y
en donde voltaje es la lectura obtenida del canal analgico, es decir voltaje=read_adc().