jh

Dependencies:   TextLCD mbed

Files at this revision

API Documentation at this revision

Comitter:
hdzoisrael
Date:
Wed Sep 26 18:40:03 2018 +0000
Commit message:
asdfasdf_44;

Changed in this revision

44prueba.cpp Show annotated file Show diff for this revision Revisions of this file
TextLCD.lib Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
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