Sei sulla pagina 1di 10

Laboratorio de Microcontroladores.

Practica No. 4
Manejo de Tablas y Retardos.

Equipo:
Erick Miguel Chávez Cruz. 1730128 IMTC.
Eduardo Torres Ibarra 16161384 IMTC.
Enrique Israel García Armijo 1734668.

Maestro: Jorge Alberto Becerra Turrubiartes.

Hora: N-2 Lunes.


Semestre: Enero-Junio 2020.
Fecha: 18 de mayo del 2020.
Objetivo.

Que el alumno se familiarice con el uso de cada uno de los


puertos de E/S disponibles en el MCU

Marco teórico.

Es importante recordar que los microcontroladores 16F84/F628/F88 operan con una


arquitectura HARVARD, cuya particularidad consiste en poseer una memoria de
datos y de código (programa) con buses o canales de comunicación separados. Lo
anterior hace que el manejo de tablas de datos sea distinto al de procesadores con
arquitectura VON NEUMANN, en donde la memoria de código y datos es
compartida por el mismo bus de datos y, a través de instrucciones con
direccionamiento indirecto, es posible accesar a los elementos de la tabla.
En el caso de la arquitectura Harvard, los datos de la tabla deben almacenarse en
la memoria de código (programa) y por tanto son parte del programa ejecutable. La
instrucción RETLW incluída en el set de instrucciones de todos los
microcontroladores de Microchip, está precisamente diseñada para almacenar
datos en la memoria de código. La forma de manejar tablas de datos es como se
indica en el EJEMPLO 1 listado abajo. La tabla forma parte de una subrutina que
en este ejemplo lleva la etiqueta "tabla".

Supongamos que deseamos crear una tabla de 4 elementos. Y que estos 4 datos
son los caracteres ASCII de las letras H,O,L y A. Para recuperar algún elemento de
la tabla, dentro del programa principal existirá una instrucción de “call” que llama a
la etiqueta que está al inicio de la tabla, como se muestra en el listado de abajo.
Una vez que el el contador del programa queda posicionado al inicio de la tabla,
usamos la instrucción addwf PCL,f para sumar a la parte baja del contador del
programa, PCL, un número del 0 al 3, que debe de estar almacenado en el registro
W desde antes de la ejecución de la instrucción “call”. Como consecuencia de la
ejecución de esta misma instrucción (addwf PCL,f), la parte alta del contador del
programa PCH, se carga con el contenido del registro PCLATH, según se describe
con detalle más abajo, de tal forma que, al final de la ejecución de la instrucción, el
contador del programa queda posicionado apuntando al elemento deseado de la
tabla.
Ahora, mediante la instrucción “RETLW” (return from subroutine with literal in w),
regresamos al programa principal. Ahora el registro W, contiene el dato que aparece
a la derecha de la instrucción (alguno de los códigos ASCII de la H,O,L ó A), y los
cuales forman parte de la tabla. Es decir que el registro W debe inicializarse, antes
de la instrucción de “call”, con el desplazamiento (offset) deseado sobre la dirección
de inicio de la tabla. Dado que W es un registro de 8 bits, podemos accesar hasta
256 elementos en la tabla.
Procedimiento.

El alumno realizara programas recomendados.

Equipo a Utilizar.

I. PC
II. CodeWarrior para la familia de MCU HC(S)08
( FREESCALE)
Reporte.
Desarrollo de la práctica.
1.- Realizar un programa que suma 128 palabras de 2 bytes cada una. Las palabras
empiezan en la dirección $0100 y terminan en la dirección $01FF.
 $0100, $0101 palabra 1
 $0102, $0103 palabra 2
 $01FE, $01FF palabra 128

El resultado de la suma se localizará en tres direcciones consecutivas.


 $0200 – XX MSB
 $0201 – XX
 $0202 – XX LSB
2.- Realizar un programa que cuente cuantos números positivos, cuantos negativos
y cuántos son cero, en una tabla.
Tabla:
 $0100 – XX inicio de la tabla.
 $01FF – XX fin de la tabla.

Los resultados de la suma se albergarán en las siguientes direcciones.


 $0200 – Total de Positivos.
 $0201 – Total de Negativos.
 $0202 – Total de Ceros.
3.- Realizar un programa para realizar un retardo pasivo de 10 segundos.
Conclusiones.

Enrique:
Las programaciones que realizamos hasta ahora han utilizado los recursos digitales
del microcontrolador, pero también es importante recordar que también podemos
controlar las características de circuitos físicos al igual que hacíamos con los PICs.
En este caso precisamente utilizamos switches para cambiar la señal que entra en
el programa del micro que a su vez verifica los registros y cambia las salidas que
es lo que queremos controlar.

Eduardo:
En la practica 4 pudimos ver y apoyarnos en la variación de frecuencias con las
cuales se puede trabajar en el microcontrolador estas frecuencias ayudando como
en la practica anterior a dar un tiempo de retraso pasa la reacción del led, y
trabajamos con el encendimiento del led con el cambio de memoria del micro
controlados para prenderlo o apagarlo como nos menciona en la práctica. Después
de esto pudimos comprender y ver un poco mejor el funcionamiento del cambio de
memoria, para dar un resultado diferente.

Erick: En la actividad estudiamos la variación de frecuencias las cuales nos han


ayuda entender el comportamiento que tienen en entrada paralelo en un
microcontrolador de forma que se logra ver la memoria y las entradas que se le dan
a cada una de ellas para lograr entender el comportamiento que logra apreciar en
el programa que se le mostro al ingeniero para dar a conocer los valores.

Potrebbero piacerti anche