Este es un juego para 2 jugadores, basado en el microcontrolador 8051 AT89S52 . Este juego cuenta con dos botones (uno para cada jugador) y un conjunto de 8 LED para cada uno. Requiere altos reflejos, ya que debes presionar el botón lo más rápido que puedas. Cada presión ayudaría a que los LED sucesivos brillaran hasta que los 8 LED estuvieran encendidos.
La competencia se trata de qué tan rápido puedes cambiar (presionar y luego soltar) los botones ; cuanto más rápida sea la velocidad de presionar el botón, mayores serán tus posibilidades de ganar. Tan pronto como cualquiera de los jugadores llegue al último LED, el botón del otro jugador se desactivará, lo que significa que no responderá al presionarlo. Además, los LED del ganador comenzarán a alternarse. Esto asegurará resultados precisos. Para reiniciar el juego, presione el botón de reinicio (botón conectado al pin 9 del microcontrolador).
Fig. 1: Prototipo de juego LED más rápido basado en el microcontrolador 8051
Figura 2: Imagen que muestra el juego LED más rápido
Los LED correspondientes al JUGADOR 1 están conectados al PUERTO 2, mientras que para el JUGADOR 2, los LED están conectados al PUERTO 3. Los botones están conectados a los pines P1.1 y P1.2 para el JUGADOR 1 y el JUGADOR 2 respectivamente. Utilicé variables enteras “presionado (0) y presionado (1)” (en la parte de codificación) para asegurar que el microcontrolador cuente solo aquellas pulsaciones que se realizan después de soltar el botón. Esto garantizará el juego limpio.
También declaré una matriz arr , que comprende los valores hexadecimales para que los LED se iluminen sucesivamente. También creé una función de retraso: delay_msec, usando TIMERS para proporcionar un retraso (en milisegundos) cuando sea necesario.
Como 8051 no puede realizar múltiples tareas, para juzgar a los 2 jugadores individualmente, escribí el código de tal manera que parezca realizar múltiples tareas. Esto era necesario para contar cada empujón perfecto y, por lo tanto, dar como resultado un juego de decisión justa.
Componentes y aplicaciones
REQUISITOS:
- AT89S52 (microcontrolador 8051)
- 16 LED (8 para cada jugador)
- Dos botones de buena calidad (pequeños)
- 1 cristal: – 11,0592 MHz
- regulador de voltaje 7805
- Una batería de 9 V CC
FORMAS:
· Esto puede usarse como una plataforma para que dos jugadores tomen decisiones sobre tarifas desde sus puntos de vista contradictorios (es similar a lanzar una moneda y tomar decisiones, pero con un toque electrónico).
· También se puede utilizar un juego normal para que los niños se diviertan y practiquen sus reflejos.
Código fuente del proyecto
###
#incluirbit B1=P1^1; bit B2=P1^2; intarr ={0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff}; retraso nulo_msec (tiempo int) { int i=0; mientras yo mientras(TF1==0); TR1=0; TF1=0; yo ++; } } vacío principal { int i=0,j=0,presionado(2)={0,0}; B1=B2=1; P1=0x00; P2=0x00; P3=0x00; mientras(1) { si(B1==0 && presionado(0)==1) {delay_msec(20);presionado(0)=0;} si(B2==0 && presionado(1)==1) {delay_msec(20);presionado(1)=0;} si(B1==1 && presionado(0)==0) {delay_msec(20); presionado(0)=1; P2=arr(i);i++; si(yo==8) {P2=0x00; mientras(1) {P2=~P2;retraso_msec(150);} } } si(B2==1 && presionado(1)==0) {delay_msec(20); presionado(1)=1; P3=arr(j);j++; si(j==8) {P3=0x00; mientras(1) {P3=~P3;retraso_msec(150);} } } }}
###
Diagramas de circuito
Diagrama-de-circuito-8051-Juego-LED-más-rápido-basado-en-microcontrolador | |
Diagrama-de-circuito-8051-Juego-LED-más rápido basado en microcontrolador_0 |