Matrix keypads are common devices where human has to interact with embedded system. Most common are scanning matrix keypads where rows or columns are constantly scanned to detect which button were pressed.
This nice course takes goes through theoretical explanation to practical implementation on AVR and 8051 microcontrollers. Each schematic is followed by ASM and C example programs. This is really practical tutorial especially for those who are new to microcontrollers.