You are on page 1of 2

#include <16f877.

h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=4000000)
#include <lcd.c>
#byte sspbuf=0x13
#byte ptob=6
#byte trisb=0x86
#byte ptoc=7
#byte trisc=0x87
char dato_r,a;
void main()
{
setup_spi(SPI_MASTER|SPI_L_TO_H|SPI_XMIT_L_TO_H|SPI_CLK_DIV_64);
lcd_init();
trisb=0;
trisc=16;

while (true)
{
a=1;
spi_write(a);
while(!spi_data_is_in());
dato_r=spi_read();
if(dato_r!=0)
if(dato_r=='B')
lcd_putc('\f');
else
printf(lcd_putc," %c",dato_r);
lcd_gotoxy(5,1);
}
}
codigo del esclavo:
#include <16f877.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=4000000)
#define use_portb_kbd TRUE
#include <KBD2.c> //libreria manejo keypad
#byte ptoa=5
#byte trisa=0x85
#byte ptoc=7
#byte trisc=0x87
char c;
void main()
{
port_b_pullups(TRUE);
trisa=0;
trisc=24;
setup_spi(SPI_SLAVE| SPI_H_TO_L|SPI_XMIT_L_TO_H|SPI_SS_DISABLED);
while(true)
{
while(!spi_data_is_in());
c=kbd_getc();//se lee la tecla pulsada
delay_ms(2);
spi_read(c);
}
}

You might also like