Armin Klačar 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 BusIn kolone(dp9, dp10, dp11, dp13);
00004 BusOut red(dp2, dp4, dp18, dp17);
00005 DigitalOut led[8]= {dp23, dp24, dp25, dp26, dp27, dp5, dp6, dp28};
00006 DigitalOut enable (dp14);
00007 void funkcija(char k)
00008 {
00009     if(k=='0')
00010     {
00011         for(int j=0; j<8; j++) if(led[j]==0) led[j]=1;
00012     }
00013     else if(k=='A')
00014     {
00015         led[0]=0;
00016         led[1]=0;
00017         for(int j=0; j<8; j++) if(led[j]==0&&j!=0&&j!=1) led[j]=1;
00018     }
00019     else if(k=='B')
00020     {
00021         led[2]=0;
00022         led[3]=0;
00023         for(int j=0; j<8; j++) if(led[j]==0&&j!=2&&j!=3) led[j]=1;
00024     }
00025     else if(k=='C')
00026     {
00027         led[4]=0;
00028         led[5]=0;
00029         for(int j=0; j<8; j++) if(led[j]==0&&j!=4&&j!=5) led[j]=1;
00030     }
00031     else if(k=='D')
00032     {
00033         led[6]=0;
00034         led[7]=0;
00035         for(int j=0; j<8; j++) if(led[j]==6&&j!=0&&j!=7) led[j]=1;
00036     }
00037     else if(k=='*')
00038     {
00039         for(int j=0; j<8; j++)
00040         {
00041             if(j>0)led[j-1]=0;
00042             led[j]=1;
00043             wait(0.5);
00044             if(j==7)led[j]=0;
00045         }
00046     }
00047     else if(k=='#')
00048     {
00049         for(int j=7; j>=0; j--)
00050         {
00051             if(j<7)led[j+1]=0;
00052             led[j]=1;
00053             wait(0.5);
00054             if(j==0)led[j]=0;
00055         }
00056     }
00057     else
00058     {
00059         for(int j=0; j<8; j++) if(led[j]==0) led[j]=1;
00060     }
00061 
00062 
00063 }
00064 int main()
00065 {
00066     enable=0;
00067     kolone=0;
00068     bool test(true);
00069     int i=9;
00070     char k='0';
00071     for(int i=0; i<8; i++) led[i]=1;
00072     int array[4]={8,4,2,1};
00073     int j=0;
00074     while(1)
00075     {
00076         red=array[j];
00077         j++;
00078         if(j==4)j=0;
00079         if(kolone==8)
00080         {
00081             test=true;
00082             if(red==8)i=0;
00083             else if(red==4)i=1;
00084             else if(red==2) i=2;
00085             else if(red==1)
00086             {
00087                 k='A';
00088                 test=false;
00089             }
00090         }
00091         else if(kolone==4)
00092         {
00093             test=true;
00094             if(red==8)i=3;
00095             else if(red==4)i=4;
00096             else if(red==2) i=5;
00097             else if(red==1)
00098             {
00099                 k='B';
00100                 test=false;
00101             }
00102         }
00103         else if(kolone==2)
00104         {
00105             test=true;
00106             if(red==8)i=6;
00107             else if(red==4)i=7;
00108             else if(red==2) i=8;
00109             else if(red==1)
00110             {
00111                 k='C';
00112                 test=false;
00113             }
00114         }
00115         else if(kolone==1)
00116         {
00117             test=false;
00118             if(red==8)k='*';
00119             else if(red==4)k='0';
00120             else if(red==2) k='#';
00121             else if(red==1) k='D';
00122         }
00123         else
00124         {
00125             i=9;
00126             for(int j=0; j<8; j++) led[j]=1;
00127             continue;
00128         }
00129         if(test&&i<8&&i>=0)
00130         {
00131             led[i]=0;
00132         }
00133         else
00134         {
00135             funkcija(k);
00136         }
00137     }
00138 }