Proyecto Piano (Control del hardware. Recursos avanzados)

                                    (Este enunciado será explicado en la primera clase que corresponda a cada grupo)

 

Descripción:
El objetivo de esta práctica es desarrollar un driver de acceso al hardware del PC, con el fin de generar sonidos (las diferentes notas). El driver debe de poder interactuar con el programa de la práctica 1.

Objetivos:
- Creación de ficheros .com

- Diseño y depuración de programas residentes.
- Instalación/Desinstalación de interrupciones

- Funcionamiento del temporizador, conexión del altavoz del PC.
- Uso del RTC (Real Time Clock o Reloj de Tiempo Real)

- Manejo de la interrupción 1Ch.


Elementos que se le proporcionan al alumno
- Creación de ficheros .COM
- Documentación del RTC
 

Desarrollo del driver. Las especificaciones del driver se definieron en la práctica anterior. Se trata de un programa residente que, básicamente, servirá de puente entre la aplicación de usuario y el hardware.

Al menos, deberá tener las funciones que se han listado en la práctica anterior.

En lugar de que el driver devuelva 0xEE01, como en el driver entregado en la práctica 1, deberá devolver el código de la pareja (por ejemplo 1a04, 3b10, etc)

El driver funcionará de la siguiente forma:

     Hay una función "Play nota" que configura la frecuencia del altavoz, activa el altavoz y que además activa el RTC para que corte el sonido de la nota automáticamente.

     Hay una función de "stop" que desactiva el altavoz y el RTC.

     Hay una función que devuelve el estado del driver: Para hacer esta función el alumno tendrá que añadir en los sitios que considere oportuno una variable que estará activa cuando esté sonando el altavoz y que está desactivada cuando se para. La función de estado lo que devuelve es el valor de la variable.

Otras funciones optativas:
- Que exista una función que devuelve el valor de la última nota que ha sonado, y en caso de haber sido una frecuencia rara devuelve NOTA CUSTOM (valor 14 por ejemplo) y en otro sitio el valor de la frecuencia.

- Que en la rutina de interrupción del RTC se puedan hacer esperas más largas, para que la nota suene más. En el código inicial los valores eran 1,2 y 3. Sería algo como 5,6,7,8,.... y ese control hacerlo implementando contadores en la rutina.

 

Dentro del diseño del driver están involucradas tres interrupciones cuyas rutinas de atención son las que componen dicho driver:

Trabajo a realizar en esta práctica.

  1. Desarrollo del driver.
  2. Modificación del programa de usuario (práctica 1) para el funcionamiento con el hardware conectado.

       


Plazo de entrega : La presentación y evaluación de esta práctica será según el calendario propuesto. El nombre del fichero o ficheros a entregar será de la forma parejap2.asm, por ejemplo 3a28p2.asm. Si hay más de un fichero, nombrarlo con números sucesivos y añadir un Makefile (¡¡¡ NO UN .BAT!!!!) que los ensamble y linke.(3a28p21.asm, 3a28p22.asm,... 3a28p2.bat)


Página editada y mantenida por Guillermo Glez. de Rivera
  Volver atrás