Manejo básico de teclado matricial 4x4 con LCD 16x02
Dependencies: Keypad keypad mbed
text.cpp@0:81bc4ffbdef6, 2015-06-07 (annotated)
- Committer:
- RafaB
- Date:
- Sun Jun 07 02:26:53 2015 +0000
- Revision:
- 0:81bc4ffbdef6
Teclado 4x4
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
RafaB | 0:81bc4ffbdef6 | 1 | #include "mbed.h" |
RafaB | 0:81bc4ffbdef6 | 2 | #include "Keypad.h" |
RafaB | 0:81bc4ffbdef6 | 3 | #include "TextLCD.h" |
RafaB | 0:81bc4ffbdef6 | 4 | |
RafaB | 0:81bc4ffbdef6 | 5 | TextLCD lcd(PTB10, PTB11, PTE2, PTE3, PTE4, PTE5); // rs, e, d4-d7 |
RafaB | 0:81bc4ffbdef6 | 6 | char key; |
RafaB | 0:81bc4ffbdef6 | 7 | |
RafaB | 0:81bc4ffbdef6 | 8 | // Define your own keypad values |
RafaB | 0:81bc4ffbdef6 | 9 | char Keytable[] = { '1', '2', '3', 'A', |
RafaB | 0:81bc4ffbdef6 | 10 | '4', '5', '6', 'B', |
RafaB | 0:81bc4ffbdef6 | 11 | '7', '8', '9', 'C', |
RafaB | 0:81bc4ffbdef6 | 12 | '*', '0', '#', 'D' |
RafaB | 0:81bc4ffbdef6 | 13 | }; |
RafaB | 0:81bc4ffbdef6 | 14 | |
RafaB | 0:81bc4ffbdef6 | 15 | uint32_t cbAfterInput(uint32_t Key) |
RafaB | 0:81bc4ffbdef6 | 16 | { lcd.locate(0,0); |
RafaB | 0:81bc4ffbdef6 | 17 | lcd.printf("La tecla es: "); |
RafaB | 0:81bc4ffbdef6 | 18 | key=Key; |
RafaB | 0:81bc4ffbdef6 | 19 | lcd.locate(0,14); |
RafaB | 0:81bc4ffbdef6 | 20 | lcd.printf("%c",Keytable[key]); |
RafaB | 0:81bc4ffbdef6 | 21 | return 0; |
RafaB | 0:81bc4ffbdef6 | 22 | } |
RafaB | 0:81bc4ffbdef6 | 23 | |
RafaB | 0:81bc4ffbdef6 | 24 | int main(){ |
RafaB | 0:81bc4ffbdef6 | 25 | // F0 F1 F2 F3 C0 C1 C2 C3 |
RafaB | 0:81bc4ffbdef6 | 26 | Keypad keypad(PTA1,PTA2,PTD4,PTA12,PTA4,PTA5,PTC8,PTC9); |
RafaB | 0:81bc4ffbdef6 | 27 | keypad.CallAfterInput(&cbAfterInput); |
RafaB | 0:81bc4ffbdef6 | 28 | keypad.Start(); |
RafaB | 0:81bc4ffbdef6 | 29 | |
RafaB | 0:81bc4ffbdef6 | 30 | while (true) {} |
RafaB | 0:81bc4ffbdef6 | 31 | } |
RafaB | 0:81bc4ffbdef6 | 32 |