Space Invader

Hola mi nombre es Edgar Enrique Garcia Monge estudiante de Ing. en la Universidad Don Bosco de El Salvador estoy cursando una materia llamada Sistemas Digitales y como proyecto final de catedra me han pedido el Space Invader, me han dado ciertos lineamientos como usar una matriz de leds de 5x7, utilizar 74194 que las naves vayan cayendo de una forma casi aleatoria, q el usuario tenga tres botones uno para moverse derecha y otro para l izquierda y un tercer boton para disparar se supone q el disparo debe de verse y q al impactar el disparo con la nave esta se elimine llevar score de naves destruidas y cuando se vaya ganando tambien bueno yo lei los lineamientos de esta pagina y no les pido q me hagan el ckt sino q me colaboren dandome ideas de como manejar la matriz de leds integrados a usar y puntos asi se los agradeceria mucho.
Nos vemos y como dicen Hoy por Ti mañana por mi. Cuidende y que viva la elctronica
 
Evidentemente necesitaras un micro, ya nos indicaras cual, yo te recomiendo un pic16f876 o pic16f877.

Para abrir boca, unas ideas
http://www.villatic.org/index.php?option=com_content&task=view&id=87&Itemid=2



Primero debes mirar si puedes conectar directamente el display al pic y te ahorras componentes, creo que si.

Basicamente yo lo plantearia asi:

La pantalla esta mapeada en la memoria o sea un array, un byte represneta una fila de 7 leds del display. O sra 7x5, pues...5 bytes de ram.



Una interrupcion del timer (pantalla multiplexada
A cada interrupcion mueves el byte de ram al puerto y los vas siguiendo secuencialmente y ciclicamente.

La gracia de utiliza interrupciones, es que no tienes que preucuparte por la pantalla, simplemente variando el valor de la ram "pantalla" en el programa principal hay suficiente.

Esta es la primera rutina que debes hacer, debe estar muy optimizada para no perder tiempo y lo mejor es primero hacer un diagrama y despues pasarla en asembler.
Durante esta primera fase lo haces sin interrupciones con un bucle y compruebas que lee la memoria ram correctamente. Despues solo deberas hacer unos minimos retoques de segurar (salvar el acumulador y banderas) y meterla en la interrupcion.






En cuanto al resto...
El programa principal simplemente miras el estado de los pulsadores y control de unUNICO DISPARO (igual al original).
El movimiento de las navespuede estar en el bucle principal o tambien lo puedes hacer por interrupciones por otro timer cada 0.5segundos por ejemplo.

Lo que son patallas las puedes grabar en la rom, game over, boom.., si logras la primera parte esto es trivial.


Un saludo de otro exestudiande de Bosco, pero de Barcelona, en mi tiempo buen colegio, mejor profesorado y un sano creciento tanto como persona como profesionalmente.
(Ojo son colegios de curitas, pero a mi nunca se me obligo a nada, no como los del opus)
 
Atrás
Arriba