You are on page 1of 18

Conversor analgico-digital

O El modulo ADC permite la conversin de

una seal analgica de entrada a una representacin de 10 bits digital de esa seal.
O El pic16f886 cuenta con un modulo

convertidor analgico digital. O Cuenta con 11 canales analgicos que se encuentran esparcidos en los puertos A y B

Registros involucrados
O ADCON0 registro de control 0 para el O O

ADC ADCON1 registro de control 1 para el ADC ADRESH registro que sirve para almacenar el resultado de conversin parte alta ADRESL registro que sirve para almacenar el resultado de la conversin parte baja ANSEL Y ANSELH registros que sirven para configurar las entradas como analgicas PORTA Y PORTB as como TRISA y TRISB para configurar como entradas as

Para las interrupciones


O INTCON registro de control de

interrupciones O PIE1 registro para habilitar las interrupcin por ADC O PIR1 registro donde se localiza la bandera de interrupcin del ADC

Conf. Del convertidor


O Configuracin del puerto
O Seleccin del canal O Seleccin del voltaje de ref. del ADC O Fuente de conversin del reloj O Control de interrupciones O Formato del resultado

Configuracin del puerto


BIT RA0 RA1 RA2 RA3 RA5 RB0 RB1 RB2 RB3 RB4 RB5 PIN 2 3 4 5 7 21 22 23 24 25 26 CANA L AN0 AN1 AN2 AN3 AN4 AN12 AN10 AN8 AN9 AN11 AN13

O Cuando se convierten

seales anlogas los pines de E/S deben estn configurados en analgicos as como entradas mediante los bits de los registros TRIS y ANSEL

Seleccin de canal
O Los bits

CHS0:CHS3 (B3:B6) del registro ADCON0 determinan el canal conectado. Cuando se cambia de canales un retardo es requerido antes de comenzar una nueva interrupcin.

El pic16f886 no cuenta con estos canales

Voltaje de referencia
O Los bits VCFG0:VCFGO1 (B4:B5) del registro

ADCON1 proveen un control independiente del voltaje de referencia del positivo y el negativo. O La ref. del positivo puede ser VDD o una fuente externa as como del negativo VSS o fuente externa. O Los pines para el voltaje externo positivo y negativo son RA3 y RA2 respectivamente que as ves son las entradas analgicas AN3 y AN2 respectivamente

Reloj de conversin
O Esta fuente es seleccionable va software

con los bits ADCS0:ADCS1 (B6:B7) del registro ADCON0. existe 4 opciones de reloj

O Como el oscilador interno del pic16f886

es de 20 MHz se requiere un tiempo mnimo de 1.6 microsegundos para poder realizar una conversin correcta. O Para obtenerla debemos de seleccionar el Fosc/32 en los bits ADCS.

Interrupciones
O El modulo ADC permite la habilidad de

generar una interrupcin al completar una conversin anloga-digital. O La bandera de interrupcin del ADC se encuentra en el bit ADIF (B6) del registro PIR1 O El bit para habilitarlo es el ADIE (B6) del registro PIE1

O El ADIF debe ser limpiado por software. Este

bit es seteado completando una conversin independientemente si esta habilitada la interrupcin por el ADC. O Esta interrupcin puede ser generada mientras el dispositivo esta operando o esta en SLEEP, si esta en SLEEP la int. Despertara al PIC. O Al despertar la siguiente instruccin despus de SLEEP ser ejecutada. O Si el usuario esta intentando despertar de SLEEP y volver a la linea de cdigo la interrupcin global debe estar deshabilitada, si lo esta la ejecucin pasara a la rutina de interrupcin de servicio.

Resultado de formato
O El resultado de la conversin de 10 bits

puede ser suministrado en 2 formatos. O Justificado a la derecha O Justificado a la izquierda


O El bit ADFM (B7) del registro ADCON1

controla este formato. O 0=izquierda y 1=derecha

Operacin
O Habilitar del mdulo ADC
O ADCON0 ADON=1 ;HABILITA

GO/DONE=1 ;EMPIEZA CICLO DE CONV. no pueden ser activados al mismo tiempo


O Cuando el modulo ADC se complete lo que

har ser: O Limpiar el bit GO/DONE O Setear el bit ADIF O Actualizar el ADRESL y ADRESH

Cuando termina la conversin


O Si una conversin debe ser terminada. El

bit GO/DONE puede ser limpiado por software. Los registros ADRESL y ADRESH no sern actualizados con la parcial conversin, en cambio estos registros retendrn los valores de la previa conversin.

Operacin del ADC en SLEEP


O Para que el modulo ADC pueda operar en SLEEP se

requiere que el reloj sea seteado al Frc. O Cuando es seleccionado el Frc el ADC espera una instruccin adicional antes de comenzar la conversin. Esto permite que la instruccin SLEEP se ejecute la cual puede producir ruido en la conversin. O Si la interrupcin del ADC esta habilitada el dispositivo se despertara del SLEEP cuando la conversin se complete. Si esta deshabilitada el modulo se apaga despus de que la conversin se complete aunque el bit ADON vuelva a 1 O Cuando el reloj no es Frc una instruccin SLEEP causa que la conversin actual sea abortada y el modulo se apague aun que el bit ADON este seteado

You might also like