Ensar Muratovic Maedeh Mousavi

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002  
00003 DigitalIn k1(dp9), k2(dp10), k3(dp11), k4(dp13);
00004 DigitalOut r1(dp16), r2(dp15), r3(dp17), r4(dp18);
00005  
00006 BusOut segments(dp2,dp1,dp28,dp6,dp5,dp27,dp26);
00007 DigitalOut enable(dp25);
00008 DigitalOut e2(dp23),e3(dp24);
00009 int znakovi[16] = {0x01,0x4F,0x12,0x06,0x4C,0x24,0x20,0x0F,0x00,0x04, 0x02, 0x60, 0x72, 0x42, 0x48, 0x36};
00010  
00011 char ocitajTast()
00012 {
00013     r1 = 0; r2 = 0; r3 = 0; r4 = 0;
00014    
00015     r1 =1 ;
00016     if(k1 == 1) return '1';
00017     if(k2 == 1) return '2';
00018     if(k3 == 1) return '3';
00019     if(k4 == 1) return 'A';
00020     r1 = 0;
00021    
00022     r2 =1 ;
00023     if(k1 == 1) return '4';
00024     if(k2 == 1) return '5';
00025     if(k3 == 1) return '6';
00026     if(k4 == 1) return 'B';
00027     r2 = 0;
00028    
00029     r3 =1 ;
00030     if(k1 == 1) return '7';
00031     if(k2 == 1) return '8';
00032     if(k3 == 1) return '9';
00033     if(k4 == 1) return 'C';
00034     r3 = 0;
00035    
00036     r4 =1 ;
00037     if(k1 == 1) return '*';
00038     if(k2 == 1) return '0';
00039     if(k3 == 1) return '#';
00040     if(k4 == 1) return 'D';
00041     r4 = 0;
00042     
00043     return 0;
00044 }
00045  
00046  
00047  
00048 int main() {
00049    
00050     char znak ;
00051     int broj = 0;
00052     while(1) {
00053        znak = ocitajTast();
00054        switch(znak)
00055        {
00056         case '0':
00057         if(broj>0)
00058         {
00059             e2 = enable;
00060             }
00061         segments = znakovi[0];
00062         enable = 0;
00063         wait(1);
00064         enable = 1;
00065         broj++;
00066        
00067         break;  
00068                 case '1':
00069         segments = znakovi[1];
00070         enable = 0;
00071         wait(1);
00072         enable = 1;
00073          broj++;
00074         break;  
00075                 case '2':
00076         segments = znakovi[2];
00077         enable = 0;
00078         wait(1);
00079         enable = 1;
00080          broj++;
00081         break;  
00082                 case '3':
00083         segments = znakovi[3];
00084         enable = 0;
00085         wait(1);
00086         enable = 1;
00087          broj++;
00088         break;  
00089                 case '4':
00090         segments = znakovi[4];
00091         enable = 0;
00092         wait(1);
00093         enable = 1;
00094         break;  
00095        
00096                  case '5':
00097         segments = znakovi[5];
00098         enable = 0;
00099         wait(1);
00100         enable = 1;
00101         break;  
00102                 case '6':
00103         segments = znakovi[6];
00104         enable = 0;
00105         wait(1);
00106         enable = 1;
00107         break;  
00108                 case '7':
00109         segments = znakovi[7];
00110         enable = 0;
00111         wait(1);
00112         enable = 1;
00113         break;  
00114                 case '8':
00115         segments = znakovi[8];
00116         enable = 0;
00117         wait(1);
00118         enable = 1;
00119         break;  
00120        
00121                case '9':
00122         segments = znakovi[9];
00123         enable = 0;
00124         wait(1);
00125         enable = 1;
00126         break;  
00127        
00128                case 'A':
00129         segments = znakovi[10];
00130         enable = 0;
00131         wait(1);
00132         enable = 1;
00133         break;  
00134        
00135            case 'B':
00136         segments = znakovi[11];
00137         enable = 0;
00138         wait(1);
00139         enable = 1;
00140         break;  
00141        
00142            case 'C':
00143         segments = znakovi[12];
00144         enable = 0;
00145         wait(1);
00146         enable = 1;
00147         break;  
00148        
00149            case 'D':
00150         segments = znakovi[13];
00151         enable = 0;
00152         wait(1);
00153         enable = 1;
00154         break;  
00155        
00156            case '*':
00157         segments = znakovi[14];
00158         enable = 0;
00159         wait(1);
00160         enable = 1;
00161         break;  
00162        
00163            case '#':
00164         segments = znakovi[15];
00165         enable = 0;
00166         wait(1);
00167         enable = 1;
00168         break;  
00169        
00170         }
00171     }
00172   }
00173