Nedim Hozić Kenan Mahmutović

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 DigitalOut enable(dp14);
00004 BusOut displej(dp26, dp27, dp5, dp6, dp28, dp1, dp2);
00005 DigitalOut kolona[4] = {dp16, dp15, dp17, dp18};
00006 DigitalIn red[4] = {dp9, dp10, dp11, dp13};
00007 DigitalOut seg(dp25), seg1(dp23), seg2(dp24);
00008  
00009 int preset()
00010 {
00011     for(int i=0; i<4; i++)
00012     {
00013         kolona[i] = 1;
00014         for(int j=0; j<4; j++)
00015         {
00016             if(red[j]==1)
00017             {
00018             kolona[i]=0;
00019             return 4*i+j;
00020             }
00021         }
00022         kolona[i]=0;
00023     }
00024     return -1;
00025 }
00026 
00027 int cifra1=0, cifra2=0, cifra3=0;
00028 
00029 
00030 
00031 void ispisi(int x)
00032 {
00033     if(cifra1!=0)
00034     {
00035         return;
00036     }
00037     int temp=cifra3;
00038     cifra3=x;
00039     cifra1=cifra2;
00040     cifra2=temp;
00041     for(;;)
00042     {
00043             displej = cifra3;
00044             seg = 0;
00045             wait(0.001);
00046             seg = 1;
00047             displej = cifra2;
00048             seg2 = 0;
00049             wait(0.001);
00050             seg2=1;
00051             displej=cifra1;
00052             seg1 = 0;
00053             wait(0.001);
00054             seg1=1;
00055     }
00056 }
00057  
00058 int main() {
00059     enable=1;
00060     
00061     while(1) {
00062         if(preset()==0)
00063         {
00064             ispisi(121);
00065         }     
00066         else if(preset()==1)
00067         {
00068             ispisi(36);
00069         }
00070         
00071         else if(preset()==2)
00072         {
00073             ispisi(48);
00074         }
00075         
00076         else if(preset()==4)
00077         {
00078             ispisi(25);
00079         }
00080         
00081         else if(preset()==5)
00082         {
00083             ispisi(18);
00084         }
00085         
00086         else if(preset()==6)
00087         {
00088             ispisi(2);
00089         }
00090         
00091         else if(preset()==8)
00092         {
00093             ispisi(120);
00094         }
00095         
00096         else if(preset()==9)
00097         {
00098            ispisi(0);
00099         }
00100         
00101         else if(preset()==10)
00102         {
00103             ispisi(16);
00104         }
00105         
00106         else if(preset()==13)
00107         {
00108             ispisi(64);
00109         }
00110         
00111         else if(preset()==11)
00112         {
00113             displej=64;
00114             seg=0;
00115             seg1=0;
00116             seg2=0;
00117         }
00118     }
00119 }
00120