Es fácil. Necesitarás tantos pines como la suma de columnas y filas de tu teclado; si es por ejemplo de 12 teclas, con 4 filas y 3 columnas, necesitarás 7 pines del micro.
Cuando quieras comprobar si hay alguna tecla pulsada configuras como entradas los pines asignados a, por ejemplo, las filas y como salidas los demás, o sea, las columnas. A continuación haces un barrido columna a columna sacando un 1 en cada una y 0 por el resto.
Si hay alguna tecla pulsada, te encontrarás un 1 en la fila donde esté la tecla pulsada. Lógicamente, como sabes qué columna estás activando en ese momento y acabas de leer la fila correspondiente, ya tienes identificada la tecla.
Si te interesa controlar cuándo se suelta la tecla, tendrás que seguir en un bucle hasta que el usuario quite el dedo.
Y no olvides poner algún antirrebotes para evitar errores.