Emir Mujacic Amer Ratkovic
Embed:
(wiki syntax)
Show/hide line numbers
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 }
Generated on Tue Aug 16 2022 00:08:04 by
1.7.2