Vous êtes sur la page 1sur 9

Asignacin Microcontroladores: JuegoSimn

Descripcin del juego Simon: Es un juego electrnico creado por Ralph Barren en 1978. Tuvo un gran xito durante los 80. Tiene or!a de disco" en una de sus caras se puede ver cuatro cuadrantes" cada uno con un color# verde" rojo" a$ul % a!arillo en su versin original. &u no!'re se de'e por el conocido juego tradicional del !is!o no!'re# &i!n dice" de donde se inspira. El juego de or!a aleatoria va ilu!inando los cuadrantes de colores" % a la ve$ (ue se ilu!ina cada cuadrante e!ite un sonido propio. )espus de esperar" el usuario de'e ir introduciendo la secuencia !ostrada en el orden correcto" a%ud*ndose de su !e!oria visual % sonora. &i lo consigue" ste responder* con una secuencia !*s larga" % as+ sucesiva!ente. &i alla" el usuario de'e volver a e!pe$ar. ,os distintos niveles de di icultad van au!entando la velocidad de la secuencia a repetir. -*s de dos dcadas despus han salido distintas versiones actuali$ando la electrnica del aparato" con !*s o !ejores e ectos visuales % sonoros o a.adiendo !*s colores % sonidos de los cuatro originales.

En esta liga puede jugar el juego /&0-123 en l+nea# http#44555.canaltrans.co!4!atatie!po4si!on.ht!l

Descripcin de la asignacin: ,a asignacin consiste en dise.ar e i!ple!entar un prototipo del juego /&0-123. El dise.o de'er* cu!plir al !enos con las caracter+sticas siguientes. Hardware: 6 ,eds# ,1" ,7" ,8 % ,6 9uno para cada se.al visual: 6 Botones# B1" B7" B8 % B6 9uno para cada color: % un 'otn extra para inicio# del juego#/&3. Bocina ;n displa% de 7 seg!entos en donde se estar* !ostrando el nivel en el (ue va el juego.

Software <l encender el siste!a" ste !uestra una secuencia de sonidos % luces a !odo de 'ienvenida indicando (ue est* lista para co!en$ar el juego. El juego inicia al presionar el 'otn de inicio. &i este 'otn se presiona en cual(uier !o!ento durante el juego" este vuelve a co!en$ar desde el nivel 0. En un displa% de 7 seg!entos se !uestra el nivel en el (ue se encuentra el juego. El nivel es el n=!ero de ele!entos (ue tiene hasta ese !o!ento la secuencia de luces. >ada ele!ento de la secuencia est* asociado a un tono % un led. >uando se !uestra la secuencia" se presenta en orden cada ele!ento de secuencia. Es decir se enciende el led % suena el tono asociado al ele!ento de la secuencia. ,a secuencia de luces es al inicio de un ele!ento. % cada ve$ (ue el jugador introduce la secuencia correcta" se agrega un ele!ento !*s a esta. >ada ve$ (ue el jugador introdu$ca correcta!ente uno de los ele!entos de la secuencia" se de'e escuchar el tono % encender el led asociados a dicho ele!ento. &i el ele!ento introducido es errneo" se de'e escuchar un tono /Booop3 indicando el error. &i el jugador introduce un error en la secuencia" se de'e indicar (ue el jugador perdi. Esto puede ser haciendo sonidos o despliegues en el leds % !ostrar la letra /?3 inter!itente en el displa%. >uando la secuencia llegue a 10 ele!entos % el jugador la introdu$ca correcta!ente" se de'e indicar (ue el jugador gan. Esto puede ser haciendo sonidos o despliegues en el leds % !ostrar la letra /@3 inter!itente en el displa%.. Aueda a li'ertad del dise.ador agregar caracter+sticas extras para conseguir puntos extras so're exa!en. ,os puntos extras se reparten a su gusto entre los integrantes 9un integrante puede tener co!o !*xi!o 6 puntos:. ?or eje!plo# -anejar dos displa%s para nivel !*xi!o de 7B 9C puntos:. ?oner l+!ite en el tie!po de espera para introducir la secuencia 9C puntos:. ?resentacin excelente del prototipo 9en caja" ocos de colores" etc:97 puntos:. -ostrar en or!a consecutiva las letras de los !ensajes" @<2<&TE o ?ER)0&TE en el displa% seg=n sea el caso. 96 puntos:. ?resentacin se!ana de ingenier+a 1er se!ana de !ar$o 9slo los 8 !ejores: 9C puntos : -ejora propuesta por el alu!no.

Proyecto Juego Simn

)iagra!a de estados

R;TD,EE

iE0

,EEDB1T12

21

B1TEE<RRE@ G i H

&0 i FF E&T<)1 E 6 9?ierde:

RET;R2 i EE 20IE,

&0

20IE,EE -<J

&0

E&T<)1 E 8 9@ana: E&T<)1 E 1 9sigue: RET;R2

RET;R2

