The EDE1144 Keypad Encoder IC from E•Lab Digital Engineering (www.elabinc.com) is designed to interface a matrix-type 4 row × 4 column (16-key or less) keypad to a microcontroller or other host processor. A 1-wire serial or 4-wire parallel interface returns the keypress data and can be used in conjunction with a ‘data valid’ signal for polled or interrupt-driven applications. The EDE1144 provides enhanced keypad features such as contact debouncing and key auto-repeat in an easy-to-use package that will lower software overhead in the host microcontroller and reduce the I/O pin requirements from eight to one, frequently resulting in the use of a less costly host microcontroller in your design.
In addition, the EDE1144 is electrically quiet. Many keypad encoders continually scan the keypad, radiating EMI noise from the wires leading to the keypad (resulting in trouble during emissions testing & final product certification & approval). The EDE1144 reduces this problem by monitoring the keypad with unchanging signals and then scanning only once each time a keypress is detected.
The schematic shows the standard application circuit with the EDE1144 residing between the keypad and host microcontroller/ processor. The host microcontroller receives keypress data via either the four parallel data outputs (D0-D3, Pins 6-9) or the Serial Data Output (Pin 1). The Data Valid signal (Pin 17) is activated upon keypress (and upon each key repeat cycle if a key is held). The Data Valid signal is activated prior to transmission of the serial data to allow polled (software UART) style host serial systems such as the BASIC Stamp™ or a microcontroller without a hardware UART to enter the serial receive routine and receive the keypress data without needing to continually wait for the start bit. Note that the data outputs to the host microcontroller reside on the row output pins (Pins 6-9), therefore parallel output data should only be read while the Data Valid (Pin 17) signal is active (Low). Upon power-up, the four data output pins will be high and will remain high except when a key is pressed.
The table illustrates the data values returned by the serial and parallel outputs of the EDE144 upon each keypress. Note that the serial values are increased (by hexadecimal 30 ($30) for 0-9 and hex $37 for 10-15) to correspond to the ASCII equivalent (0-9, A-F) of the BCD (binary-coded decimal) value on the parallel outputs.