Nedim Hozić Kenan Mahmutović
Embed:
(wiki syntax)
Show/hide line numbers
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
Generated on Mon Aug 22 2022 21:18:05 by
1.7.2