Programa En Vmlab

Páginas: 6 (1264 palabras) Publicado: 20 de mayo de 2012
Sistemas Digitales – IEE256
Laboratorio Nº 2
Tarea para la casa

Nombre: John Monsalve Guevara Código: 20090484
Horario: 0528

Nota de Laboratorio(Para ser llenado por el JP) |
Tarea de casa | (4) | |
Prueba escrita | (4) | |
Programa de Laboratorio | (12) | |
Nota | | |
Firma JP | | |
| | |

Observación:_________________________________________________

_________________________________________________

28 de abril de 2012
ENUNCIADO

Escribir un programa, en lenguaje ensamblador del ATmega8, que implemente una variante del popular juego de memoria. Para ello el jugador tendrá la tarea de recordar cinco valores de cuatro bits que se irán generando aleatoriamente para luego ingresarlos uno a uno y en el orden en queaparecieron.
La interfaz con el exterior estará conformada por lo siguiente: ocho leds, cuatro interruptores y un pulsador.
A continuación se describe el funcionamiento esperado:
 Al principio del juego se muestra en los cuatro leds más significativos, de los ocho que se usarán, el número que identifica el dato a generar (de uno a cinco). Mientras que el número no es generado los otros cuatro bits(correspondientes a la parte menos significativa) deben permanecer apagados.
 Cada número se genera de manera aleatoria en el instante en que se presiona el pulsador. Este valor será presentado en los cuatro bits menos significativos que permanecieron apagados un instante anterior y permanecerá visible en estos leds mientras el pulsador siga presionado. Al soltar el pulsador estos cuatrobits se apagarán nuevamente y el identificador del dato mostrado se incrementará en uno en señal de que se espera la generación del siguiente dato. Esto es así para todos los números generados excepto para el último en cuyo caso después de soltar el pulsador se mostrarán todos los leds encendidos.

Es requisito para la aplicación que los cinco valores generados sean almacenados en memoria apartir de la dirección $120.
 En adelante la tarea del jugador es ingresar los mismos números uno tras otro en la misma secuencia en que fueron generados. Para ello primero deberá presionar y soltar el pulsador para iniciar esta segunda parte del juego. A partir de este momento se mostrará en los cuatro bits más significativos el índice del dato que se debe ingresar y en los cuatro bits menossignificativos el valor presente en los cuatro interruptores. El usuario deberá ajustar mediante estos interruptores el valor que desea ingresar y a continuación emplear el pulsador para ingresar el valor. Si el valor es correcto el campo del índice del dato a ingresar se debe incrementar dando a entender que se debe ingresar el siguiente dato. Si el valor es incorrecto se debe dar porconcluido el juego encendiendo únicamente los cuatro leds menos significativos. En caso de completarse el ingreso correcto de todos los números también deberá darse por concluido el juego pero encendiendo todos los leds, señal de victoria.

Para la generación del número aleatorio se recomienda proceder de la siguiente manera. Utilizar un contador que se deberá incrementar continua y libremente cadavez que se verifique que el pulsador aún no ha sido presionado. En cuanto se detecte que el usuario ha presionado el pulsador se deberá tomar como número generado una copia de este contador pero manteniendo únicamente los cuatro bits menos significativos y descartando el resto. La aleatoriedad del número generado se obtendrá de la incertidumbre sobre el momento en que el jugador presionaría elpulsador. Se recomienda nunca reiniciar este contador de tal manera que se colabore con la aleatoriedad del siguiente valor a generar.

Conexiones a considerar:
LEDs: PB7 (MSB) .. PB0 (LSB)
Interruptores: PC3 (MSB) .. PC0 (LSB)
Pulsador: PD2

DIAGRAMA DE FLUJO

Archivo de proyecto (*.prj)

; ************************************************************
; PROJECT:
; AUTHOR:
;...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Programa
  • Programa
  • Program
  • Un Programa
  • Programas
  • Programas
  • Programa
  • Programador

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS