![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
LDC_TECLADO_MATRICIAL
Diff: main.cpp
- Revision:
- 0:5ea4be70fe49
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Sat Sep 16 21:55:16 2017 +0000 @@ -0,0 +1,71 @@ +#include "mbed.h" +#include "TextLCD.h" +#include "keypad.h" +Serial pc(USBTX,USBRX); +TextLCD lcd(D10,D11,D12,D13,D14,D15); + +int filas[5]= {0,1,2,4,8}; +int lec; +char boton[5][5]; +int main() +{ + BusOut sal(D2,D3,D4,D5); + BusIn entrada(D6,D7,D8,D9); + + boton[1][1]='1'; + boton[2][1]='4'; + boton[3][1]='7'; + boton[4][1]='*'; + boton[1][2]='2'; + boton[2][2]='5'; + boton[3][2]='8'; + boton[4][2]='0'; + boton[1][3]='3'; + boton[2][3]='6'; + boton[3][3]='9'; + boton[4][3]='!'; + boton[1][4]='h'; + boton[2][4]='e'; + boton[3][4]='l'; + boton[4][4]='p'; + + int count=0; + int count1=20; + + + while(1) { + + for(int i=1; i<5; i++) { + + sal=filas[i]; + lec=entrada.read(); + if(lec==4) { + lec=3; + } + if(lec==8) { + lec=4; + } + if(lec!=0) { + if(count<=15) { + lcd.locate(count,0); + lcd.printf("%c",boton[i][lec]); + wait(0.2); + count++; + } + if(count==15) { + count1=0; + lcd.locate(count1,1); + + } + if(count1<=15) { + lcd.printf("%c",boton[i][lec]); + count1++; + if(count1>15) { + lcd.cls(); + count=0; + } + } + } + } + } +} \ No newline at end of file