OK, gracias por la sugerencia, ahorita la checo.
El teclado lo puedes hacer así:

Una buena manera de ahorrar líneas de entrada al micro es, en lugar de dedicar una línea exclusiva por cada tecla utilizada, emplear un teclado matricial. El teclado matricial se caracteriza por estar cada una de las teclas conectada a dos líneas (una columna y una fila) que la identifican. De este modo el número de teclas que pueden conectarse es el producto de filas por el de columnas. En el esquema se muestra la manera correcta de conectar un teclado matricial a un PIC.
La técnica de programación requiere tanto de entradas como de salidas. Las filas están conectadas a las patillas de salida y las columnas a las de entrada.
Se comienza el testeo colocando a ‘0’ la primera fila, y a ‘1’ las restantes. Si la tecla pulsada estuviese en la columna ‘0’, ésta colocaría en su línea un ‘0’ lógico. Bastará con hacer un muestreo de las columnas, buscando el 0, para saber la tecla exacta que fue pulsada en la matriz.
Si no es pulsada ninguna tecla en una fila, las entradas se encuentran en estado flotante, razón por la que son necesarias las resistencias de polarización internas, que mantienen las entradas a nivel alto. Dichas resistencia permiten conectar el teclado matricial sin añadir componentes externos. Su activación se realiza a través del bit RBPU del registro OPTION.