Bronson
01-19-2007, 08:19 AM
Hi guys,
I have built a lot of projects using BS2 and matrix keypad + keypad-encoder (MM74c922).
I don't know if my topic is appropriate in this forum or no, but I am so curious for the solution.
So I built a test project to encode my 4x4 matrix keypad to 4-bit binary value (range: 0000 = 0 upto 1111 = 15).
I use MM74c922 to do the encoding task.
The bottleneck is the order of keypad buttons are not compatible with binary value after encoded.
Here is my keypad buttons order:
1 | 2 | 3 | A
---------------
4 | 5 | 6 | B
---------------
7 | 8 | 9 | C
---------------
* | 0 | # | D
If I press button '1' (coordinate 1,1), MM74c922 will output binary 0000 or decimal 0, not decimal 1
If I press button '2' (coordinate 1,2), MM74c922 will output binary 0001 or decimal 1, not decimal 2
and so on..........
and if button '0' (coordinate 4,2) is pressed, it will produce binary 1101 decimal 13, not decimal 0.
MM74c922 is working according to the datasheet, but it just doesn't compatible with the button's order of my keypad (general model in market today). It only work with:
0 | 1 | 2 | 3
---------------
4 | 5 | 6 | 7
---------------
8 | 9 | A | B
---------------
C | D | E | F
which can't be found in any stores.
Of course I can use BS2 or other microcontroller to 'cheat' the output value, but doesn't it mean that MM74c922 is useless without microcontroller?
Let's say if I want to attach a keypad to 7-segment LED (using HCF4511) to display the numeric value according to pressed button (button '1' displays '1', button '2' displays '2', and so on...), do I have to use microcontroller for such simple task?
Pls help me to cure my curiousity.
Regards,
Bronson Alex
I have built a lot of projects using BS2 and matrix keypad + keypad-encoder (MM74c922).
I don't know if my topic is appropriate in this forum or no, but I am so curious for the solution.
So I built a test project to encode my 4x4 matrix keypad to 4-bit binary value (range: 0000 = 0 upto 1111 = 15).
I use MM74c922 to do the encoding task.
The bottleneck is the order of keypad buttons are not compatible with binary value after encoded.
Here is my keypad buttons order:
1 | 2 | 3 | A
---------------
4 | 5 | 6 | B
---------------
7 | 8 | 9 | C
---------------
* | 0 | # | D
If I press button '1' (coordinate 1,1), MM74c922 will output binary 0000 or decimal 0, not decimal 1
If I press button '2' (coordinate 1,2), MM74c922 will output binary 0001 or decimal 1, not decimal 2
and so on..........
and if button '0' (coordinate 4,2) is pressed, it will produce binary 1101 decimal 13, not decimal 0.
MM74c922 is working according to the datasheet, but it just doesn't compatible with the button's order of my keypad (general model in market today). It only work with:
0 | 1 | 2 | 3
---------------
4 | 5 | 6 | 7
---------------
8 | 9 | A | B
---------------
C | D | E | F
which can't be found in any stores.
Of course I can use BS2 or other microcontroller to 'cheat' the output value, but doesn't it mean that MM74c922 is useless without microcontroller?
Let's say if I want to attach a keypad to 7-segment LED (using HCF4511) to display the numeric value according to pressed button (button '1' displays '1', button '2' displays '2', and so on...), do I have to use microcontroller for such simple task?
Pls help me to cure my curiousity.
Regards,
Bronson Alex