a

Dependencies:   mbed TextLCD Keypad

Committer:
20172573073
Date:
Mon Aug 24 23:03:18 2020 +0000
Revision:
0:0b651cdc4e79
a

Who changed what in which revision?

UserRevisionLine numberNew contents of line
20172573073 0:0b651cdc4e79 1 #include "mbed.h"
20172573073 0:0b651cdc4e79 2 #include "TextLCD.h"
20172573073 0:0b651cdc4e79 3 #include "Keypad.h"
20172573073 0:0b651cdc4e79 4 Keypad kpad(PTC4, PTC0, PTB19, PTB18, PTC11, PTC10, PTC7, PTC6);
20172573073 0:0b651cdc4e79 5 TextLCD lcd(D0,D1,D2,D3,D4,D5, TextLCD::LCD16x2 );
20172573073 0:0b651cdc4e79 6
20172573073 0:0b651cdc4e79 7 char key ;
20172573073 0:0b651cdc4e79 8 int x =0;
20172573073 0:0b651cdc4e79 9 int y =0;
20172573073 0:0b651cdc4e79 10 int i,j,k;
20172573073 0:0b651cdc4e79 11 Ticker teclado;
20172573073 0:0b651cdc4e79 12 void tec()
20172573073 0:0b651cdc4e79 13 {
20172573073 0:0b651cdc4e79 14 key = kpad.ReadKey();
20172573073 0:0b651cdc4e79 15 }
20172573073 0:0b651cdc4e79 16 void keysito()
20172573073 0:0b651cdc4e79 17 {
20172573073 0:0b651cdc4e79 18 switch(key) {
20172573073 0:0b651cdc4e79 19 case '1':
20172573073 0:0b651cdc4e79 20 lcd.printf("1");
20172573073 0:0b651cdc4e79 21 x=1;
20172573073 0:0b651cdc4e79 22 y=y+1;
20172573073 0:0b651cdc4e79 23 break;
20172573073 0:0b651cdc4e79 24
20172573073 0:0b651cdc4e79 25 case '2':
20172573073 0:0b651cdc4e79 26 lcd.printf("2");
20172573073 0:0b651cdc4e79 27 x=2;
20172573073 0:0b651cdc4e79 28 y=y+1;
20172573073 0:0b651cdc4e79 29 break;
20172573073 0:0b651cdc4e79 30
20172573073 0:0b651cdc4e79 31 case '3':
20172573073 0:0b651cdc4e79 32 lcd.printf("3");
20172573073 0:0b651cdc4e79 33 x=3;
20172573073 0:0b651cdc4e79 34 y=y+1;
20172573073 0:0b651cdc4e79 35 break;
20172573073 0:0b651cdc4e79 36 case '4':
20172573073 0:0b651cdc4e79 37 lcd.printf("4");
20172573073 0:0b651cdc4e79 38 x=4;
20172573073 0:0b651cdc4e79 39 y=y+1;
20172573073 0:0b651cdc4e79 40 break;
20172573073 0:0b651cdc4e79 41
20172573073 0:0b651cdc4e79 42 case '5':
20172573073 0:0b651cdc4e79 43 lcd.printf("5");
20172573073 0:0b651cdc4e79 44 x=5;
20172573073 0:0b651cdc4e79 45 y=y+1;
20172573073 0:0b651cdc4e79 46 break;
20172573073 0:0b651cdc4e79 47
20172573073 0:0b651cdc4e79 48 case '6':
20172573073 0:0b651cdc4e79 49 lcd.printf("6");
20172573073 0:0b651cdc4e79 50 x=6;
20172573073 0:0b651cdc4e79 51 y=y+1;
20172573073 0:0b651cdc4e79 52 break;
20172573073 0:0b651cdc4e79 53 case '7':
20172573073 0:0b651cdc4e79 54 lcd.printf("7");
20172573073 0:0b651cdc4e79 55 x=7;
20172573073 0:0b651cdc4e79 56 y=y+1;
20172573073 0:0b651cdc4e79 57 break;
20172573073 0:0b651cdc4e79 58
20172573073 0:0b651cdc4e79 59 case '8':
20172573073 0:0b651cdc4e79 60 lcd.printf("8");
20172573073 0:0b651cdc4e79 61 x=8;
20172573073 0:0b651cdc4e79 62 y=y+1;
20172573073 0:0b651cdc4e79 63 break;
20172573073 0:0b651cdc4e79 64
20172573073 0:0b651cdc4e79 65 case '9':
20172573073 0:0b651cdc4e79 66 lcd.printf("9");
20172573073 0:0b651cdc4e79 67 x=0;
20172573073 0:0b651cdc4e79 68 y=y+1;
20172573073 0:0b651cdc4e79 69 break;
20172573073 0:0b651cdc4e79 70
20172573073 0:0b651cdc4e79 71 case '0':
20172573073 0:0b651cdc4e79 72 lcd.printf("0");
20172573073 0:0b651cdc4e79 73 x=0;
20172573073 0:0b651cdc4e79 74 y=y+1;
20172573073 0:0b651cdc4e79 75 break;
20172573073 0:0b651cdc4e79 76
20172573073 0:0b651cdc4e79 77
20172573073 0:0b651cdc4e79 78 }
20172573073 0:0b651cdc4e79 79
20172573073 0:0b651cdc4e79 80 wait(0.5);
20172573073 0:0b651cdc4e79 81
20172573073 0:0b651cdc4e79 82 }
20172573073 0:0b651cdc4e79 83 void filas()
20172573073 0:0b651cdc4e79 84 {
20172573073 0:0b651cdc4e79 85 lcd.locate(0,0);
20172573073 0:0b651cdc4e79 86 lcd.printf("# filas < 16");
20172573073 0:0b651cdc4e79 87 lcd.locate(0,1);
20172573073 0:0b651cdc4e79 88 keysito();
20172573073 0:0b651cdc4e79 89
20172573073 0:0b651cdc4e79 90 }
20172573073 0:0b651cdc4e79 91
20172573073 0:0b651cdc4e79 92 void columnas()
20172573073 0:0b651cdc4e79 93 {
20172573073 0:0b651cdc4e79 94 lcd.locate(0,0);
20172573073 0:0b651cdc4e79 95 lcd.printf("# columnas < 2");
20172573073 0:0b651cdc4e79 96 lcd.locate(0,1);
20172573073 0:0b651cdc4e79 97 keysito();
20172573073 0:0b651cdc4e79 98 }
20172573073 0:0b651cdc4e79 99 void asterisco()
20172573073 0:0b651cdc4e79 100 {
20172573073 0:0b651cdc4e79 101 lcd.locate(0,0);
20172573073 0:0b651cdc4e79 102 lcd.printf("# asteriscos");
20172573073 0:0b651cdc4e79 103 lcd.locate(0,1);
20172573073 0:0b651cdc4e79 104 keysito();
20172573073 0:0b651cdc4e79 105 }
20172573073 0:0b651cdc4e79 106 int main ()
20172573073 0:0b651cdc4e79 107 {
20172573073 0:0b651cdc4e79 108
20172573073 0:0b651cdc4e79 109 //teclado.attach(&tec,0.01);
20172573073 0:0b651cdc4e79 110
20172573073 0:0b651cdc4e79 111 while(1) {
20172573073 0:0b651cdc4e79 112 tec();
20172573073 0:0b651cdc4e79 113 if(y == 0) {
20172573073 0:0b651cdc4e79 114 lcd.cls();
20172573073 0:0b651cdc4e79 115 filas();
20172573073 0:0b651cdc4e79 116 i=x;
20172573073 0:0b651cdc4e79 117 x=0;
20172573073 0:0b651cdc4e79 118 wait(1.5);
20172573073 0:0b651cdc4e79 119 }tec();
20172573073 0:0b651cdc4e79 120 if(y == 1) {
20172573073 0:0b651cdc4e79 121 lcd.cls();
20172573073 0:0b651cdc4e79 122 columnas();
20172573073 0:0b651cdc4e79 123 j=x;
20172573073 0:0b651cdc4e79 124 x=0;
20172573073 0:0b651cdc4e79 125 wait(1.5);
20172573073 0:0b651cdc4e79 126 }tec();
20172573073 0:0b651cdc4e79 127 if(y == 2) {
20172573073 0:0b651cdc4e79 128 lcd.cls();
20172573073 0:0b651cdc4e79 129 asterisco();
20172573073 0:0b651cdc4e79 130 k=x;
20172573073 0:0b651cdc4e79 131 x=0;
20172573073 0:0b651cdc4e79 132 wait(1.5);
20172573073 0:0b651cdc4e79 133 if( y > 2){
20172573073 0:0b651cdc4e79 134 lcd.cls();
20172573073 0:0b651cdc4e79 135 lcd.locate(i,j);
20172573073 0:0b651cdc4e79 136 int a=1;
20172573073 0:0b651cdc4e79 137 while(k >= a){
20172573073 0:0b651cdc4e79 138 lcd.printf("*");
20172573073 0:0b651cdc4e79 139 a=a+1;
20172573073 0:0b651cdc4e79 140 }
20172573073 0:0b651cdc4e79 141 }
20172573073 0:0b651cdc4e79 142 }
20172573073 0:0b651cdc4e79 143 }
20172573073 0:0b651cdc4e79 144 }