Está en la página 1de 5

Laboratorio de Electrónica Digital III

Practica No. 7
Convertidor Analógico - Digital.
Objetivo.
Que el alumno sea capaz de configurar el convertidor analógico –
digital del Microcontrolador y acceder a los registros que contienen el valor
de la conversión.

Procedimiento.
El alumno realizara programas recomendados.

Equipo a Utilizar.

I. PC
II. CodeWarrior para la familia de MCU HC(S)08
(FREESCALE)
III. Protoboard con la Implementación del Diagrama.

Marco Teórico.
El Microcontrolador MC9S08SE8CRL incluye un block de conversión
analógico-digital de aproximaciones sucesivas de 10 bits. Este block se
configura atreves de los registros de configuración (ADCCFG) y de control-
status (ADCSC1 Y ADCSC2), los cuales son registros de 8 bits.
De manera general, el registro de configuración incluye los campos
de potencia que consume el convertidor, la configuración del reloj, el
tiempo de muestreo, y el modo de conversión (10 ó 8 bits).

El registro de status y control ADCSC1, por su parte, contiene los


campos de conversión completa (Bit 7), que para un nivel alto indica que la
conversión ha finalizado, activación de interrupciones, conversión simple o
continuas (Bit 5) y selección de canal analógico de entrada (Bits 4:0).
Atreves del registro ADCSC2 se configura el disparo de la
conversión, las funciones de comparación, y el Bit 7 nos brinda información
de si la conversión esta en progreso.
Una vez finaliza la conversión, los resultados de la conversión son
almacenados en los registros ADCRH y ADCRL, que según el caso,
ofrecerán un resultado de 8 ó 10 bits. Para el primer caso, el resultado se
leerá solo del registro ADCRL. Para el segundo caso el resultado será de
la forma ADCRH : ADCRL donde el valor de la conversión serán los 10
Bits de menor peso.
Desarrollo de la Práctica.

El siguiente programa realiza la conversión analógica-digital de la señal


analógica de entrada (potenciómetro) e imprime el resultado de la
conversión en los leds del puerto C del Microcontrolador.
Primeramente implementamos el circuito del diagrama, realizamos la
conexión atreves del BDM al puerto USB de la PC y creamos un nuevo
proyecto en el Programa Code Warrior V6.3
Una vez hecho lo anterior, tecleamos el siguiente código, cuide de no
omitir la línea de código en rojo de la función Spurious:
***************************************************************************************************************************************

mainLoop:
BSR PROG_PORTS
BSR PROG_ADC
ciclo:
BRCLR 7, ADCSC1, ciclo ; Pregunta si la conversión se
; completo.
MOV ADCRL, PTCD ; Mueve el valor de la conversión
; (ADCRL) al puerto C.
BCLR 7, ADCSC1 ; Retorna a cero el valor de la
; Bandera fin de conversión.

BRA ciclo ; Se repite el ciclo.

PROG_PORTS:
feed_watchdog
MOV #$FF, PTCDD ; Declara el Puerto C como salida.
MOV #$00, PTCD ; Pone en cero lógico el Puerto C.
RTS

PROG_ADC:
feed_watchdog
MOV #$71, ADCCFG ; Asigna un 01110001 al Registro.
MOV #$26, ADCSC1 ; Asigna un 00100110 al Registro.
MOV #$00, ADCSC2 ; Asigna un 00000000 al Registro.
RTS

NOP
BRA mainLoop

spurious: ; placed here so that security


NOP ; value does not change all the time.
RTI
ORG $FFFA
;**************************************************************
;* Interrupt Vectors *
;**************************************************************
DC.W spurious ;
DC.W spurious ; SWI
DC.W _Startup ; Reset

********************************************************************************************
Lo siguiente será compilar y depurar el programa para después ejecutarlo.
Observará los cambios en el puerto C del Microcontrolador a medida que
modifica la salida analógica del potenciómetro. En este caso la conversión
está configurada a 8 Bits, por lo tanto el voltaje máximo (5V típicamente)
en la entrada analógica desplegará un FF en el puerto C (todos los leds
encendidos) y un voltaje de 0V en la dicha entrada desplegará un 00
(todos los leds apagados).

Reporte.

1. Implemente un sistema que imprima en el puerto C un conteo binario


ascendente/descendente haciendo uso de un push-button, la
velocidad del conteo puede variar dependiendo del valor de la
entrada analógica que es modificada por el potenciómetro. Se
recomienda usar la misma configuración del ADC y el mismo
diagrama presentado anteriormente. Incluya en el reporte impreso la
codificación del programa.

2. Presente por escrito la interpretación de valores asignados a los


registros ADCCFG, ADCSC1 Y ADCSC2, apoyándose de la
información brindada en el capítulo 9 del manual de referencia
MC9S08SE8RM (3ª Revisión) disponible en la página de Internet de
Freescale.

También podría gustarte