Andrija Mijailovic 0388
Embed:
(wiki syntax)
Show/hide line numbers
main.cpp
00001 /* 00002 *Biblioteke 00003 */ 00004 #include "mbed.h" 00005 #include "platform/mbed_thread.h" 00006 00007 /* 00008 *Definisanje 00009 */ 00010 00011 #define POLL_MS 50 00012 #define BLINKING_RATE_MS 8 00013 #define ZERO 64 00014 #define ONE 121 00015 #define TWO 36 00016 #define THREE 48 00017 #define FOUR 25 00018 #define FIVE 18 00019 #define SIX 2 00020 #define SEVEN 120 00021 #define EIGHT 0 00022 #define NINE 16 00023 //0-0000001=64, 1- 1001111=121, 2- 0010010=36, 3-0000110=48, 4-1001100=25, 5-0100100=18, 6-0100000=2, 7-0001111=120, 8-0000000=0, 9-0000100=16 00024 00025 /* 00026 *Globalne promenljive 00027 */ 00028 00029 /* 00030 *Glavna funkcija 00031 */ 00032 int main() 00033 { 00034 DigitalOut led(LED1); 00035 DigitalIn sw1(PC_9); 00036 DigitalOut sel1(PB_6); 00037 DigitalOut sel2(PC_7); 00038 BusOut display(PA_10,PA_9,PA_8,PB_10,PB_5,PB_4,PB_3); 00039 int i=0; 00040 while (true) { 00041 static char pusteno=0; 00042 if(!sw1){ 00043 if(pusteno){ 00044 i++; 00045 if(i>15)i=0; 00046 pusteno=0; 00047 } 00048 else pusteno=1; 00049 wait_ms(POLL_MS); 00050 } 00051 switch(i){ 00052 case 0: 00053 sel1.write(1); 00054 sel2.write(0); 00055 display.write(ZERO); 00056 break; 00057 case 1: 00058 sel1.write(1); 00059 sel2.write(0); 00060 display.write(ONE); 00061 break; 00062 case 2: 00063 sel1.write(1); 00064 sel2.write(0); 00065 display.write(TWO); 00066 break; 00067 case 3: 00068 sel1.write(1); 00069 sel2.write(0); 00070 display.write(THREE); 00071 break; 00072 case 4: 00073 sel1.write(1); 00074 sel2.write(0); 00075 display.write(FOUR); 00076 break; 00077 case 5: 00078 sel1.write(SIX); 00079 sel2.write(0); 00080 display.write(FIVE); 00081 break; 00082 case 6: 00083 sel1.write(1); 00084 sel2.write(0); 00085 display.write(SIX); 00086 break; 00087 case 7: 00088 sel1.write(1); 00089 sel2.write(0); 00090 display.write(SEVEN); 00091 break; 00092 case 8: 00093 sel1.write(1); 00094 sel2.write(0); 00095 display.write(EIGHT); 00096 break; 00097 case 9: 00098 sel1.write(1); 00099 sel2.write(0); 00100 display.write(NINE); 00101 break; 00102 case 10: 00103 sel1.write(0); 00104 sel2.write(1); 00105 display.write(ONE); 00106 wait_ms(BLINKING_RATE_MS); 00107 sel1.write(1); 00108 sel2.write(0); 00109 display.write(ZERO); 00110 wait_ms(BLINKING_RATE_MS); 00111 break; 00112 case 11: 00113 sel1.write(0); 00114 sel2.write(1); 00115 display.write(ONE); 00116 wait_ms(BLINKING_RATE_MS); 00117 sel1.write(1); 00118 sel2.write(0); 00119 display.write(ONE); 00120 wait_ms(BLINKING_RATE_MS); 00121 break; 00122 case 12: 00123 sel1.write(0); 00124 sel2.write(1); 00125 display.write(ONE); 00126 wait_ms(BLINKING_RATE_MS); 00127 sel1.write(1); 00128 sel2.write(0); 00129 display.write(TWO); 00130 wait_ms(BLINKING_RATE_MS); 00131 break; 00132 case 13: 00133 sel1.write(0); 00134 sel2.write(1); 00135 display.write(ONE); 00136 wait_ms(BLINKING_RATE_MS); 00137 sel1.write(1); 00138 sel2.write(0); 00139 display.write(THREE); 00140 wait_ms(BLINKING_RATE_MS); 00141 break; 00142 case 14: 00143 sel1.write(0); 00144 sel2.write(1); 00145 display.write(ONE); 00146 wait_ms(BLINKING_RATE_MS); 00147 sel1.write(1); 00148 sel2.write(0); 00149 display.write(FOUR); 00150 wait_ms(BLINKING_RATE_MS); 00151 break; 00152 case 15: 00153 sel1.write(0); 00154 sel2.write(1); 00155 display.write(ONE); 00156 wait_ms(BLINKING_RATE_MS); 00157 sel1.write(1); 00158 sel2.write(0); 00159 display.write(FIVE); 00160 wait_ms(BLINKING_RATE_MS); 00161 break; 00162 } 00163 } 00164 }
Generated on Wed Aug 17 2022 17:35:28 by
1.7.2