Control de radar
P.A. Castillo Valdivieso, M. García Cruz, M.G. Arenas, G. Romero, A. Prieto Espinosa
Dpto. de Arquitectura y Tecnología de Computadores Universidad de Granada, 18071 Granada e-mail: pedro@atc.ugr.es
Resumen
La enseñanza del lenguaje ensamblador escomplicada debido a la dificultad que supone a los alumnos enfrentarse a un lenguaje de bajo nivel. La experiencia nos dice que plantear unas prácticas atractivas al alumno les hace interesarse por dicho lenguaje y por la asignatura de Estructura de los Computadores I (en la que se estudia, en la Universidad de Granada). La programación de un control de radar puede ser una práctica atractiva a losalumnos, de forma que la programación en ensamblador resulte casi un juego conforme mejoran la programación del cálculo de las coordenadas.
1. Motivación
La asignatura de Estructura de los Computadores I, en la Universidad de Granada, estudia el lenguaje máquina, centrándose en la arquitectura de la familia 80x86. Las prácticas de esta asignatura se basan, principalmente, en el estudio dellenguaje ensamblador. A pesar de las ventajas que presenta este lenguaje en cuanto a poder realizar programas completamente adaptados a la máquina y por tanto optimizados en cuanto a velocidad y utilización de recursos [1,2], su estudio debe plantearse de forma que sea lo más atractivo y cómodo para el alumno. En este trabajo se presenta una herramienta software que simula un radar que debe sercontrolado mediante un programa externo que calcule una coordenada a partir de un ángulo y una distancia. Esta práctica puede resultar atractiva a los alumnos, de forma que la programación en ensamblador sea más amena.
El radar realiza un barrido de 360 grados detectando de cuando en cuando, de forma aleatoria, objetivos que debemos capturar. El programa intercepta un objetivo a partir de lacoordenada que le transmita nuestro programa de control externo. Para ello, ambos programas se sincronizan a través de dos ficheros de texto: el simulador escribe el valor del ángulo y la distancia al objeto detectado, y nuestro programa escribe la coordenada de intercepción. Además de la implementación de los accesos a los ficheros y de la sincronización de los programas, se deben realizar cálculosmatemáticos en coma flotante para el cálculo de funciones trigonométricas. Para la práctica, el programa de control se debe desarrollar en lenguaje ensamblador, con objeto de que aprendan dicho lenguaje, y la arquitectura 80x86. El simulador ha sido desarrollado en C++, utilizando la biblioteca de programación gráfica gtkmm2 [3], de forma que puede ser compilado y utilizado fácilmente, tanto enWindows como en Linux/Unix. El resto del artículo está estructurado como sigue: en la siguiente sección se describe el simulador desarrollado; en la tercera sección se explica cómo usar el simulador en prácticas. La cuarta sección expone diferentes formas de calcular el seno y coseno para el cálculo de las coordenadas a partir de la distancia y ángulo. Por último, la quinta sección expone una seriede conclusiones.
2. El simulador
El sistema constará de dos programas (ver las Figuras 1 y 3): un simulador que muestra el radar (programa gráfico, a la izquierda), y otro programa que realiza el control del primero
508
Recursos docentes
Figura 1. Captura de pantalla bajo Windows en la que el programa-control (a la derecha) envía coordenadas al simulador del radar (a la izquierda).En este caso, el radar muestra cinco objetivos, de los cuales el control ha interceptado a dos (a la derecha vemos las coordenadas a las que se ordena interceptar). Conforme el detector del radar avanza, los objetivos que quedan más lejanos van desapareciendo.
(programa que se ejecuta en modo texto en una ventana de comandos, a la derecha). El sistema funciona de la siguiente forma: 1. La...
Regístrate para leer el documento completo.