Convertidor AD

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 15

Convertidor A/D

EL microcontrolador PIC6F87X posee un conversor A/D de 10bit de resolución y 8 canales


Registros asociados:

El módulo de A/D tiene 11 registros asociados. Estos registros son:

pines de entrada
TRISA – PORTA – TRISE - PORTE
Manejo de interrupciones
INTCON – PIE1 – PIR1

Control del conversor A/D

· ADRESH: Parte alta del resultado de la conversión


· ADRESL: Parte baja del resultado de la conversión
· ADCON0: Registro de Control 0
· ADCON1: Registro de Control 1
𝑇 𝐴𝑑𝑞𝑢𝑖𝑐𝑖𝑐𝑖 ó 𝑛 𝑜 𝑐𝑜𝑣𝑒𝑟𝑠𝑖 ó 𝑛 ≈ 20 𝜇 𝑠
 
 Tiempo de conversión de cada bit : Seleccionable por Software.
ADCON0
ADCS1 ADCS2 CH2 CH1 CH0 GO/#DONE - ADON

ADCS1:ADCS1 selección de la frecuencia de reloj para el Convertidor A/D.


00 = Fosc/2 01 = Fosc /8
10 = Fosc/32 11 = FRC (Procede del oscilador RC interno)

CH2:CH0 Selección del canal de conversión


000 = Canal 0, (RA0/AN0) 100 = Canal 4, (RA4/AN4)
001 = Canal 1, (RA1/AN1) 101 = Canal 5, (RA5/AN5)
010 = Canal 2, (RA2/AN2) 110 = Canal 6, (RA6/AN6)
011 = Canal 3, (RA3/AN3) 111 = Canal 7, (RA7/AN7)

GO/#DONE bit de estado de la conversión A/D


Si ADON=1
1= La conversión A/D está en marcha (mientras está a 1 se está realizando la conversión)
0 = La conversión ha finalizado. (el bit se pone a cero automáticamente por hardware la
conversión A/D finaliza) el resultado de la conversión aparece en ADRESH:ADRESL

ADON Bit de encendido del convertidor A/D


1 = Módulo A/D encendido 0 = Módulo A/D apagado
Ejemplo de selección de ADCS1:ADCS1 con el µC PIC16F877

selección de la frecuencia de reloj para el Convertidor A/D.


00 = Fosc/2 =2*Tosc 01 = Fosc /8 =8*Tosc
10 = Fosc/32 =32*Tosc 11 = FRC (oscilador RC interno)

𝑇  𝐴𝐷 ≥1,6 𝜇 𝑠
ADCON1 (PIC16F877)
ADFM - - - PCFG3 PCFG2 PCFG1 PCFG0

ADFM: bit de selección del formato del resultado A/D


1 = Ajuste a la derecha
0 = Ajuste a la izquierda

PCFG3:PCFG0 Configuración de las entradas al módulo A/D


ADCON0
ADCS1 ADCS0 CH2 CH1 CH0 GO/#DONE - ADON

ADCON1 (PIC16F877A)
ADFM ADCS2 - - PCFG3 PCFG2 PCFG1 PCFG0

ADCS1:ADCS0: Selección del reloj para la conversión A/D junto con ADCS2
que está en ADCON1.

ADCS2=0 00 = fOSC/2 01 = fOSC/8 10 = fOSC/32 11 = fRC


ADCS2=1 00 = fOSC/4 01 = fOSC/16 10 = fOSC/64 11 = fRC

ADCS2: Selección de reloj para conversión A/D junto con ADCS1 y ADCS0
 

Si el voltaje de referencia es la fuente:


Pasos en una conversión A/D

1. Configurar el módulo A/D.

 Definir entradas analógicas y tensión de referencia. (ADCON1)


 Seleccionar el canal de la conversión. (ADCON0)
 Seleccionar el reloj de la conversión. (ADCON0)
 Encender el módulo A/D. (ADCON0)

2. Configurar la interrupción del conversión A/D (opcional)

 Bajar el flag ADIF. (PIR1).


 Habilitar la interrupción del convertidor A/D. (PIE1).
 Habilitar las interrupciones de los periféricos. (INTCON).
 Habilitar la máscara global de interrupciones. (INTCON)

3. Comenzar la conversión.

 Poner a “1” el bit GO/DONE. (ADCON0) No activar este bit a la vez que se enciende el
convertidor A/D
 Esperar a que transcurra el tiempo de adquisición (Tiempo necesario para capturar el
valor analógico a convertir). Los valores típicos del tiempo de adquisición son del
orden de 20µs.
5. Esperar a que se complete la conversión A/D.

 Controlando cuándo el bit GO/DONE se pone a “0”.


 Esperando a que llegue la interrupción del convertidor.

6. Leer el resultado de la conversión.

 Disponible en los registros ADRESH:ADRESL.


 Bajar el flagADIF si se están usando interrupciones.

7. Llevar a cabo la siguiente conversión.


 Volver al paso 1 ó 2, según convenga.
 Espera mínima antes de empezar la siguiente adquisición: 2·TAD (Esta espera no
es necesaria en el caso de los PIC16F87xA porque el interruptor de captura se
“cierra” en cuanto se obtiene el resultado). TAD: Tiempo necesario para la
conversión de un bit.
CONFIGURAR_PUERTOS
BCF STATUS,RP1
BSF STATUS,RP0
MOVLW B'10001110‘ ;CONF CANAL AN0 COMO ANALOGICO, JUSTIFICADO A LA DERECHA (ADFM=1)
MOVWF ADCON1
MOVLW B'00111111‘
MOVWF TRISA
MOVLW B'00000111'
MOVWF TRISE
BCF STATUS,RP0
RETURN

CONFIGURAR_CAD
MOVLW B'10000001' ; 20MHZ (10)
MOVWF ADCON0
CALL RETARDO_1MS
RETURN

INICIAR_CAD
BSF ADCON0,GO
BTFSC ADCON0,GO
GOTO $-1

RESULTADO_CAD
BSF STATUS,RP0
MOVFADRESL,W
BCF STATUS,RP0
MOVWF RESULTADO_L
MOVFADRESH,W
MOVWF RESULTADO_H
RETURN
Bibliografía: Consulte los siguientes libros, referente al tema de Convertidor A/D

2da Parte Microcontroladores Pic, Diseño Práctico de Aplicaciones 16F87x

Fundamentos y Aplicaciones con PIC Valdez Pallas

También podría gustarte