Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Objetivos
Durante el desarrollo de esta práctica se pretende alcanzar los siguientes objetivos:
• Acceso a los registros de los controladores de los dispositivos.
• Programación de drivers.
• Sincronización por encuesta.
Consideraciones
Para el desarrollo de la práctica en el tiempo de laboratorio estimado, se precisa analizar
con anterioridad los controladores de los dispositivos descritos en los anexos, además
de traer preparados los pseudo-códigos y tablas de uso de registros para los programas
que se van a implementar. Esta práctica será entregable de forma presencial con una
cita la semana del lunes 13 de Diciembre en horario asignado a la asignatura.
Desarrollo
Cronómetro
El simulador tiene un dispositivo muy sencillo basado en una pantalla de 7 segmentos,
descrito en el Anexo 1. Este dispositivo se maneja con dos registros de datos, en los
cuales se indica (a tamaño byte) qué segmentos se quiere encender de cada uno de los
bytes. En este desarrollo se pretende realizar un programa que use dicha pantalla para
implementar un cronómetro simplificado. Dicho cronómetro se iniciará cuando se pulse
el pulsador KEY_0 visto en el seminario y explicado en el Anexo 3. A continuación el
cronómetro va mostrando los segundos que pasan. Para medir el tiempo usa un timer
privado descrito en el Anexo 2. Finalmente, el programa termina cuando se pulsa KEY_1
o cuando se llega a los 60 segundos.
Tanto la sincronización del timer como del pulsador se hará mediante encuesta.
Además, la gestión de los diferentes dispositivos se implementará en funciones,
aplicando de esta manera la programación modular y facilitando la depuración.
De manera opcional, y que se valorará, se podrá realizar una versión del cronómetro que
cuente segundos y minutos. Además, el botón KEY_0 debe parar y poner a 0 el
cronómetro.
Página 1 de 3
Práctica 5 Microprocesadores Curso 2021/22
Cuando llega a 0, el timer para si el bit Auto (A) del registro Control está a 0. En caso
contrario, el timer automáticamente recarga el valor en el registro Load y continúa
decrementando su valor. El valor actual se puede obtener leyendo el registro Counter.
El timer de la placa tiene una frecuencia de reloj de 200 MHz y se decrementa con cada
ciclo de reloj. El campo Prescaler del registro Control se puede usar para ralentizar la
cuenta atrás como sigue: el timer se decrementa cada Prescaler+A ciclos de reloj. Por
tanto, si Prescaler=0, entonces el timer se decrementa cada ciclo; si A=1 entonces cada
segundo ciclo, etc.
Página 2 de 3
Práctica 5 Microprocesadores Curso 2021/22
Anexo 3. Pulsadores
Los cuatro pulsadores KEY3 a KEY0 de que dispone la placa son accesibles mediante tres
registros de datos de 4 bits, como se muestran en la figura adjunta. Estos registros de
solo lectura se encuentran en la dirección base de memoria 0xFF200050 y se puede
acceder a ellos mediante accesos a tamaño word. Estos accesos de lectura proporcionan
el valor de los interruptores KEY3 a KEY0 en los cuatro bits menos significativos. Los
otros dos registros mostrados (interruptmask y edgecapture) son registros de control no
empleados en esta práctica.
Bibliografía
Página 3 de 3