#include <16f877.h>
#include <string.h>
#include <stdlib.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,BROWNOUT
#use delay(clock=4000000)
#use standard_io(b)
#use standard_io(d)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)
#include "flex_lcd.c"
char Keypress=' ';
char Serie[10];
char Serie2;
char temp[3];
int i=0;
int y = 0;
#int_rda
void serial_isr() {
Keypress=0x00;
if(kbhit()){//Devuelve verdadero si hay un dato en RS232
y = 1;
Keypress
=getc(); //El dato recivido lo coloca en keypressif (Keypress !='\x0a')
{
sprintf(temp
,"%c",Keypress
);//copia keypress a temp strcat(Serie
,temp
);//Coloca temp al final de serie }
else
i = 1;//nos indica que ha recivido una cadena de caracteres completa
}
}
void main()
{
enable_interrupts(global);
enable_interrupts(int_rda);
lcd_init();
do{
if ( y == 1 )
lcd_putc("SI");
else
lcd_putc("NO");
if ( i == 1 )
{
lcd_putc(Serie);
i=0; //reinicia
}
} while (TRUE);
}