;RandTMR0.asm ;Programa demostracin como usar TMR0 para generar nmeros aleatorios. ;Funciona en hardware de las tareas anteriores. ;PORTA, Microswitches A!a"o#0; Arri!a#$% ;PORT&, 'ispla( de ) segmentos &it 0 segmento A% ;PORT*, +,';PORT'0, Push !oton. ;PORT'$, Push !oton. ;*ada .e/ 0ue se lee el TMR0, se o!tiene un numero di1erente. ;-e puede conciderar un generador de numeros aleatorios si la lectura ;de TMR0 se hace en !ase a un e.ento e2terno no en la secuencia del cdigo%. 3include 4P$5F66).78*4 +7-T P#$5F66) RA'79 :,9 ;;*O8F7< ;*O8F7<$, ;78TO-*7O = ;>'T;OFF = ;M*+R,;OFF = ;&OR;OFF = ;7,-O;OFF = ;F*M,8;OFF = ;+?P;OFF ;33333333333333333333333333333333333333333333333 ; 'eclaracin de .aria!les *&+O*@ 02A0 au2 ,8'* ;33333333333333333333333333333333333333333333333 ; ?ector de 7nterrupciones OR< 0200 ;'ireccin de R,-,T programa% <OTO 787*7O OR< 0900$0 ;33333333333333333333333333333333333333333333333333333333333 TA&+A)-,< addw1 P*+ retlw !B00000$$0B ; $ retlw !B0$0$$0$$B ; A retlw !B0$00$$$$B ; C retlw !B0$$00$$0B ; D retlw !B0$$0$$0$B ; E retlw !B0$$$$$00B ; 5 retlw !B00000$$$B ; ) retlw !B0$$0$$$$B ; F ;333333333333333333333333333333333333333333333333333 ;-u!rutinas *O8F;PTO;GGGGG*on1iguar puerto A entrada MicroswitchsGGGGGGGGGGGGGGGGGGG !anHsel A8-,+ ;Acti.a !anco en donde estI A8-,+ clr1 A8-,+ ;Puerto A como puerto digital !anHsel TR7-A ;Acti.a &anH $ mo.lw 02FF ;Puerto A como ,ntrada microsws. mo.w1 TR7-A ;GGGGG*on1iguar puerto & como salida al 'ispla(GGGGGGGGGGGGGGGGGGG !anHsel A8-,+: ;Acti.a !anco en donde estI A8-,+ &anH C% clr1 A8-,+: ;Puerto & como puerto digital !anHsel TR7-& ;Acti.a !anco en donde estI TR7-& &anH $% mo.lw 0200 ;Puerto & como -alida.

7nicio del

mo.w1 TR7-& ;GGGGG*on1igura puerto * -alida de +,'-GGGGGGGGGGGGGGG clr1 TR7-* ;TR7-* tam!ien esta en &anH $ ;GGGGG*on1igura puerto ' Push !otons GGGGGGGGGGGGGGG mo.lw !B$$$$$$$$B ;Puerto ' como ,ntardas. mo.w1 TR7-' !anHsel 0200 ;Acti.a !anco 0. return ;######################################################## ;######################################################## ;######################################################## ;*on1igura al TMRO como contador de carrera li!re a la mI2ima .elocidad ;para usarse como generador de numeros aleatorio tipo ruleta. *O8F;TMR0 !anHsel OPT7O8;R,< !c1 OPT7O8;R,<,T0*;-elecciona Relo" interno para TMR0 'e1ault 6M:JGD% !s1 OPT7O8;R,<,P-A ;-in Preescalador TMR0 !anHsel 0200 return ;######################################################## ;33333333333333333333333333333333333333333333333333333333333 ;PRO<RAMA PR78*7PA+ 787*7O call *O8F;PTOcall *O8F;TMR0 mo.lw 0200 ; Apaga -egmentos del 'ispla( mo.w1 PORT& *7*+O !t1ss goto !t1sc goto mo.1 mo.w1 rr1 rr1 mo.lw andw1 mo.1 PORT',0 KL$ PORT',0 KL$ TMR0,> au2 au2 au2 020) au2 au2,> ;,spera 0ue se presione P'0 ;,spera 0ue se li!ere P'0 ;+ee TMR0 ( slo toma en cuenta los ; !its !DM!CM!A para tomar el nmero ;aleatorio de C !its 0 a )%

call TA&+A)-,< mo.w1 PORT& <OTO ,8' *7*+O

;RNT78A ', -O87'O;-O87'O PARA ,RROR -O87'O;0 MO?+> 'B$00 MO?>F 8NM;-O87'O&-F PORT',D *A++ Retardo;$ms &*F PORT',D *A++ Retardo;$ms ',*F-J 8NM;-O87'O-,$ <OTO KLE R,TNR8 -O87'O;$ MO?+> MO?>F &-F *A++ &*F *A++ ',*F-J <OTO R,TNR8 -O87'O;A MO?+> MO?>F MO?+> MO?>F &-F *A++ &*F *A++ ',*F-J <OTO ',*F-J <OTO R,TNR8 -O87'O;C MO?+> MO?>F MO?+> MO?>F &-F *A++ &*F *A++ ',*F-J <OTO ',*F-J <OTO R,TNR8 'BA00 8NM;-O87'OPORT',D Retardo;E00micros PORT',D Retardo;E00micros 8NM;-O87'O-,$ KLE ;$00u ,8*,8'7'O O $00u APA<A'O 'BD 8NM;-O87'O-$ 'BAE0 8NM;-O87'OPORT',D Retardo;$00micros PORT',D Retardo;$00micros 8NM;-O87'O-,$ KLE 8NM;-O87'O-$,$ KLF ;$000u ,8*,8'7'O O $000u APA<A'O

;E00u ,8*,8'7'O O E00u APA<A'O

;E0u ,8*,8'7'O O E0u APA<A'O 'B6 8NM;-O87'O-$ 'BAE0 8NM;-O87'OPORT',D Retardo;E0micros PORT',D Retardo;E0micros 8NM;-O87'O-,$ KLE 8NM;-O87'O-$,$ KLF

Vous aimerez peut-être aussi