Procesadores de Propósito General

Anuncio
Procesadores de Propósito General
Convocatoria de Diciembre (15-12-98)
Cuestiones Teóricas
Responder de la forma más breve y clara posible a las siguientes cuestiones.
1.- (1 punto). Enumerar los distintos métodos de Entrada/Salida y comentar sus características más
importantes.
2.- (1 punto). Subrutinas: Definición, ventajas e inconvenientes de su uso.
3.- (1 punto). Comentar los distintos modos de funcionamiento del CTC Z8430.
4.- (1 punto). Elementos que componen la estructura interna general de un microcontrolador 8052.
Procesadores de Propósito General
Convocatoria de Diciembre (15-12-98)
Problemas
1.- (4 puntos). Sabiendo que el microprocesador Z80 posee un bus de direcciones de 16 bits, un
bus de datos de 8 bits y líneas de control MREQ', IORQ', RD' y WR', entre otras, diseñar:
a) Un mapa de memoria que conste de:
• 24 Kbytes de memoria de solo lectura, implementados con módulos de memoria ROM de
tamaño 4K x 8.
• 10 Kbytes de memoria de escritura/lectura, implementados con módulos de memoria RAM
de tamaño 1K x 4.
Indicar mediante una tabla las direcciones iniciales y finales asignadas a cada módulo de
memoria.
b) La sección de entrada/salida que conste de:
•
•
•
•
•
•
Un Z80-PIO (Z8420).
Un Z80-DMA (Z8410).
Un Z80-CTC (Z8430).
Un puerto de Entrada.
Un puerto de Salida.
Un puerto de Entrada/Salida.
Los tres últimos elementos podrán implementarse a base de puertas de tres estados (C.I.
74244) y registros de ocho bits (C.I. 74374).
Indicar mediante una tabla las direcciones iniciales y finales asignadas a cada elemento.
2.- (2 puntos). Suponiendo que el Z-80 trabaja en modo de interrupciones vectorizadas (modo 2) y
teniendo en cuenta la información adjunta, escribir los fragmentos de programa necesarios para
configurar el PIO y el CTC del ejercicio anterior, para que:
• El puerto A del PIO pueda usarse para mandar información a un display.
• En el puerto B del PIO sean entradas de control las líneas 0, 5, 6 y 7, y salidas las restantes,
produciéndose una solicitud de interrupción a la CPU cuando la línea 5 o la 6 adopte un nivel
alto.
•
Cuando en la entrada de reloj del canal 1 del CTC se reciban 271 flancos descendentes, se
coloque un nivel alto en la salida ZC/TO1.
• Cuando el periférico asociado al canal 3 del CTC proporcione al mismo un flanco de subida,
se espere un tiempo de 40 µS (Fosc = 4 Mhz.), transcurrido el cual se solicitará una
interrupción a la CPU.
Las direcciones de las rutinas para el tratamiento de las interrupciones provocadas por el
puerto B del PIO y el canal 3 del CTC se encuentran almacenadas a partir de las posiciones de
memoria CCA0H y CCA6H, respectivamente.
PROGRAMACIÓN DEL PIO
D7 D6 X
SELECCIÓN
DE MODO
X
1
1
1
1
PROGRAMACIÓN DEL CTC
D7 D6 D5 D4 D3 D2 D1 1
IDENTIFICADOR
DE PALABRA DE
CONTROL DEL
CANAL
IDENTIFICADOR
DE PALABRA DE
CONTROL DE
MODO
D7 D6 D5 D4 0
1
1
CONTINUA OPERACIÓN
{01 PARA
OPERACIÓN
0 NO SIGUE CTE. DE TIEMPO
{1 SIGUE CTE. DE TIEMPO
TEMP. AUTOMÁTICO
{01 COMIENZO
COM. TEMP. DISPARO EXTERNO
FLANCO ACTIVO DESCENDENTE
{01 FLANCO
ACTIVO ASCENDENTE
0 FACTOR PREESCALADO 16
{ 1 FACTOR PREESCALADO 256
TEMPORIZADOR
{ 01 MODO
MODO CONTADOR
INHABILITADAS
{ 01 INTERRUPCIONES
INTERRUPCIONES HABILITADAS
1
IDENTIFICADOR
DE PALABRA DE
CONTROL DE
INTERRUPCIÓN
SIGUE PALABRA MÁSCARA
{ 01 NO
SIGUE PALABRA MÁSCARA
ACTIVO BAJO
{01 NIVEL
NIVEL ACTIVO ALTO
INT. SOBRE FUNCIÓN OR
{ 01 INT.
SOBRE FUNCIÓN AND
0 INTERRUPCIONES INHABILITADAS
{1 INTERRUPCIONES HABILITADAS
D7 D6 D5 D4 D3 D2 D1
0
IDENTIFICADOR
DE VECTOR DE
INTERRUPCIÓN
{ 01 CHEQUEA
NO CHEQUEA
SELECCIÓN E/S {0 SALIDA
1 ENTRADA
P. MÁSCARA
D7 D6 D5 D4 D3 X
X
0
IDENTIFICADOR
DE VECTOR DE
INTERRUPCIÓN
Procesadores de Propósito General
Convocatoria de Diciembre (15-12-98)
Prácticas
Enunciado:
Se requiere diseñar una miniestación meteorológica basada en el microcontrolador
80C52 de la familia MCS-51 (ver fig.1) que transmite datos sobre la velocidad del viento y
genera una señal de alarma cuando la velocidad supera un límite establecido.
El anemómetro está compuesto por unas palas que hacen girar un eje en el que se ha
dispuesto un disco opaco con cuatro perforaciones. Cada vez que el sensor óptico detecta la
presencia del agujero, activa una salida digital a nivel bajo. Este disco posee cuatro agujeros
separados por la misma distancia angular. Se sabe que el disco gira a razón de KR vueltas por
segundo cuando la velocidad del viento es de 1Km/h.
V OUT
Detector
Agujero
VOUT
RS-232
µControlador
MODEM
RADIO
ALARMA
5V
0V
90 º
360 º
Fig. 1 Anemómetro. Esquema y Diagrama de tiempos de salida
Se pide:
30 p.
70 p.
Utilizando un microcontrolador 80C52 de Intel configurado para el acceso a memoria
de programa interna y la lógica necesaria, conectar a los pines que se crea oportuno
las conexiones referentes a la alarma y al detector óptico.
Se recomienda disponer las conexiones en aquellos pines que simplifiquen el diseño del
software de la aplicación.
Dibujar el esquema total del sistema en un único folio.
Sabiendo que el microcontrolador va a trabajar con un reloj de frecuencia 16 MHz,
diseñar el software de la aplicación que permita transmitir la velocidad del viento
(expresada en Km/h) cada 5 segundos, y active la alarma mientras que la velocidad
medida supere el límite fijado Vmax.
Diseñar tanto el diagrama de flujo, como el código en 'C' de la aplicación.
NOTA: Se valorará la sencillez y eficiencia del código generado.
Descargar