Introduction
The keypad routines allow for a program to read from a 4 x 4 matrix keypad.
There are two ways that the keypad routines can be set up. One option is
to connect the wires from the keypad in a particular order, and then to
set the KeypadPort constant. The other option is to connect the keypad
in whatever way is easiest, and then set the KEYPAD_ROW_x and
KEYPAD_COL_x constants. The option (setting KeypadPort) will
generate slightly more efficient code.
Configuration using KEYPAD_ROW_x and KEYPAD_COL_x:
These constants must be set:
| Constant Name | Controls | Default Value |
|---|---|---|
|
|
The pin on the microcontroller that connects to the Row 1 pin on the keypad |
N/A |
|
|
The pin on the microcontroller that connects to the Row 2 pin on the keypad |
N/A |
|
|
The pin on the microcontroller that connects to the Row 3 pin on the keypad |
N/A |
|
|
The pin on the microcontroller that connects to the Row 4 pin on the keypad |
N/A |
|
|
The pin on the microcontroller that connects to the Col 1 pin on the keypad |
N/A |
|
|
The pin on the microcontroller that connects to the Col 2 pin on the keypad |
N/A |
|
|
The pin on the microcontroller that connects to the Col 3 pin on the keypad |
N/A |
|
|
The pin on the microcontroller that connects to the Col 4 pin on the keypad |
N/A |
If using a 3 x 3 keypad, do not set the KEYPAD_ROW_4 or KEYPAD_COL_4
constants.
Configuration using KeypadPort:
When setting up the keypad code using the KeypadPort constant, only
KeypadPort needs to be set.
Pull-ups or pull-downs go on the columns only, and are typically 4.7k to 10k in value.
| Constant Name | Controls | Default Value |
|---|---|---|
|
|
The port on the microcontroller chip that the keypad is connected to. |
N/A |
Configuration when using Pull down resistors
The keypad routine has a feature when using pull-down resistors, simply add the constant to your program and the and the scan logic will be inverted appropriately.
| Constant Name | Controls | Default Value |
|---|---|---|
|
|
Support pull down resistors. |
N/A |
For this to work, the keypad must be connected as follows:
| Microcontroller port pin | Keypad connector |
|---|---|
|
0 |
Row 1 |
|
1 |
Row 2 |
|
2 |
Row 3 |
|
3 |
Row 4 |
|
4 |
Column 1 |
|
5 |
Column 2 |
|
6 |
Column 3 |
|
7 |
Column 4 |
Note: To use a 3 x 3 keypad in this mode, the pins on the microcontroller for any unused columns must be pulled up.

