Emir Mujacic Amer Ratkovic

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 
00004 DigitalOut a(dp26), b(dp27),c(dp5), d(dp6),e(dp28), f(dp1), g(dp2), dp(dp4);
00005 DigitalOut prva(dp25), druga(dp24), treca(dp23);
00006 DigitalOut enabled(dp14);
00007 DigitalIn kol1(dp9), kol2(dp10),kol3(dp11),kol4(dp13);
00008 DigitalOut red1(dp16), red2(dp15), red3(dp17),red4(dp18);
00009 void dajcifru(char z)
00010 {
00011     switch (z)
00012     {
00013     case '0':
00014     {
00015         a=0; b=0; c=0; d=0; e=0; f=0; g=1;
00016         break;
00017     }
00018     case '1':
00019     {
00020         a=1; b=0; c=0; d=1; e=1; f=1; g=1;
00021         break;
00022     }
00023     case '2':
00024     {
00025         a=0; b=0; c=1; d=0; e=0; f=1; g=0;
00026         break;
00027     }
00028     case '3':
00029     {
00030         a=0; b=0; c=0; d=0; e=1; f=1; g=0;
00031         break;
00032     }
00033     case '4':
00034     {
00035         a=1; b=0; c=0; d=1; e=1; f=0; g=0;
00036         break;
00037     }
00038     case '5':
00039     {
00040         a=0; b=1; c=0; d=0; e=1; f=0; g=0;
00041         break;
00042     }
00043     case '6':
00044     {
00045         a=0; b=1; c=0; d=0; e=0; f=0; g=0;
00046         break;
00047     }
00048     case '7':
00049     {
00050         a=0; b=0; c=0; d=1; e=1; f=1; g=1;
00051         break;
00052     }
00053     case '8':
00054     {
00055         a=0; b=0; c=0; d=0; e=0; f=0; g=0;
00056         break;
00057     }
00058     case '9':
00059     {
00060         a=0; b=0; c=0; d=0; e=1; f=0; g=0;
00061         break;
00062     }
00063     case 'A':
00064     {
00065         a=0; b=0; c=0; d=1; e=0; f=0; g=0;
00066         break;
00067     }
00068     case 'B':
00069     {
00070         a=0; b=0; c=0; d=0; e=0; f=0; g=0;
00071         break;
00072     }
00073     case 'C':
00074     {
00075         a=0; b=1; c=1; d=0; e=0; f=0; g=0;
00076         break;
00077     }
00078     case 'D':
00079     {
00080         a=0; b=0; c=0; d=0; e=0; f=0; g=1;
00081         break;
00082     }
00083     case '*':
00084     {
00085         a=1; b=0; c=0; d=1; e=0; f=0; g=0;
00086         break;
00087     }
00088     case '#':
00089     {
00090         a=1; b=1; c=0; d=0; e=0; f=1; g=0;
00091         break;
00092     }
00093     }
00094 }
00095 
00096 
00097  
00098 char ocitaj()
00099 {
00100     red1=0; red2=0; red3=0; red4=0;
00101     red1=1;
00102         if(kol1==1) return '1';
00103         if(kol2==1) return '2';
00104         if(kol3==1) return '3';
00105         if(kol4==1) return 'A';
00106     
00107     red1=0;
00108     red2=1;
00109         if(kol1==1) return '4';
00110         if(kol2==1) return '5';
00111         if(kol3==1) return '6';
00112         if(kol4==1) return 'B';
00113     red2=0;
00114     red3=1;
00115         if(kol1==1) return '7';
00116         if(kol2==1) return '8';
00117         if(kol3==1) return '9';
00118         if(kol4==1) return 'C';
00119     red3=0;
00120     red4=1;
00121         if(kol1==1) return '*';
00122         if(kol2==1) return '0';
00123         if(kol3==1) return '#';
00124         if(kol4==1) return 'D';
00125     red4=0;
00126     return 'X';
00127 }
00128 
00129 int main() {
00130     int brojac=1,l=0;
00131     int p1 = 0;
00132     enabled = 1;
00133     char tmp1,tmp2;
00134     char a;
00135     prva=1;
00136     druga=1;
00137     treca=1;
00138     while(1) {
00139        if (p1==1)
00140         {
00141             l++;
00142             if (a!='X' && l > 1000) 
00143             {
00144             if(a=='C')
00145        {
00146         prva=1;
00147         druga=1;
00148         treca=1;
00149         brojac=1;
00150         tmp1=' ';
00151         tmp2=' ';
00152        
00153         }
00154        if(brojac==1){
00155             
00156             dajcifru(a);
00157             prva=0;
00158             brojac++; tmp1=a;
00159         }
00160         else if(brojac==2)
00161        {
00162         prva=1;
00163         for(int i=0; i<500; i++){
00164         dajcifru(tmp1);
00165         druga=0;
00166         wait(0.001);
00167         druga=1;
00168         dajcifru(a);
00169         prva=0;
00170         wait(0.001);
00171         }
00172         tmp2=a;
00173         brojac++;
00174         }
00175         else if(brojac==3)
00176         {
00177          
00178          
00179          prva=1;
00180          druga=1;
00181         for(int i=0; i<500; i++){
00182         dajcifru(tmp1);
00183         treca=0;
00184         wait(0.001);
00185         treca=1;
00186         dajcifru(tmp2);
00187         druga=0;
00188         wait(0.001);
00189         druga=1;
00190         dajcifru(a);
00191         prva=0;
00192         wait(0.001);}
00193         tmp2=a;
00194         brojac=3;
00195         }
00196          
00197                 
00198                 l = 0;
00199             }
00200         }
00201          a=ocitaj();
00202         if(a!='X') p1=1;
00203         else p1=0;
00204        
00205     }
00206 }