Bueno el teclado en la simulacion funciona tal como esta, pero en lo real le puedes poner esas resistencias cuando vas a usar ese mismo puerto para otros fines, yo tambien pase por ese problema del teclado y las resistencias, y parece que el proteus no se lleva bien con esa configuracion, con respecto a tu programa, no entiendo lo que tratas de hacer en el, por lo que e podido observar, es que estas tratando de sensar el valor de la tecla y de acuerdo a eso poder verlo en el LCD, si es eso estas tratando mal el asunto, otra cosa que veo es que mientras esperas que se ´pulse una tecla estas constantemente limpiando la pantalla, es no es necesario ya qeu asi vas a acargar mas al simulador, te recomensaria que trataras de atender el teclado y el RB0 por interrupciones y cuando se produsca algo recien atienda ese evento, mientras espera podrias poner al pic a dormir. es una sugerencia.