
jh
Revision 0:419599d45c81, committed 2018-09-26
- Comitter:
- hdzoisrael
- Date:
- Wed Sep 26 18:40:03 2018 +0000
- Commit message:
- asdfasdf_44;
Changed in this revision
diff -r 000000000000 -r 419599d45c81 44prueba.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/44prueba.cpp Wed Sep 26 18:40:03 2018 +0000 @@ -0,0 +1,420 @@ +/*Utilizando un LCD, teclado matricial, implemente programa que realice las función como un hornode microondas, +en cual el teclado numérico permite definir eltiempo de funcionamiento En el LCDse debe iniciar con la leyenda +Selecciona tiempo , posteriormente adquirir el tiempo en segundo,el valor máximo debe ser 5 minutos, oprimir la +opción de iniciar (∗) debe de visualizar el tiempoque lleva y al llegar a cero debe aparecer finalizado y +encender un led para posteriormente volvera seleccionar tiempo, la opción (#) deben usarse para detener y pedir +el tiempo de nuevo antesoprimir iniciar +*/ +#include "mbed.h" +#include "TextLCD.h" + +BusOut r(D8,D9,D10,D11); +BusIn c(D12,D13,D14,D15); +TextLCD lcd(D2,D3,A2,A3,A4,A5); // rs, e, d4-d7 + +double delay = 0.5; // 500 ms + +int main() { + while(1){ + lcd.cls(); + int T1='0'; + int T2='0'; + int T3='0'; + int val=1; + val=1; + while(val){ + for (int i=0; i<4;i++){ + r=1<<i; + switch(c){//switch 1 + case 0x01: + switch(r){ + case 0x01: + T1='1';lcd.printf("1\n");wait(0.5);lcd.cls();val=0;break;//1 + case 0x02: + T1='4';lcd.printf("4\n");wait(0.5);lcd.cls();val=0;break;//4 + case 0x04: + T1='7';lcd.printf("7\n");wait(0.5);lcd.cls();val=0;break;//7 + case 0x08: + wait(0.1);break; //asterisco + } + break; + case 0x02: + switch(r){ + case 0x01: + T1='2';lcd.printf("2\n");wait(0.5);lcd.cls();val=0;break;//2 + case 0x02: + T1='5';lcd.printf("5\n");wait(0.5);lcd.cls();val=0;break;//5 + case 0x04: + T1='8';lcd.printf("8\n");wait(0.5);lcd.cls();val=0;break;//8 + case 0x08: + T1='0';lcd.printf("0\n");wait(0.5);lcd.cls();val=0;break; //0 + } + break; + case 0x04: + switch(r){ + case 0x01: + T1='3';lcd.printf("3\n");wait(0.5);lcd.cls();val=0;break;//3 + case 0x02: + T1='6';lcd.printf("6\n");wait(0.5);lcd.cls();val=0;break;//6 + case 0x04: + T1='9';lcd.printf("9\n");wait(0.5);lcd.cls();val=0;break;//9 + case 0x08: + wait(0.1);break; //# + } + break; + case 0x08: + switch(r){ + case 0x01: + wait(0.1);break;//A + case 0x02: + wait(0.1);break;//B + case 0x04: + wait(0.1);break;//C + case 0x08: + wait(0.1);break; //D + } //end switch2 + break; + default: + wait(0.001); + break; + }//end switch1 + }//end for + }//end while val + + int val2=1; + val2=1; + while(val2){ + for (int i=0; i<4;i++){ + r=1<<i; + switch(c){//switch 1 + case 0x01: + switch(r){ + case 0x01: + T2='1';lcd.printf("1\n");wait(0.5);lcd.cls();val2=0;break;//1 + case 0x02: + T2='4';lcd.printf("4\n");wait(0.5);lcd.cls();val2=0;break;//4 + case 0x04: + T2='7';lcd.printf("7\n");wait(0.5);lcd.cls();val2=0;break;//7 + case 0x08: + wait(0.1);break; //asterisco + } + break; + case 0x02: + switch(r){ + case 0x01: + T2='2';lcd.printf("2\n");wait(0.5);lcd.cls();val2=0;break;//2 + case 0x02: + T2='5';lcd.printf("5\n");wait(0.5);lcd.cls();val2=0;break;//5 + case 0x04: + T2='8';lcd.printf("8\n");wait(0.5);lcd.cls();val2=0;break;//8 + case 0x08: + T2='0';lcd.printf("0\n");wait(0.5);lcd.cls();val2=0;break; //0 + } + break; + case 0x04: + switch(r){ + case 0x01: + T2='3';lcd.printf("3\n");wait(0.5);lcd.cls();val2=0;break;//3 + case 0x02: + T2='6';lcd.printf("6\n");wait(0.5);lcd.cls();val2=0;break;//6 + case 0x04: + T2='9';lcd.printf("9\n");wait(0.5);lcd.cls();val2=0;break;//9 + case 0x08: + wait(0.1);break; //# + } + break; + case 0x08: + switch(r){ + case 0x01: + wait(0.1);break;//A + case 0x02: + wait(0.1);break;//B + case 0x04: + wait(0.1);break;//C + case 0x08: + wait(0.1);break; //D + } //end switch2 + break; + default: + wait(0.001); + break; + }//end switch1 + }//end for + }//end while val 2 + + int val3=1; + val3=1; + while(val3){ + for (int i=0; i<4;i++){ + r=1<<i; + switch(c){//switch 1 + case 0x01: + switch(r){ + case 0x01: + T3='1';lcd.printf("1\n");wait(0.5);lcd.cls();val3=0;break;//1 + case 0x02: + T3='4';lcd.printf("4\n");wait(0.5);lcd.cls();val3=0;break;//4 + case 0x04: + T3='7';lcd.printf("7\n");wait(0.5);lcd.cls();val3=0;break;//7 + case 0x08: + wait(0.1);break; //asterisco + } + break; + case 0x02: + switch(r){ + case 0x01: + T3='2';lcd.printf("2\n");wait(0.5);lcd.cls();val3=0;break;//2 + case 0x02: + T3='5';lcd.printf("5\n");wait(0.5);lcd.cls();val3=0;break;//5 + case 0x04: + T3='8';lcd.printf("8\n");wait(0.5);lcd.cls();val3=0;break;//8 + case 0x08: + T3='0';lcd.printf("0\n");wait(0.5);lcd.cls();val3=0;break; //0 + } + break; + case 0x04: + switch(r){ + case 0x01: + T3='3';lcd.printf("3\n");wait(0.5);lcd.cls();val3=0;break;//3 + case 0x02: + T3='6';lcd.printf("6\n");wait(0.5);lcd.cls();val3=0;break;//6 + case 0x04: + T3='9';lcd.printf("9\n");wait(0.5);lcd.cls();val3=0;break;//9 + case 0x08: + wait(0.1);break; //# + } + break; + case 0x08: + switch(r){ + case 0x01: + wait(0.1);break;//A + case 0x02: + wait(0.1);break;//B + case 0x04: + wait(0.1);break;//C + case 0x08: + wait(0.1);break; //D + } //end switch2 + break; + default: + wait(0.001); + break; + }//end switch1 + }//end for + }//end while val 3 + + for(int k=0;k<5;k++){ + lcd.printf("*******\n");wait(0.2);lcd.cls(); + } + + int suma=0; + switch(T1){ + case '0': wait(0.1);suma=0;break; + case '1': wait(0.1);suma=100;break; + case '2': wait(0.1);suma=200;break; + case '3': wait(0.1);suma=300;break; + case '4': wait(0.1);suma=400;break; + case '5': wait(0.1);suma=500;break; + case '6': wait(0.1);suma=600;break; + case '7': wait(0.1);suma=700;break; + case '8': wait(0.1);suma=800;break; + case '9': wait(0.1);suma=900;break;} + switch(T2){ + case '0': wait(0.1);suma=suma+00;break; + case '1': wait(0.1);suma=suma+10;break; + case '2': wait(0.1);suma=suma+20;break; + case '3': wait(0.1);suma=suma+30;break; + case '4': wait(0.1);suma=suma+40;break; + case '5': wait(0.1);suma=suma+50;break; + case '6': wait(0.1);suma=suma+60;break; + case '7': wait(0.1);suma=suma+70;break; + case '8': wait(0.1);suma=suma+80;break; + case '9': wait(0.1);suma=suma+90;break;} + switch(T3){ + case '0': wait(0.1);suma=suma+0;break; + case '1': wait(0.1);suma=suma+1;break; + case '2': wait(0.1);suma=suma+2;break; + case '3': wait(0.1);suma=suma+3;break; + case '4': wait(0.1);suma=suma+4;break; + case '5': wait(0.1);suma=suma+5;break; + case '6': wait(0.1);suma=suma+6;break; + case '7': wait(0.1);suma=suma+7;break; + case '8': wait(0.1);suma=suma+8;break; + case '9': wait(0.1);suma=suma+9;break;} + + if (suma>=300){//para que sea menor a 5 minutos + for(int k=0;k<4;k++){ + lcd.printf("No mas de 5 min\n");wait(0.8);lcd.cls(); + } + NVIC_SystemReset(); + }//end if + else{ + for(int k=0;k<4;k++){ + lcd.printf("%i \n",suma);wait(0.7);lcd.cls(); + lcd.printf(" \n");wait(0.3);lcd.cls(); + } + } + + int ast=1; + ast=1; + while(ast){ + r=1<<3; + lcd.printf("* para continuar\n");wait(0.8);lcd.cls(); + switch(c){ + case 0x01://asterisco + //for(int l=0;l<=suma;l++){ + for (int l=suma; l > 0; l--){ + switch(c){ + case 0x04://# + for(int k=0;k<5;k++){ + lcd.printf("*DETENER*\n");wait(0.5);lcd.cls(); + lcd.printf("*********\n");wait(0.5);lcd.cls(); + } + NVIC_SystemReset(); //reiniciando todo + break; + default: + lcd.printf("%i \n",l);wait(1);lcd.cls(); + break; + } + } + for(int k=0;k<5;k++){ + lcd.printf("*FINALIZADO*\n");wait(0.5);lcd.cls(); + lcd.printf("************\n");wait(0.5);lcd.cls(); + } + ast=0; //reiniciando todo + break; + case 0x04://# + for(int k=0;k<5;k++){ + lcd.printf("*DETENER*\n");wait(0.5);lcd.cls(); + lcd.printf("*********\n");wait(0.5);lcd.cls(); + } + ast=0; + break; //reiniciando para pedir nuevos valores + } + }//end while asterisco + + + //val2=1; + } //end while (1) +}//end int + + +/* +#include "mbed.h" +InterruptIn button(USER_BUTTON); +DigitalOut led(LED1); +BusOut r(D8,D9,D10,D11); +BusIn c(D12,D13,D14,D15); +BusOut ld(D4,D5,D6,D7); +BusOut row(D2,D3); + +double delay = 0.5; // 500 ms +int Tiempo[3] = {'0','0'}; + +int main() { + //c.fall(&pressed); + //c.rise(&released); + while(1){ + int T[3]={'0','0'}; + int val=1; + int val2=1; + while (val2) { + for (int j=0;j<2;j++){ + Tiempo[j]=T[j]; + if(T[2]!='0'){ + val2=0;} + val=1; + while(val){ + for (int i=0; i<4;i++){ + r=1<<i; + //r=1<<0; + switch(c){ + case 0x01: + //ld=1<<0; + switch(r){ + case 0x01: + row=0x00;ld=0x01;T[j]='1';wait(0.5);val=0;break;//1 + case 0x02: + row=0x01;ld=0x01;T[j]='4';wait(0.5);val=0;break;//4 + case 0x04: + row=0x02;ld=0x01;T[j]='7';wait(0.5);val=0;break;//7 + case 0x08: + row=0x03;ld=0x01;wait(0.1);break; //asterisco + } + break; + case 0x02: + //ld=1<<1; + switch(r){ + case 0x01: + row=0x00;ld=0x02;T[j]='2';wait(0.5);val=0;break;//2 + case 0x02: + row=0x01;ld=0x02;T[j]='5';wait(0.5);val=0;break;//5 + case 0x04: + row=0x02;ld=0x02;T[j]='8';wait(0.5);val=0;break;//8 + case 0x08: + row=0x03;ld=0x02;T[j]='0';wait(0.5);val=0;break; //0 + } + break; + case 0x04: + switch(r){ + case 0x01: + row=0x00;ld=0x04;T[j]='3';wait(0.5);val=0;break;//3 + case 0x02: + row=0x01;ld=0x04;T[j]='6';wait(0.5);val=0;break;//6 + case 0x04: + row=0x02;ld=0x04;T[j]='9';wait(0.5);val=0;break;//9 + case 0x08: + row=0x03;ld=0x04;wait(0.1);break; //# + } + break; + case 0x08: + switch(r){ + case 0x01: + row=0x00;ld=0x08;wait(0.1);;break;//A + case 0x02: + row=0x01;ld=0x08;wait(0.1);break;//B + case 0x04: + row=0x02;ld=0x08;wait(0.1);break;//C + case 0x08: + row=0x03;ld=0x08;wait(0.1);break; //D + } + break; + default: + row=0x00; + ld=0x00; + wait(0.001); + break; + }} + //wait(0.01); + } + } + } + for(int k=0;k<10;k++){ + ld=1<<k; wait(0.1); + } + switch(Tiempo[1]){ + case '0': ld=0x00;wait(0.5);break; + case '1': ld=0x01;wait(0.5);break; + case '2': ld=0x02;wait(0.5);break; + case '3': ld=0x03;wait(0.5);break; + case '4': ld=0x04;wait(0.5);break; + case '5': ld=0x05;wait(0.5);break; + case '6': ld=0x06;wait(0.5);break; + case '7': ld=0x07;wait(0.5);break; + case '8': ld=0x08;wait(0.5);break; + case '9': ld=0x09;wait(0.5);break;} + switch(Tiempo[2]){ + case '0': ld=0x00;wait(0.5);break; + case '1': ld=0x01;wait(0.5);break; + case '2': ld=0x02;wait(0.5);break; + case '3': ld=0x03;wait(0.5);break; + case '4': ld=0x04;wait(0.5);break; + case '5': ld=0x05;wait(0.5);break; + case '6': ld=0x06;wait(0.5);break; + case '7': ld=0x07;wait(0.5);break; + case '8': ld=0x08;wait(0.5);break; + case '9': ld=0x09;wait(0.5);break;} + val2=1; + } + } +*/ \ No newline at end of file
diff -r 000000000000 -r 419599d45c81 TextLCD.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TextLCD.lib Wed Sep 26 18:40:03 2018 +0000 @@ -0,0 +1,1 @@ +http://os.mbed.com/users/simon/code/TextLCD/#308d188a2d3a
diff -r 000000000000 -r 419599d45c81 mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Wed Sep 26 18:40:03 2018 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/mbed_official/code/mbed/builds/e95d10626187 \ No newline at end of file