??? 06/20/10 10:37 Read: times |
#176777 - Ideas for Multi-tap keyboard routine |
Hi all,
I have a 4x3 (row x Cols) matrix keypad hooked up to the controller with digits 0..9, * and # (like normal telephone keypad). Entering all those digits with normal keypad scanning routines is no big deal & it's working perfect. Now what I want to do now is to implement the multi-tap text input scheme so that alphabets a..z can be entered and if possible later punctuation marks too. multi-tap is usually found in almost all types of cell phones. Before starting this project, thought it would be wise to get some ideas from other 8052.com users. Googling "multi-tap keypad routine" or other such keywords does not return results in context to code for embedded systems much less 8051. All I get is patents & Wikipedia articles. What I am looking for is pseudocode or an outline to how to accomplish this. Should I use interrupt based keypad entry? Has anyone here used it before? Here is article on multi-tap: http://en.wikipedia.org/wiki/Multi-tap -Regards, Munish |
Topic | Author | Date |
Ideas for Multi-tap keyboard routine | 01/01/70 00:00 | |
just follow | 01/01/70 00:00 | |
Multi-tap is not too difficult | 01/01/70 00:00 | |
Two-step operation. Keyboard input + post-processing | 01/01/70 00:00 | |
State Machine! | 01/01/70 00:00 | |
Agree 100% | 01/01/70 00:00 | |
Time to code | 01/01/70 00:00 | |
Software Timers! | 01/01/70 00:00 | |
Practical Limits | 01/01/70 00:00 | |
Don't lock up in infinite loops everywhere | 01/01/70 00:00 | |
In the pseudo code... | 01/01/70 00:00 | |
State Machine | 01/01/70 00:00 | |
Divide by 5 | 01/01/70 00:00 | |
Timer resolution | 01/01/70 00:00 | |
State Machine | 01/01/70 00:00 | |
Looks not bad programming practice | 01/01/70 00:00 | |
Using Timer May Still be Possible | 01/01/70 00:00 | |
Done ! | 01/01/70 00:00 | |
Very Cool!!! | 01/01/70 00:00 | |
Compare with zero is better | 01/01/70 00:00 | |
Avoid ISR jitter using timer T1 | 01/01/70 00:00 | |
Code! | 01/01/70 00:00 | |
Thanks Munish...![]() | 01/01/70 00:00 |