TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado 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!!!
-
Utiliza el buscador, hay mucha información al respecto.
Saludos!
-
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