FRDM KL25Z - LCD 16x2 - Teclado 4x4

Dependencies:   Keypad TextLCD-modificada mbed

/media/uploads/Susanaranjo/img_20160508_014013.jpg

Committer:
Susanaranjo
Date:
Sun May 08 06:34:05 2016 +0000
Revision:
1:eeaeab624998
Parent:
0:30426151ddb2
Child:
2:316c3e9ad8d8
FRDM KL25Z; LCD 16x2; Teclado 4x4

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Susanaranjo 0:30426151ddb2 1 #include "mbed.h"
Susanaranjo 0:30426151ddb2 2 #include "TextLCD.h"
Susanaranjo 0:30426151ddb2 3 #include "Keypad.h"
Susanaranjo 0:30426151ddb2 4
Susanaranjo 0:30426151ddb2 5 TextLCD lcd(PTE20,PTE21,PTE22,PTE23,PTE29,PTE30, TextLCD::LCD16x2); // Rs, E, d4, d5, d6, d7
Susanaranjo 0:30426151ddb2 6
Susanaranjo 0:30426151ddb2 7 Keypad kpad(PTA12,PTD4,PTA2,PTA1,PTC9,PTC8,PTA5,PTA4); // f1,f2,f3,f4,c1,c2,c3,c4
Susanaranjo 0:30426151ddb2 8
Susanaranjo 0:30426151ddb2 9
Susanaranjo 0:30426151ddb2 10
Susanaranjo 0:30426151ddb2 11 int main() {
Susanaranjo 0:30426151ddb2 12 int contador=0;
Susanaranjo 0:30426151ddb2 13 int item=0;
Susanaranjo 0:30426151ddb2 14 int i=0;
Susanaranjo 0:30426151ddb2 15 int tecla=0;
Susanaranjo 0:30426151ddb2 16 int const0=0;
Susanaranjo 0:30426151ddb2 17 int const1=0;
Susanaranjo 0:30426151ddb2 18 int const2=0;
Susanaranjo 0:30426151ddb2 19 int const3=0;
Susanaranjo 0:30426151ddb2 20 int kp,ki,kd,sp;
Susanaranjo 0:30426151ddb2 21 int entero;
Susanaranjo 0:30426151ddb2 22 char key;
Susanaranjo 0:30426151ddb2 23 int released=1;
Susanaranjo 0:30426151ddb2 24
Susanaranjo 0:30426151ddb2 25 lcd.locate(0,0);
Susanaranjo 0:30426151ddb2 26 lcd.printf("Kp=");
Susanaranjo 0:30426151ddb2 27 lcd.locate(8,0);
Susanaranjo 0:30426151ddb2 28 lcd.printf("Ki=");
Susanaranjo 0:30426151ddb2 29 lcd.locate(0,1);
Susanaranjo 0:30426151ddb2 30 lcd.printf("Kd=");
Susanaranjo 0:30426151ddb2 31 lcd.locate(8,1);
Susanaranjo 0:30426151ddb2 32 lcd.printf("Sp=");
Susanaranjo 0:30426151ddb2 33 lcd.locate(3,0);
Susanaranjo 0:30426151ddb2 34 lcd.printf("_");
Susanaranjo 0:30426151ddb2 35
Susanaranjo 0:30426151ddb2 36
Susanaranjo 0:30426151ddb2 37 while(1) {
Susanaranjo 0:30426151ddb2 38 i=0;
Susanaranjo 0:30426151ddb2 39 contador=0;
Susanaranjo 0:30426151ddb2 40 const0=0;
Susanaranjo 0:30426151ddb2 41 const1=0;
Susanaranjo 0:30426151ddb2 42 const2=0;
Susanaranjo 0:30426151ddb2 43 const3=0;
Susanaranjo 0:30426151ddb2 44 entero=0;
Susanaranjo 0:30426151ddb2 45
Susanaranjo 0:30426151ddb2 46 while (i<=3){
Susanaranjo 0:30426151ddb2 47 key=kpad.ReadKey();
Susanaranjo 0:30426151ddb2 48 tecla=key-48;
Susanaranjo 0:30426151ddb2 49 switch(i){
Susanaranjo 0:30426151ddb2 50 case 0:
Susanaranjo 0:30426151ddb2 51 const0=tecla;
Susanaranjo 0:30426151ddb2 52 case 1:
Susanaranjo 0:30426151ddb2 53 const1=tecla;
Susanaranjo 0:30426151ddb2 54 case 2:
Susanaranjo 0:30426151ddb2 55 const2=tecla;
Susanaranjo 0:30426151ddb2 56 case 3:
Susanaranjo 0:30426151ddb2 57 const3=tecla;}
Susanaranjo 0:30426151ddb2 58
Susanaranjo 0:30426151ddb2 59 if(contador>=3){
Susanaranjo 0:30426151ddb2 60 entero=1000*const0+100*const1+10*const2+const3;}
Susanaranjo 0:30426151ddb2 61 else if (contador==2){
Susanaranjo 0:30426151ddb2 62 entero=100*const0+10*const1+const2;}
Susanaranjo 0:30426151ddb2 63 else if (contador==1){
Susanaranjo 0:30426151ddb2 64 entero=10*const0+const1;}
Susanaranjo 0:30426151ddb2 65 else if (contador==0){
Susanaranjo 0:30426151ddb2 66 entero=const0;}
Susanaranjo 0:30426151ddb2 67
Susanaranjo 0:30426151ddb2 68
Susanaranjo 0:30426151ddb2 69 if(key=='\0'){
Susanaranjo 0:30426151ddb2 70 released=1;}
Susanaranjo 0:30426151ddb2 71
Susanaranjo 0:30426151ddb2 72 if((key !='\0')&&(released==1)){
Susanaranjo 0:30426151ddb2 73 released=0;
Susanaranjo 0:30426151ddb2 74
Susanaranjo 0:30426151ddb2 75 if(key=='#') {
Susanaranjo 0:30426151ddb2 76 lcd.cls();
Susanaranjo 0:30426151ddb2 77 lcd.locate(0,0);
Susanaranjo 0:30426151ddb2 78 lcd.printf("Kp=");
Susanaranjo 0:30426151ddb2 79 lcd.locate(8,0);
Susanaranjo 0:30426151ddb2 80 lcd.printf("Ki=");
Susanaranjo 0:30426151ddb2 81 lcd.locate(0,1);
Susanaranjo 0:30426151ddb2 82 lcd.printf("Kd=");
Susanaranjo 0:30426151ddb2 83 lcd.locate(8,1);
Susanaranjo 0:30426151ddb2 84 lcd.printf("Sp=");
Susanaranjo 0:30426151ddb2 85 lcd.locate(3,0);
Susanaranjo 0:30426151ddb2 86 lcd.printf("_");
Susanaranjo 0:30426151ddb2 87
Susanaranjo 0:30426151ddb2 88 const0=0;
Susanaranjo 0:30426151ddb2 89 const1=0;
Susanaranjo 0:30426151ddb2 90 const2=0;
Susanaranjo 0:30426151ddb2 91 const3=0;
Susanaranjo 0:30426151ddb2 92
Susanaranjo 0:30426151ddb2 93 entero=0;
Susanaranjo 0:30426151ddb2 94 kp=0;
Susanaranjo 0:30426151ddb2 95 ki=0;
Susanaranjo 0:30426151ddb2 96 kd=0;
Susanaranjo 0:30426151ddb2 97 sp=0;
Susanaranjo 0:30426151ddb2 98 contador=-1;
Susanaranjo 0:30426151ddb2 99 i=-1;
Susanaranjo 0:30426151ddb2 100 item=0;
Susanaranjo 0:30426151ddb2 101
Susanaranjo 0:30426151ddb2 102 }else if(key=='*'){
Susanaranjo 0:30426151ddb2 103 contador=-1;
Susanaranjo 0:30426151ddb2 104 item=item+1;
Susanaranjo 0:30426151ddb2 105 i=-1;
Susanaranjo 0:30426151ddb2 106
Susanaranjo 0:30426151ddb2 107 if(item==1){
Susanaranjo 0:30426151ddb2 108 lcd.locate(3,0);
Susanaranjo 0:30426151ddb2 109 lcd.printf("%4Lu",kp);
Susanaranjo 0:30426151ddb2 110 lcd.locate(11,0);
Susanaranjo 0:30426151ddb2 111 lcd.printf("_ ");
Susanaranjo 0:30426151ddb2 112 entero=0;}
Susanaranjo 0:30426151ddb2 113
Susanaranjo 0:30426151ddb2 114 if(item==2){
Susanaranjo 0:30426151ddb2 115 lcd.locate(11,0);
Susanaranjo 0:30426151ddb2 116 lcd.printf("%4Lu",ki);
Susanaranjo 0:30426151ddb2 117 lcd.locate(3,1);
Susanaranjo 0:30426151ddb2 118 lcd.printf("_ ");
Susanaranjo 0:30426151ddb2 119 entero=0;}
Susanaranjo 0:30426151ddb2 120
Susanaranjo 0:30426151ddb2 121 if(item==3){
Susanaranjo 0:30426151ddb2 122 lcd.locate(3,1);
Susanaranjo 0:30426151ddb2 123 lcd.printf("%4Lu",kd);
Susanaranjo 0:30426151ddb2 124 lcd.locate(11,1);
Susanaranjo 0:30426151ddb2 125 lcd.printf("_ ");
Susanaranjo 0:30426151ddb2 126 entero=0;}
Susanaranjo 0:30426151ddb2 127
Susanaranjo 0:30426151ddb2 128 if (item==4){
Susanaranjo 0:30426151ddb2 129 lcd.locate(11,1);
Susanaranjo 0:30426151ddb2 130 lcd.printf("%4Lu",sp);
Susanaranjo 0:30426151ddb2 131 wait_ms(1000);
Susanaranjo 0:30426151ddb2 132 lcd.cls();
Susanaranjo 0:30426151ddb2 133 lcd.printf("Los valores han\n");
Susanaranjo 0:30426151ddb2 134 lcd.printf("sido guardados");
Susanaranjo 0:30426151ddb2 135 wait_ms(4000);
Susanaranjo 0:30426151ddb2 136 lcd.cls();
Susanaranjo 0:30426151ddb2 137 lcd.printf("Pulse * para\n");
Susanaranjo 0:30426151ddb2 138 lcd.printf("empezar de nuevo");
Susanaranjo 0:30426151ddb2 139 wait_ms(3000);
Susanaranjo 0:30426151ddb2 140 lcd.cls();
Susanaranjo 0:30426151ddb2 141 lcd.locate(0,0);
Susanaranjo 0:30426151ddb2 142 lcd.printf("Kp=%4Lu",kp);
Susanaranjo 0:30426151ddb2 143 lcd.locate(8,0);
Susanaranjo 0:30426151ddb2 144 lcd.printf("Ki=%4Lu",ki);
Susanaranjo 0:30426151ddb2 145 lcd.locate(0,1);
Susanaranjo 0:30426151ddb2 146 lcd.printf("Kd=%4Lu",kd);
Susanaranjo 0:30426151ddb2 147 lcd.locate(8,1);
Susanaranjo 0:30426151ddb2 148 lcd.printf("Sp=%4Lu",sp);}
Susanaranjo 0:30426151ddb2 149
Susanaranjo 0:30426151ddb2 150 if(item==5){
Susanaranjo 0:30426151ddb2 151 lcd.cls();
Susanaranjo 0:30426151ddb2 152 lcd.locate(0,0);
Susanaranjo 0:30426151ddb2 153 lcd.printf("Kp=");
Susanaranjo 0:30426151ddb2 154 lcd.locate(8,0);
Susanaranjo 0:30426151ddb2 155 lcd.printf("Ki=");
Susanaranjo 0:30426151ddb2 156 lcd.locate(0,1);
Susanaranjo 0:30426151ddb2 157 lcd.printf("Kd=");
Susanaranjo 0:30426151ddb2 158 lcd.locate(8,1);
Susanaranjo 0:30426151ddb2 159 lcd.printf("Sp=");
Susanaranjo 0:30426151ddb2 160 lcd.locate(3,0);
Susanaranjo 0:30426151ddb2 161 lcd.printf("_");
Susanaranjo 0:30426151ddb2 162
Susanaranjo 0:30426151ddb2 163 const0=0;
Susanaranjo 0:30426151ddb2 164 const1=0;
Susanaranjo 0:30426151ddb2 165 const2=0;
Susanaranjo 0:30426151ddb2 166 const3=0;
Susanaranjo 0:30426151ddb2 167
Susanaranjo 0:30426151ddb2 168 entero=0;
Susanaranjo 0:30426151ddb2 169 kp=0;
Susanaranjo 0:30426151ddb2 170 ki=0;
Susanaranjo 0:30426151ddb2 171 kd=0;
Susanaranjo 0:30426151ddb2 172 sp=0;
Susanaranjo 0:30426151ddb2 173 contador=-1;
Susanaranjo 0:30426151ddb2 174 i=-1;
Susanaranjo 0:30426151ddb2 175 item=0;}
Susanaranjo 0:30426151ddb2 176
Susanaranjo 0:30426151ddb2 177 }else if(key=='A'){
Susanaranjo 0:30426151ddb2 178 lcd.cls();
Susanaranjo 1:eeaeab624998 179 lcd.printf("Tarea 8\n");
Susanaranjo 0:30426151ddb2 180 lcd.printf("Procesadores");
Susanaranjo 0:30426151ddb2 181
Susanaranjo 0:30426151ddb2 182 }else if(key=='B'){
Susanaranjo 0:30426151ddb2 183 lcd.cls();
Susanaranjo 0:30426151ddb2 184 lcd.printf("Susana Naranjo\n");
Susanaranjo 0:30426151ddb2 185 lcd.printf("Aaron Gonzalez");
Susanaranjo 0:30426151ddb2 186
Susanaranjo 0:30426151ddb2 187 }else if(key=='C'){
Susanaranjo 0:30426151ddb2 188 lcd.cls();
Susanaranjo 0:30426151ddb2 189 lcd.printf("Universidad\n");
Susanaranjo 0:30426151ddb2 190 lcd.printf("Nacional");
Susanaranjo 0:30426151ddb2 191
Susanaranjo 0:30426151ddb2 192 }else if(key=='D'){
Susanaranjo 0:30426151ddb2 193 lcd.cls();
Susanaranjo 0:30426151ddb2 194 lcd.printf("Facultad de\n");
Susanaranjo 0:30426151ddb2 195 lcd.printf("Minas");
Susanaranjo 0:30426151ddb2 196 }
Susanaranjo 0:30426151ddb2 197
Susanaranjo 0:30426151ddb2 198 else{
Susanaranjo 0:30426151ddb2 199 if (item==0){
Susanaranjo 0:30426151ddb2 200 if (i==0){
Susanaranjo 0:30426151ddb2 201 lcd.locate(3,0);
Susanaranjo 0:30426151ddb2 202 lcd.printf("_ ");}
Susanaranjo 0:30426151ddb2 203 lcd.locate(3+i,0);
Susanaranjo 0:30426151ddb2 204 lcd.printf("%u",tecla);
Susanaranjo 0:30426151ddb2 205 kp=entero; }
Susanaranjo 0:30426151ddb2 206
Susanaranjo 0:30426151ddb2 207 if (item==1){
Susanaranjo 0:30426151ddb2 208 if (i==0){
Susanaranjo 0:30426151ddb2 209 lcd.locate(11,0);
Susanaranjo 0:30426151ddb2 210 lcd.printf("_ ");}
Susanaranjo 0:30426151ddb2 211 lcd.locate(11+i,0);
Susanaranjo 0:30426151ddb2 212 lcd.printf("%u",tecla);
Susanaranjo 0:30426151ddb2 213 ki=entero;}
Susanaranjo 0:30426151ddb2 214
Susanaranjo 0:30426151ddb2 215 if (item==2){
Susanaranjo 0:30426151ddb2 216 if (i==0){
Susanaranjo 0:30426151ddb2 217 lcd.locate(3,1);
Susanaranjo 0:30426151ddb2 218 lcd.printf("_ "); }
Susanaranjo 0:30426151ddb2 219 lcd.locate(3+i,1);
Susanaranjo 0:30426151ddb2 220 lcd.printf("%u",tecla);
Susanaranjo 0:30426151ddb2 221 kd=entero;}
Susanaranjo 0:30426151ddb2 222
Susanaranjo 0:30426151ddb2 223 if (item==3){
Susanaranjo 0:30426151ddb2 224 if (i==0){
Susanaranjo 0:30426151ddb2 225 lcd.locate(11,1);
Susanaranjo 0:30426151ddb2 226 lcd.printf("_ "); }
Susanaranjo 0:30426151ddb2 227 lcd.locate(11+i,1);
Susanaranjo 0:30426151ddb2 228 lcd.printf("%u",tecla);
Susanaranjo 0:30426151ddb2 229 sp=entero; }
Susanaranjo 0:30426151ddb2 230
Susanaranjo 0:30426151ddb2 231
Susanaranjo 0:30426151ddb2 232 }//else item
Susanaranjo 0:30426151ddb2 233
Susanaranjo 0:30426151ddb2 234 contador=contador+1;
Susanaranjo 0:30426151ddb2 235 i++;
Susanaranjo 0:30426151ddb2 236
Susanaranjo 0:30426151ddb2 237
Susanaranjo 0:30426151ddb2 238
Susanaranjo 0:30426151ddb2 239 } //if((key !='\0')&&(released==1))
Susanaranjo 0:30426151ddb2 240
Susanaranjo 0:30426151ddb2 241 } //while(i<=3)
Susanaranjo 0:30426151ddb2 242
Susanaranjo 0:30426151ddb2 243 } // while(1)
Susanaranjo 0:30426151ddb2 244 } //main