Hola: Estoy tratando de utilizar el teclado y lcd en el mismo puerto B usando el 16f883. Tenía un programa para el 16f876 y funcionaba bien pero al momento de usarlo en el 16f883 no pude. Una solución fue ponerlos en puertos diferentes pero me gustaría saber si se puede usar únicamente un puerto. ¿que me falta en mi codiigo?. Agradezco su ayuda. Buen día.
#include <16f876.h>
#fuses XT, NOWDT, NOPROTECT, NOLVP
#use delay (clock=4000000)
#include <lcd.c>
#include <kbd.c>
void main(){
char k;
int x;
lcd_init();
kbd_init();
port_b_pullups(TRUE);
lcd_putc("\fListo...\n");
while (TRUE) {
k=kbd_getc();
x=k-48;
if(k!=0) {
if(k=='*')
lcd_putc('\f');
else
lcd_putc(k);
delay_ms(500);
printf(lcd_putc,"\f Car=%c", k);
delay_ms(500);
printf(lcd_putc,"\f Car=%u", k);
delay_ms(500);
printf(lcd_putc,"\f Num=%c", x);
delay_ms(500);
lcd_putc("\fListo....\n");
}
}
}