Autor Tema: Ejercicio tragaperras PIC16F84A en C  (Leído 2914 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado carba16

  • PIC10
  • *
  • Mensajes: 2
Ejercicio tragaperras PIC16F84A en C
« en: 16 de Mayo de 2008, 15:02:19 »
  Hola tengo un problema, no tengo disponible un simulador para probar este ejercicio , si alguien podria echarme una mano... para antes del lunes ( ya q es el examen). o en otro caso si veis algun error en el siguiente ejercicio.
Gracias de antemano
un saludo.


EJERCICIO DE TRAGAPERRAS CON EL PIC16F84A EN C

Maquina tragaperras (los 1 unos de mueven de 1 a 5) se incrementan las ganancias de 10 en 10.  PIN_RA3. parar la maquina tragaperras.
Si los numeros son iguales en el momento q RA3 es cero se incrementa en 10 las ganancias.




   int8 traga=1;   
   int8 retardo1=125, pos1, retardo2=250, pos2, retardo3=500, pos3;
   
   #INT_TIMER0        //Interrupcion.
      contaje()
      {
         if (retardo1 || retardo2 || retardo3)
         {
            retardo1--;
            retardo2--;
            retardo3--;
         }
         else
         {
            retardo1=125;
            retardo2=250;
            retardo3=500;
            if (traga<6)
               traga++;
            else
               traga=1;
         }
         set_timer0(130);
      }
      char win1[]="Enhorabuena!!", win2[]="Ganas 100Euros";
      char gana[]="GANA: 0";//el cero es para el dinero ya ke sumara de 10 en 10 hasta 90.
      int8 dinero=0;//se incrementara de 1 en 1 hasta 9
     
     
   
   
   
     
     
void main()
{

   port_b_pullups(TRUE);
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_4);
   set_timer0(130);
   // TODO: USER CODE!!
   enable_interrupts(INT_RTCC);
   enable_interrupts(GLOBAL);
   set_tris_A(0b00011000);  //para activar pulsadores RA3 y RA4 (porque son los que se usan)
   IniciaLcd();
   EscrituraLcd(apaga_cursor, CTRL);  //apaga cursor del Lcd, cero o CTRL para instrucciones y 1 o TEXT para poner texto
   do
   {
      EscrituraLcd(0x81,CTRL); // escribe en la posicion del lcd.
      TextoLCD(gana);//gana es el nombre del array inicializado arriba
      EscrituraLcd(dinero+48,TEXT);// dinero son las ganancias acumuladas de 10 en 10.+48 para q aparezca 00.comprobar posicion por si varia.
      do
      {
         retardo1=125;//cambia la velocidad del timer
         EscrituraLcd(0xC9,CTRL);
         pos1=traga;//paso la variable traga para despues comprobar el valor en que se para.
         EscrituraLcd(pos1+48,TEXT);
         retardo2=250;//cambia la velocidad del timer
         EscrituraLcd(0xCB,CTRL);
         pos2=traga;//paso la variable traga para despues comprobar el valor en que se para.
         EscrituraLcd(pos2+48,TEXT);
         retardo3=500;//cambia la velocidad del timer
         EscrituraLcd(0xCD,CTRL);
         pos3=traga;//paso la variable traga para despues comprobar el valor en que se para.
         EscrituraLcd(pos3+48,TEXT); 
      }
      while(!input_state(PIN_A3));   // comprueba el pinA3.si es cero.
      while(input_state(PIN_A3))   //comprueba si el pinA3 es 1.
      {
         EscrituraLcd(0xC9,CTRL);
         EscrituraLcd(pos1+48,TEXT);
         EscrituraLcd(0xCB,CTRL);
         EscrituraLcd(pos2+48,TEXT);
         EscrituraLcd(0xCD,CTRL);
         EscrituraLcd(pos3+48,TEXT);
         if (pos1==pos2 && pos2==pos3)
         {
            dinero++;//incrementa dinero de 1 en 1.
            if (dinero>9) //comprueba si dinero llega a 9.
            {
               EscrituraLcd(LCD_CLR_DISP,CTRL);//BORRAMOS PANTALLA
               EscrituraLcd(0x80,CTRL);
               TextoLcd(win1);
               EscrituraLcd(0xc0,CTRL);
               TextoLcd(win2);
            }
         }
      }
   }
   while(1);
}

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: Ejercicio tragaperras PIC16F84A en C
« Respuesta #1 en: 16 de Mayo de 2008, 15:42:47 »
Saludos carba16!
Podrías poner el código completo para compilarlo y probarlo?
Porque veo que faltan las funciones para manejar el lcd...
Y si puedes colocar el esquemático del circuito para cuando tenga un tiempito simularlo...
Ok nos leemos!  :mrgreen:
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web

Desconectado serukai

  • PIC10
  • *
  • Mensajes: 1
Re: Ejercicio tragaperras PIC16F84A en C
« Respuesta #2 en: 17 de Mayo de 2008, 06:57:18 »
ya te pongo yo la libreria para majenar el lcd qe carba no se si podra,toma la puedes descargar de aki y muxas gracias por tu ayuda

http://www.megaupload.com/es/?d=CLQQFVI0

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: Ejercicio tragaperras PIC16F84A en C
« Respuesta #3 en: 17 de Mayo de 2008, 10:03:29 »
Saludos serukai, bienvenido al foro!
Ok ya estoy descargando el archivo...
En lo que tenga chance lo reviso y compilo... nos leemos!  :mrgreen:
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web


 

anything