Keyboard Interrupt

Typical microcontroller applications have some sort of user input in the form of pressing a button or keypad. In battery powered applications it is desirable to have the MCU in a low power wait or stop mode while waiting for key pad input. When a user presses a key on the keypad an interrupt is generated. The interrupt wakes the MCU out of low power mode to execute the code that is appropriate for the key that was pressed. The KBI port pins eliminate glue logic by having pull-up resistors and logic that generates an interrupt if any of the port pins are pulled low.

A typical MCU key matrix has the ROW lines connected to the KBI input port pins and the COLUMN lines connected to MCU output port pins.

If any key in the matrix is pressed:

  • The row of the key is pulled low, generating an interrupt that wakes the MCU up from low-power mode

  • Software debounces and scans the columns to determine which key was depressed