ETC EDE1144

EDE1144 Keypad Encoder IC
4 x 4 Matrix Keypad Encoder IC
EDE1144
RS-232 Output 1
XMIT
Beep
18 Beeper Output
0=2400, 1=9600 Baud 2
Baud
Valid
17 Data Valid Output
Connect to +5V 3
+5V
OSC1
16 Oscillator Conection
Connect to +5V 4
+5V
OSC2
15 Oscillator Connection
Digital Ground 5
GND
+5V
14 Connect to +5V
Row 0 Output 6
R0
C3
13 Column 3 Input
Row 1 Output 7
R1
C2
12 Column 2 Input
Row 2 Output 8
R2
C1
11 Column 1 Input
Row 3 Output 9
R3
C0
10 Column 0 Input
Functionality & Feature Set:
•
•
•
•
•
•
•
•
•
•
Automatic key repeat after delay
Contact debouncing
Keybeep provides tactile feedback to operator
Electrically quiet (reduced EMI) keypad scanning
Serial / Parallel outputs available
Data Valid output signal for interrupt activation
2400/ 9600 serial Baud rates
Available in 18 pin DIP or SOIC packages
Interfaces to any microcontroller or microprocessor
Cost effective for OEM applications
The EDE1144 Keypad Encoder IC is designed to interface a matrix-type 4 row x 4 column (16 key
or less) keypad to a microcontroller or other host processor. A one-wire serial or four-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.
Copyright © 1999 E-Lab Digital Engineering, Inc. All Rights Reserved.
Page 1/7
EDE1144 Keypad Encoder IC
PIN DEFINITIONS
Keypad Connection Pins:
(R0) Row 0 / Data 0 Output (Pin 6)........................................Multiplexed Keypad Row 0,
Host System Data Input 0
(R1) Row 1 / Data 1 Output (Pin 7)........................................Multiplexed Keypad Row 1,
Host System Data Input 1
(R2) Row 2 / Data 2 Output (Pin 8)........................................Multiplexed Keypad Row 2,
Host System Data Input 2
(R3) Row 3 / Data 3 Output (Pin 9)........................................Multiplexed Keypad Row 3,
Host System Data Input 3
(C0) Column 0 Input (Pin 10).................................................Multiplexed Keypad Column 0
(through 330 resistor)
(C1) Column 1 Input (Pin 11).................................................Multiplexed Keypad Column 1
(through 330 resistor)
(C2) Column 2 Input (Pin 12).................................................Multiplexed Keypad Column 2
(through 330 resistor)
(C3) Column 3 Input (Pin 13).................................................Multiplexed Keypad Column 3
(through 330 resistor)
Control & Data Pins:
Baud (Pin 2)...........................................................................Baud Rate Selection;
0=2400, 1=9600
XMIT (Pin 1)..........................................................................Serial Data Output (N-8-1);
RS232 (TTL/CMOS Voltages)
Valid (Pin 17).........................................................................Data Valid Signal / Interrupt:
Parallel data valid when low
Beep (Pin 18)..........................................................................Modulated Output Signal:
Oscillates on keypress or repeat
Clock / Power Pins:
OSC1 (Pin 16)........................................................................One pin of 4MHz parallel-cut
crystal or resonator, or a direct
TTL clock input
OSC2 (Pin 17)........................................................................Other pin of 4MHz parallel-cut
crystal or resonator, or leave
floating if OSC1 driven with
a TTL clock input
+5V (Pins 3,4,14)..................................................................Connect to +5V DC
GND (Pin 5)...........................................................................Connect to 0V DC (Ground)
Note: DIP are SOIC (surface mount) packages of the EDE1144 have identical pinout and
pincount. Please specify EDE1144/P (DIP) or EDE1144/SO (SOIC) when ordering.
Page 2/7
EDE1144 Keypad Encoder IC
4x4 Multiplexed Keypad
Data Output
Row 0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
D0
Row 1
D1
Row 2
D2
Row 3
Column 3
D3
Serial
Output
EDE1144
Keypad
Encoder
Column 2
Column 1
Data
Valid
Column 0
Beeper
Output
2400 / 9600 Baud Select Input
Figure One: Connection Block Diagram
As illustrated by Figure One, the EDE1144 resides 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 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 powerup, the four data output pins will be high, and will remain high
except when a key is pressed.
The following 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.
Key:
0
1
2
3
4
5
6
7
RS-232:
$30
('0')
0000
$31
('1')
0001
$32
('2')
0010
$33
('3')
0011
$34
('4')
0100
$35
('5')
0101
$36
('6')
0110
$37
('7')
0111
D3..D0:
Key:
8
9
10
11
12
13
14
15
RS-232:
$38
('8')
1000
$39
('9')
1001
$41
('A')
1010
$42
('B')
1011
$43
('C')
1100
$44
('D')
1101
$45
('E')
1110
$46
('F')
1111
D3..D0:
Table One: Keynumber vs. Output Data
Page 3/7
EDE1144 Keypad Encoder IC
OVERVIEW OF OPERATION
Table One of the previous page illustrates the data that is output upon each keypress. The
following sequence is initiated upon each keypress, and is repeated if the key is held:
1.
2.
3.
4.
5.
6.
Keypress is detected
One scan cycle is performed
Parallel Outputs (D3..D0) are latched with the appropriate value
Data Valid signal is activated (pulled low)
Beeper (1KHz square wave) is activated for 45mS
Serial data is transmitted
This entire cycle takes 50mS (regardless of Baud rate selected). If a key is held longer than the
autorepeat delay of 660 mS, the cycle is repeated again at a rate of 5 times per second. The
following timing diagram illustrates the above sequence:
0ms
10ms
20ms
30ms
40ms
50ms
50mS
Keypress
(Multiple transitions are due to contact bounce)
Parallel_Outputs
D3..D0 latched with appropriate value
1uS
Data_Valid_Output
Serial_Output
45mS
(Square wave is not to scale)
Beeper_Output
Once a key is pressed, any additional closures (bounce) of that contact, or of any other contacts
are ignored for 50mS, during which several signals are output by the EDE1144. First, the parallel
outputs D0..D3 (Pins 6-9) are latched with the appropriate keypress value. One microsecond
later, the Data Valid Output (Pin 17) goes low, indicating that there is valid data on the parallel
output pins. Following this, the Beeper Output (Pin 18) pulse stream is generated for 45mS,
providing auditory confirmation to the keypad operator that a key has been pressed. Finally, the
RS-232 Output (Pin 1) transmits the keypress data at the Baud rate selected by the Baud rate input
select (Pin 2). After this, a variable (determined by Baud rate chosen) delay period is waited to
make the entire process to last precisely 50mS.
If a key is held longer that the autorepeat delay of 660mS, the outputs are cleared and this entire
process is repeated every 204mS until the key is released by the operator.
Page 4/7
EDE1144 Keypad Encoder IC
+5V
Beeper
1K Ohm
Data Valid / Interrupt Output
Serial Output
+5V
330 Ohm
EDE1144
XMIT
Baud
+5V
+5V
GND
R0
R1
R2
R3
Beep
Valid
OSC1
OSC2
+5V
C3
C2
C1
C0
4 x 4 Keypad
4 MHz
4.7K Ohm
D0 (LSB)
D1
D2
D3 (MSB)
Parallel Outputs
Figure Two: Schematic of Keypad Connection
Figure Two illustrates a typical connection of a 4x4 keypad to the EDE1144. Note that R0-R3
(Pins 6-9) are connected to the keypad rows through 330 Ohm resistors. They are present to
prevent a short circuit during the scan cycle in case more that one key is being held at a time, and
they can also help to lower radiated emissions from the keypad wires. The 4.7K Ohm resistors on
the keypad columns are pulldowns to prevent the EDE1144 column inputs from floating or
oscillating. Pulldowns should be present on all four column inputs (C0..C3) regardless of the
keypad size or configuration being used. Note: Power and Ground connections have been
omitted from the EDE1144 hookup shown in Figure Two to simplify the illustration. They must
be connected in actual operation. Also, when using a 4MHz resonator with internal capacitors,
the third (center) pin should be connected to ground.
PARALLEL DATA CONNECTION
To read data from the EDE1144 in a parallel format the host microcontroller will input from the
four data inputs D0,D1,D2, & D3, which also serve as the row drive signal pins R0,R1,R2, & R3
(see Figure Two). While the EDE1144 is waiting for a keypress, it will hold these lines at 1111
(all high). Once a key is pressed, the data output pins will toggle while the keypad is scanned so
that the EDE1144 can determine which key was pressed. Then, the appropriate data value (see
Table One) will be output onto the data outputs (via the row output pins), and the Data Valid
Output (Pin 17) will go low. This pin will stay low for 50 mS, during which the Data Output pins
will hold the keypress data. The keypress data should be sampled during this 50mS window.
Both the Parallel & Serial Data outputs are activated on each keypress (and autorepeat cycle);
designers using the parallel data outputs can ignore the serial data output (and vice versa designers using the serial data output can ignore the parallel data output).
Page 5/7
EDE1144 Keypad Encoder IC
SERIAL DATA CONNECTION
To receive keypress data serially from the EDE1144, two options exist. The first (typically used
with a host microcontroller having an onboard hardware UART) is to simply connect the XMIT
(Pin 1) line to the host microcontroller's serial data input. Each time a key is pressed (or the
autorepeat loop cycles) one byte will be transmitted, corresponding to the values shown in Table
One. The host microcontroller's hardware UART's 'Receive Buffer Full' flag can be polled to
monitor for newly received serial data; alternately the host microcontroller can be configured to
generate an interrupt when a new byte is received by the UART.
The second method of receiving serial data from the EDE1144 involves the use of the Data Valid
signal (Pin 17). This pin can be polled by the host microcontroller, or connected to an external
interrupt input. Once this pin transitions to its active level (low), the EDE1144 pauses 45mS
(while the keybeep signal is generated) before the start bit and remaining data bits are sent,
during which the host microcontroller can finish what it is doing and enter the serial receive
routine, holding there until it detects the EDE1144's start bit. This method is ideal for BASIC
Stamps™ and other devices using a 'software' (a non-hardware, or 'bit-bang') UART.
SMALLER KEYPADS
The EDE1144 can be used with keypads smaller than 4 rows by 4 columns, such as 3 rows by
four columns, 1 row by 4 columns, etc. Simply connect the keypad as shown in Figure Two,
starting with Row 0 and Column 0, connecting as many rows and columns as your keypad has.
Be certain to use the 330 Ohm resistor to connect each row of your keypad, and also be certain
to pull all four column inputs (C0..C3) to ground with four 4.7K Ohm resistors as illustrated in
Figure Two.
BEEPER CONNECTION
In order to provide tactile feedback to the operator, the Beeper Output (Pin 18) of the EDE1144 is
designed to drive a piezo beeper or speaker via a NPN transistor such as the 2N2222. Figure
Two illustrates a typical common-emitter configuration. With the common-emitter drive
configuration, be certain to use a resistor from the EDE1144 Beeper Output (Pin 18) to the
transistor's base pin to limit base drive current. Your particular beeper may or may not require a
resistor in series with it to limit current. The drive signal is a 1KHz square wave, toggling from 0
to 5 Volts, with a duration of 45mS.
RS-232 OUTPUT
The RS-232 Output (Pin 1) transmits serial data to the host microcontroller. This data is sent at
either 2400 or 9600 Baud, as selected by Pin 2. Data is send in traditional N-8-1 (no parity, 8
data bits, one stop bit) format at TTL/CMOS voltage levels; i.e. 0V to 5V. This serial output
signal can be connected directly to the host microcontroller's serial input pin without any type of
voltage level conversion. However, if data is to be sent to a device expecting RS-232 voltage
levels of -12V to +12V (such as a PC), a voltage level conversion IC such as the MAX232 will be
needed between the EDE1144's serial output pin and the PC's serial input pin.
Page 6/7
EDE1144 Keypad Encoder IC
Although we strive to maintain a high degree of technical accuracy, this document may contain typographical errors or other inaccuracies.
We reserve the right to correct any inaccuracy in future editions of this document without notice. This document and examples contained
herein are provided 'As Is' without warranty of any kind expressed or implied. This document is to be used for informational purposes only
and may not be duplicated for commercial purposes other than by distributors authorized by E-Lab Digital Engineering, Inc.
ABSOLUTE MAXIMUM RATINGS
Oscillator frequency .......................................... 4 MHz
Supply Voltage ................................................... 7.5V
Ambient temperature under bias ...................... -55 °C to +125°C
Max. current sunk by an output pin .................. 25mA
Max. current sourced by an output pin ............. 20mA
Max. current sunk by all 4 column inputs.......... 50mA
Max. current sourced by all 4 row outputs......... 40mA
STANDARD OPERATING CONDITIONS
Supply voltage ................................................. 4.5V to 5.5V
Typical current draw......................................... 1.8mA
Operating temperature ..................................... 0 °C to +70°C
The EDE1144 IC is implemented as firmware on a PIC16C54 microcontroller, manufactured by Microchip Technology, Inc. For a more
comprehensive technical summary of this device, please refer to the PIC16C54 datasheet (accessible from the E-Lab web site).
IMPORTANT NOTICE
E-LAB Digital Engineering, Inc. (E-LAB), reserves the right to
change products or specifications without notice. Customers are
advised to obtain the latest versions of product specifications,
which should be considered when evaluating a product’s
appropriateness for a particular use.
THIS PRODUCT IS WARRANTED TO COMPLY WITH E-LAB’S
SPECIFICATION SHEET AT THE TIME OF DELIVERY. BY
USING THIS PRODUCT, CUSTOMER AGREES THAT IN NO
EVENT SHALL E-LAB BE LIABLE FOR ANY DIRECT,
INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL
DAMAGES AS A RESULT OF THE PERFORMANCE, OR
FAILURE TO PERFORM, OF THIS PRODUCT.
E-LAB MAKES NO OTHER WARRANTIES, EXPRESSED OR
IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR
PURPOSE.
E-LAB’s LIABILITY IS FOR A PERIOD NO GREATER THAN 90
DAYS FROM DATE OF SHIPMENT BY E-LAB AND IS LIMITED
TO REPLACEMENT OF DEFECTIVE PRODUCT. This warranty
covers only defects arising under normal use and not
malfunctions resulting from misuse, abuse, modification, or
repairs by anyone other than E-LAB.
E-LAB’S PRODUCTS ARE NOT AUTHORIZED FOR USE AS
CRITICAL COMPONENTS IN LIFE SUPPORT DEVICES OR
SYSTEMS WITHOUT THE EXPRESS WRITTEN APPROVAL OF
THE PRESIDENT OF E-LAB. Life support devices or systems are
those which are intended to support or sustain life and whose
failure to perform can be reasonably expected to result in a
significant injury or death to the user. Critical components are
those whose failure to perform can be reasonably expected to
cause failure of a life support device or system or affect its safety
or effectiveness .
COPYRIGHT NOTICE
This product may not be duplicated. E-LAB Digital Engineering, Inc. holds all copyrights on firmware, with all rights reserved. Unauthorized
duplication of this device will be subject to penalty under state and/ or federal law.
EDE1144 and the E-LAB logo are trademarks of E-LAB Digital Engineering, Inc. All other trademarks and registered trademarks are property
of their respective owners.
CONTACTING US
We are continually updating our product line. Please contact us for our latest product information.
Dannell Electronics Ltd
Unit 2, Funston's Commercial Centre
Arkesden Road
Clavering
Essex CB11 4QU, ENGLAND
Telephone: UK Calls 0845 603-1509
International :441 799 551 215
Fax: 01 799 551 216, International 441 799 551 216
Internet: http://www.dannell.co.uk
E-Mail: [email protected]
Page 7/7