Escolar Documentos
Profissional Documentos
Cultura Documentos
La tensión de referencia puede implementarse con la tensión interna de alimentación Son dos los registros más importantes involucrados en la conversión A/D. el ADCON0
VDD, o bien, con una externa que se introduce a través de los pines RA3/AN3/Vref+ y /o y el ADCON1. Como se explicó en capítulos anteriores, si se desea realizar una
RA2/AN2/Vref- conversión analógica digital por un puerto del microcontrolador (generalmente el puerto
A en los PIC) ¿Cómo hacerlo?. La respuesta siempre será la misma. A través de la
6.1. Registros asociados al conversor A/D configuración de los registros internos del microcontrolador, en este caso, el ADCON0 y el
ADCON1.
• ADRESH : Registro alto del resultado de la conversión A/D.
• ADRESL : Registro bajo del resultado del la conversión A/D. Básicamente la idea de la conversión analógica – digital es la digitalizar una señal de
• ADCON0 : Controla la operación del conversor A/D. entrada al pin del microcontrolador, la señal puede ser AC, DC ó AC+DC pero de tensión
• ADCON1 : Configura los Pines de E/S del conversor A/D. sólo positiva, ya que, el convertidor A/D no tiene la capacidad de convertir señales de
valor negativa. Esta señal es muestreada y convertida a un valor digital equivalente.
Figura 6.5. Diferentes valores de conversión A/D en base a la Freq, del resonador.
Canal: variable o constante (0..3) que estable el pin analógico para uso como entrada al
Figura 6.6. Registros asociados a la conversión A/D y al puerto de entrada – salida A.
conversor. Existen cuatro pines de entrada analógica, son: AN0, AN1, AN2 y AN3.
Fuente: Manual técnico del PC16F876.
Otros ajustes necesarios por el convertidor A/D, se realizan a través de las declaraciones:
INTCON: Registro asociado a las interrupciones. GIE bit de habilitación de las
interrupciones globales. PEIE bit de habilitación de las interrupciones de los periféricos. DECLARE ADIN_TAD 2_FOSC, 8_FOSC, 32_FOSC …
PIR1: Registro asociado a las interrupciones. ADIF bandera de ocurrencia de una 2_FOSC: rápido (oscilador/2)
interrupción por conversión A/D. 8_FOSC: medio (oscilador/8)
32_FOSC: lento (oscilador/32)
PIE1: Registro asociado a las interrupciones. ADIE bit de habilitación de la interrupción
64_FOSC: basado en el oscilador interno,
por conversión A/D.
valor por defecto = 64_FOSC.
ADRESH, ADRESL: Registros donde se almacena el valor de la conversión A/D.
DECLARE ADIN_RES 8, 10, 12. Bits de resolución,
ADCON0, ADCN1: Registros de configuración general asociados a la conversión A/D. valor por defecto = 10
TRISA: Registro de configuración del puerto A como entrada ó salida digital. DECLARE ADIN_STIME (0 .. 65535) ms. Tiempo para la
carga y descarga del capacitor de HOLD. Valor
PORTA: Como Salida, Registro que configura el valor lógico de los pines del puerto A.
por defecto = 50
Como Entrada, Registro que almacena el valor de entrada al puerto A.
Nota: El voltaje máximo sobre cualquier pin del PIC® no deberá exceder
nunca los 5 Vdc.
6.6. Otras Consideraciones importantes al realizar una conversión A/D
El comando ADIN, convierte un voltaje (0 a 5 Vdc) aplicado a un pin, en un valor
1. La máxima impedancia de entrada recomendada de la fuente analógica, a fin digital entre (0 y 1023) aplicado a una variable. La entrada puede ser en todo momento
de no afectar la exactitud de la conversión, no deberá ser mayor de 10 KΩ. escalada si se utiliza un voltaje de referencia externo Vref sobre el pin AN3. Si el voltaje
2. Después de cada conversión de deberá esperar un mínimo de tiempo de referencia aplicado al pin es de 2.5 VDC, se obtendrá el doble de resolución para el
equivalente a 2 ٠TAD, durante este tiempo el condensador interno de “Hold” no mismo conteo de (0 a 1023). El rango permitido de voltajes de referencia deberá estar
estará conectado a la fuente analógica de entrada. entre (1 y 5) Vdc, el cual, siempre deberá ser aplicado sobre el pin AN3.
' CAP_06_Ejemplo_01.bas
' Ejemplo básico de utilización del convertidor A/D
' ------------------------------------------------------------------
Device = 16F876 ' Define el microcontrolador utilizado
XTAL = 20 ' Define la velocidad del resonador
Figura 6.7. Codificación del ejemplo básico de utilización del convertidor A/D.
7) Para una nueva conversión regresar al paso 1) y 2). ' SUB_RUTINA DE INTERRUPCIÓN
' -----------------------------------------------------------------
• El tiempo de conversión por bit está definido por TAD. Se exige esperar un ADC_INT:
mínimo de 2 ٠ TAD para reiniciar una nueva conversión. ADIE = 0 ' Deshabilita la interrupción por ADC
Valor.LowByte = ADRESL ' Carga el valor de la conversión en la
Valor.HighByte = ADRESH ' Variable valor, byte alto y bajo.