Tag Archives: matrix keypad


MM74C922N-based encoded matrix keypad

Matrix keypads are an excellent way of providing user input data into microcontroller-based systems. Keypads find applications in remote controls, standalone data-loggers, security systems, door entry systems, calculators, microwave ovens, etc. They are usually implemented as pushbutton switches arranged in a row and column matrix format to reduce the number of I/O connections. For example, a 16-switch keypad is arranged in a 4 X 4 matrix format requiring 8 I/O connections. A pressed key is detected and identified by scanning the keypad to look for a short circuit condition between a row and a column wire. The keypad scanning can be done either by polling or by means of an interrupt routine. In the polling approach, the scanning process is repeated in a continuous loop, which results in waste of CPU time. The interrupt-approach is more efficient and it notifies the processor when there is a keystroke. Another approach of interfacing a keypad to the microcontroller is by using a dedicated keypad encoder IC, which further reduces the I/O connections and makes the interface much simpler. In this project, we are building a simplified 16-switch keypad using the MM74C922 encoder chip, which converts a key switch closure to a 4-bit nibble output.

MM74C22N based encoded keypad

MM74C922N based encoded keypad

Read more

Lab 18: Matrix keypad interfacing

Matrix keypads are very common input devices in embedded systems. They have simple architecture and are easy to interface. One good thing about them is that they allow you to interface a large number of input keys to a microcontroller with minimum usage of  I/O resources. This tutorial describes two different approaches of reading input data from a 4×4 (16 keys) matrix keypad interfaced to a PIC microcontroller. The pressed key information is displayed on a character LCD. The microcontroller used in this experiment is PIC16F1827.

4x4 matrix keypad interfaced to PICMicro

Read more