bueno ya encontre la solucion jeje mas que no se si alguien pueda ayudarme a simplificar mas el programa aqui les dejo lo que tengo
Pic master
#include <16F877A.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP
#use delay(clock=4000000)
#use rs232(baud=9600, xmit=pin_c6, rcv=pin_c7, bits=8)
#include <LCD.C>
void main()
{
int orden;
lcd_init();
while(TRUE) {
lcd_gotoxy(1,1);
orden = input_b();
if(!orden) {
printf(lcd_putc,"TX En Espera ");
lcd_gotoxy(1,2);
printf(lcd_putc," ");
putc('A');
}
else
printf(lcd_putc,"Tx Alarma %d ", orden);
switch(orden) {
case 0x01:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('B');
break;
case 0x02:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('C');
break;
case 0x03:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('D');
break;
case 0x04:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('E');
break;
case 0x05:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('F');
break;
case 0x06:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('G');
break;
case 0x07:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('H');
break;
case 0x08:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('I');
break;
case 0x09:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('J');
break;
case 0x0A:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('K');
break;
case 0x0B:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('L');
break;
case 0x0C:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('M');
break;
case 0x0D:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('N');
break;
case 0x0E:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('O');
break;
case 0x0F:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('P');
break;
case 0x10:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('Q');
break;
case 0x11:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('R');
break;
case 0x12:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('S');
break;
case 0x13:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('T');
break;
case 0x14:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('U');
break;
case 0x15:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('V');
break;
case 0x16:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('W');
break;
case 0x17:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('X');
break;
case 0x18:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('Y');
break;
case 0x19:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('Z');
break;
case 0x1A:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('a');
break;
case 0x1B:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('b');
break;
case 0x1C:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('c');
break;
case 0x1D:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('d');
break;
case 0x1E:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('e');
break;
case 0x1F:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('f');
break;
case 0x20:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('g');
break;
case 0x21:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('h');
break;
case 0x22:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('i');
break;
case 0x23:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('j');
break;
case 0x24:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('k');
break;
case 0x25:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('l');
break;
case 0x26:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('m');
break;
case 0x27:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('n');
break;
case 0x28:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('o');
break;
case 0x29:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('p');
break;
case 0x2A:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('q');
break;
case 0x2B:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('r');
break;
case 0x2C:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('s');
break;
case 0x2D:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('t');
break;
case 0x2E:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('u');
break;
case 0x2F:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('v');
break;
case 0x30:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('w');
break;
case 0x31:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('x');
break;
case 0x32:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('y');
break;
case 0x33:
lcd_gotoxy(1,2);
printf(lcd_putc,"Puerta abierta");
putc('z');
break;
}
}
}
Pic Slave
#include <16F877A.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP
#use delay(clock=4000000)
#use rs232(baud=9600, xmit=pin_c6, rcv=pin_c7, bits=8)
#use standard_io(B)
#include <LCD.C>
void main()
{
char lectura;
lcd_init();
do
{
lectura=getchar();
if(lectura=='A'){
OUTPUT_B(0x00);
lcd_gotoxy(1,1);
printf(lcd_putc,"Rx esperando ");
lcd_gotoxy(1,2);
printf(lcd_putc," ");
}
if(lectura=='B'){
OUTPUT_B(0x0A);
lcd_gotoxy(1,1);
printf(lcd_putc,"Rx Recibiendo");
lcd_gotoxy(1,2);
printf(lcd_putc,"Alama 1 Abierta");
}
}while(true);
}