Juego Con Pic 16F887
FIEC
Laboratorio de Microcontroladores
Proyecto 5
Ejercicio de potenciómetro y juego 21
Nombre del estudiante
Néstor Naula
Paralelo: # 9
Fecha de presentación:
22-08-2012
2012 – 1° TÉRMINO
1.- Enunciado del proyecto
Vamos a mostrar dos juegos con el PIC 16F887, el cual se hizo utilización de la pantalla LCD ya queimplementarlo en MicroC pro con ayuda de proteus es fácil y se comprende de mejor manera, se hizo un pequeño menú el cual, con la utilización del teclado 4x4 elegía la opción que deseaba el usuario ya sea ir al ejercicio del potenciómetro, o ir al juego opcional que era 21. Con esto saber usar sus diferentes comandos para poder mostrar mensajes en pantalla, como letras o números, ya después de haberelegido la opción la pantalla LCD se borraba y se insertaba la nueva información.
Si se elige la opción 1 se iba al juego del potenciómetro el cual, se puso la patita Re1 como entrada analógica del potenciómetro analógico, y al momento de variar la resistencia. Lo que hacía era refrescar la información que se muestra en la pantalla ubicando, en valor en binario y el valor en decimal delporcentaje de resistencia que se tiene en ese instante y se salía al menú presionando la opción 3.
Si se elige la opción 3 se iba al juego 21 el cual, se puso la generación de la carta aleatorio del jugador y de la mesa al presionar y soltar el botón que se encuentra en la patita Re3, este sumaba el valor acumulado de la carta del jugador y de la mesa, y mostraba en el LCD dicha información, estorefrescaba la información cada vez que se presionaba y soltaba el botón, al llegar un puntaje mayor a 21 para cualquiera de las manos, este verificaba quien era en ganador y encendía un led de la patita Rb6 y se salía al menú presionando la opción 3.
2.- Diagrama de Bloques
Teclado 4x4
Microcontrolador
PIC 16F887
Salida
Leds
Botón Jugador
LCD
2 Display
3.- Diagrama de Flujofuncional del Programa principal
Inicio
Definir variables globales, encera los puertos
Seleccionar puertos de I/O
Inicializar el teclado y el LCD
Definir variables locales
Limpiar el LCD y escribir el menú con Lcd_Out(Fila,clumn,info);
Espera a que se presione el teclado opci= Keypad_Key_Click();Opci=2
Opci=1
0
0
1
1
Limpiar el LCD y Escribir el ejercicio2 con Lcd_Out(Fila,clumn,info);
Limpiar el LCD y Escribir el ejercicio1 con Lcd_Out(Fila,clumn,info);
0
Valor de Re1 ADC_Read(5); cambia y tem3=0
Generar números aleatorios
RE2_bit=0
0
1
tem3!=temp1
RE2_bit=1
1
0
Convierte a binario y decimal y tem3=tem1
Acumula el valor de lascartas, y compara la mano de la mesa contra el jugador
Mostar el resultado en el LCD
Mostar el resultado en el LCD
0
1
0
Opci=3
Opci=3
4.- Descripción del algoritmo o estrategia utilizada.
1. Se configuran los puertos de entrada o salida, e inmediatamente se Inicializa el LC
2. Inicializamos la variable cnt=0, el teclado 4x4 y limpiamos pantalla del LCD
3. Seprocede a escribir el menú, para poder elegir la opción.
4. Inicializamos la variable opci y este toma el valor que presionemos en el teclado4x4, mientras esta variable se mantenga en 0, indica que no ha sido presionada ninguna tecla por lo tanto queda encerrado en un lazo while
5. Cuando se presiona el uno en teclado, este realiza el ejercicio del potenciómetro, limpiando el LCD y procediendoa poner la información correspondiente.
6. Luego se lee la patita Re1 el cual se encuentra el potenciómetro analógico, y este valor se lo convierte a decimal y binario y después se procede a refrescar estos valores colocándolos en la LCD, esto se lo hace cada vez que varié la patita Re1, y al momento de presionar la tecla 3, este hace que vuelva al menú principal.
7. Cuando se presiona...
Regístrate para leer el documento completo.