Autor Tema: Ayuda con contador ascendente descendente en LCD  (Leído 2996 veces)

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

Desconectado bruno134

  • PIC10
  • *
  • Mensajes: 1
Ayuda con contador ascendente descendente en LCD
« en: 10 de Julio de 2012, 19:08:24 »
Ola manes, muy buena la pagina me ah ayudado bastante en mis trabajos, quisiera por favor nuevamente una ayuda. He hecho un contador ascendente y descendente que se muestra en una pantalla LCD, estoy utilizando el pic 16f628a y el compilador ccs, todo corre bien pero quiero agregarle al proyecto que el numero que sale en el LCD sea el valor de tiempo que un led deba estar encendido por supuesto al apretar un tercer boton, el led debe de prenderse el tiempo que uno pone en el LCD, quisiera saber que sentencia debo usa o como hacerlo muchas gracias espero nuevamente me ayuden.

este es el programa:

#include <16F628A.h>
#fuses INTRC_IO,NOCPD,NOWDT,NOPUT,NOLVP,NOBROWNOUT,NOMCLR
#use delay (INTERNAL=4000000)         //Fosc=4Mhz
#define use_portb_lcd TRUE
#include <lcd.c>

char tabNum[10]={'0','1','2','3','4','5','6','7','8','9'},i=0,j=0;

void visualizar()
{
   lcd_gotoxy(8,1);
   printf(lcd_putc, "%c",tabNum);
   printf(lcd_putc, "\b");
   
    lcd_gotoxy(7,1);
   printf(lcd_putc, ".");
   
   lcd_gotoxy(10,1);
   printf(lcd_putc, "XXX");
   
   lcd_gotoxy(6,1);
   printf(lcd_putc, "%c",tabNum[j]);
   printf(lcd_putc, "\b");
   
}

void cuenta()
{
   if(!input(PIN_A0))
   {
      do
      {
      }while(!input(PIN_A0));
      i++;
      if(i==10)
      {
         i=0; j++;
         if(j==3)
         {
            j=3;
            if(i==0);(j==3);
            {i=0;
            }
           
         }
         
   }
   
 }
      if(!input(PIN_A1))
      {
      do
      {
      }while(!input(PIN_A1));
      i--;
      if(i==-1)
      {
         i=9;j--;
         if(j==-1)
         
         {
            j=0;
            if(i==-1);(j==-1);
            {i=0;
            }
           
         }
         
         }
   }
}

void main(void)
{

   lcd_init();
   printf(lcd_putc, " XXXXXXXXXXXX\n  ");
   delay_ms(3000);
   printf(lcd_putc, "\f");
   printf(lcd_putc, " \nXXXXXXXXXX");
   lcd_gotoxy(8,1);
   
   do
   {
      visualizar();
      cuenta();
   }while(TRUE);
}
           

Desconectado Pepo12

  • PIC10
  • *
  • Mensajes: 16
Re: Ayuda con contador ascendente descendente en LCD
« Respuesta #1 en: 17 de Julio de 2012, 16:46:39 »
Hola bruno134,

Te esta funcionando bien lo del LCD?

Dentro del MAIN, deverias agregar algo como esto:


do
   {
   visualizar();
   cuenta();


   if(!input(BOTON_DISPARO))
      {
      delay_ms(tu_tiempo);
      }


   }while(TRUE);


Saludos!

Desconectado Pepo12

  • PIC10
  • *
  • Mensajes: 16
Re: Ayuda con contador ascendente descendente en LCD
« Respuesta #2 en: 17 de Julio de 2012, 16:56:16 »
...
« Última modificación: 17 de Julio de 2012, 17:01:32 por Pepo12 »


 

anything