TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: rroque en 26 de Febrero de 2010, 00:09:05

Título: Como Mandar Datos desde la pc hacia un LCD en ccs
Publicado por: rroque en 26 de Febrero de 2010, 00:09:05
ola a toda la gente de todopic. Bueno hace unos dias  me pusieron un gran reto el cual es desarrollar un modulo que se encarga marcar la entrada y la salida de los trabajadores con un lector de tarjetas magneticos, que felizmente ya pude visualizar los codigos de estas. La cuestion es que estos van a la PC y entra a una base de datos y las guarda; para lo cual cuando este haya recibido el codigo, este transmita el nombre de la persona y la visualice en el LCD diciendo bievenida o hasta luego segun sea el caso. El modulo es simple en si un lcd con dos pulsadores y lector de tarjetas.
Lo que logre y no es muxo es que me devuelva un solo caracter. Mi duda es como recibir un cadena mayor en un lcd.

Gracias

Espero su respuesta!!!
Título: Re: Como Mandar Datos desde la pc hacia un LCD en ccs
Publicado por: Suky en 26 de Febrero de 2010, 00:46:07
Utiliza el buscador, hay mucha información al respecto.


Saludos!
Título: Re: Como Mandar Datos desde la pc hacia un LCD en ccs
Publicado por: rroque en 28 de Febrero de 2010, 13:38:56
Bueno con referente a este tema ... logre algo despues de revisar algunos tenemas sobre esto y llegue a algo interesante.
Les muestro el codigo espero opiniones....

#include <16F877A.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP,NOPUT,NOBROWNOUT,NOCPD,NOWRT,NODEBUG
#use delay(clock=4000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)
#include <lcd.c>
#include <string.h>

//VARIABLE DE INGRESO DE DATOS

char uuuu;
int posx=0;
int posy=0;

//Programa Principal

void main(void)             

{
   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   enable_interrupts (INT_RDA);
   enable_interrupts (GLOBAL);

   lcd_init();        
   lcd_putc("\f");
   posx=1;
   posy=1;

   while(true)
   {
      uuuu = getc();
      //printf("%u",uuuu);
   if(posx>16)
   {
       posx=1;
 
   if(posy==1)
     {
         posy=2;
     }

    else
     {
   posy=1;
     }
}

lcd_gotoxy(posx,posy);
lcd_putc(uuuu); 
if(uuuu == 27)
{
   lcd_putc("\f");
    posx=0;
    posy=1;
}
posx = posx +1;
}

   while(true)
   {
   int x;
      for(x=0;x<16;x++)
       {
   
          lcd_gotoxy(x+1,1);

       }

  } //Fin de while
} //Fin de Void main