(Este enunciado será explicado en la primera clase que corresponda a cada grupo)
Conversión binario-ASCII
Captura de teclas pulsadas
Escritura en pantalla
Manejo de interrupciones
Operaciones con ficheros
Funcionamiento
La finalidad de la práctica es convertir la pantalla del PC en
una pantalla de visualización de un analizador lógico con 8 canales. La entrada serán una serie de números
de 8 bits. El valor digital de cada bit representa el valor lógico de una
señal digital que se supone está conectada al puerto paralelo. Estos números de 8
bits provienen de un "driver"
que, en esta primera práctica, será entregado por el profesor. El programa
a desarrollar irá leyendo estos datos digitales de uno en
uno, según los vaya entregando el conversor en función de la
temporización seleccionada, y presentará en pantalla el nivel
lógico de cada una de las señales en el instante correspondiente. Un ejemplo
de presentación de esta práctica en la pantalla del PC se muestra en la figura siguiente:
En la pantalla anterior aparecen los siguientes elementos:
Menú Configuración de Canales (F1)
Al pulsar F1 en la pantalla de visualización del Analizador Lógico deberá aparecer otra pantalla en la que aparecerán todos los parámetros que determinan el funcionamiento y comportamiento de cada canal. Al entrar en esta pantalla se debe leer de disco la última configuración conocida, si es que existe. Un posible especto de esta pantalla puede ser el siguiente, en el que se muestran todos los parámetros en forma de tabla:
Nombre | Trigger | Visible | |
Canal1 | Reset | ↑ | 1 |
Canal2 | Reloj | - | 1 |
Canal3 | Enable | 1 | 1 |
Canal4 | WR | - | 1 |
Canal5 | Datos | - | 1 |
Canal6 | Datos | - | 1 |
Canal7 | Datos | - | 1 |
Canal8 | Datos | - | 1 |
Número de Canal:_ Nombre: Trigger: Visible:
F3: Salvar Configuración F4: Cargar Configuración F9: Salir del Menú
Al aparecer esta pantalla el programa queda a la espera de que se introduzca un número de canal para su configuración, entre e 1 y el 8. Tras introducir el número de canal que queremos configurar el cursor pasa a "Nombre", luego a "Trigger" y finalmente a "Visible". El significado de cada campo es el siguiente:
↑"Nombre: Aquí se puede introducir un nombre que identifique el tipo de señal que se va a conectar. Por defecto debe poner Cx, con x de 1 a 8. El tamaño del nombre no debe superar los 8 caracteres. Si varios canales tienen el mismo nombre se asume que se han agrupado para formar un bus. El número de canal más bajo se corresponderá en el bit menos significativo.
Trigger: Indica el modo de disparo de captura asociado a esa línea. Los tipos de disparo pueden ser:
a: Esta línea no tiene condición de disparo. Se muestra el símbolo "-"
b: Disparo a nivel bajo. Se muestra el símbolo "0"
c: Disparo a nivel alto. Se muestra el símbolo "1"
d: Disparo en flanco de subida. Se muestra el símbolo "
e: Disparo en flanco de bajada. Se muestra el símbolo "
Visible: Indica si ese canal se usa o no. Si no se utiliza no se presentará en la pantalla de resultados. Las parámetros son "0" si no es visible y "1" si es visible.
La tecla F3 sirve para guardar en disco la configuración actual y la tecla F4 permite recuperar una configuración almacenada. En ambos casos el programa pedirá el nombre del fichero, incluyendo la ruta de acceso.
Al pulsar F9 se sale de esa pantalla, salvando los parámetros, y se vuelve a la pantalla desde donde fue pulsado F1.
Menú Configuración de Tiempos (F2)
En esta nueva pantalla se mostrará una tabla con los diferentes tiempos de muestreo posibles, incluyendo la posibilidad de elegir reloj externo. Una posible presentación podría ser la mostrada en la figura siguiente:
1: 55 ms | 5: 275 ms | 9: 495 ms |
2: 110 ms | 6: 330 ms | 10: 990 ms |
3: 165 ms | 7: 385 ms | 11: Máximo (poling) |
4: 220 ms | 8: 440 ms | 12: Reloj Externo |
Elegir opción: _
Análogamente al caso anterior, con la tecla F9 se sale de esta pantalla. El valor por defecto es de 55 ms.
Plazo de entrega : La presentación y evaluación de esta práctica será la indicada en el calendario, según el grupo (ver calendario ). El nombre del fichero o ficheros a entregar será de la forma parejap1.asm, por ejemplo 3a28p1.asm. Si hay más de un fichero, nombrarlo con números sucesivos y añadir un .bat que los ensamble y linke.(3a28p11.asm, 3a28p12.asm,... 3a28p1.bat)