Hola amigo, si ya lo has hecho por separado es muy fácil integrarlo.
Puedes hacer lo siguiente: Debes trabajar preferiblemente el LCD a 4bits, por la parte alta del puerto conectas los dato del LCD (D7 a D4), paralelamente conectas las columnas del teclado, las filas las conectas en la parte baja del puerto.
Así creas un rutina de teclado haciendo barrido por las columnas y luego en una rutina independiente de LCD envías los datos, debes tener en cuenta no enviar datos al LCD dentro de la rutina de teclado, si lo requieres hacer debes salvar el estado del puerto.
Acá en el foro hay muchos ejemplos al respecto.
Saludos