![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Prvi test iz Praktikuma iz mikrokontrolera - ETF 2021
main.cpp@0:3231ebcb290c, 2021-11-06 (annotated)
- Committer:
- yu5eea
- Date:
- Sat Nov 06 09:28:32 2021 +0000
- Revision:
- 0:3231ebcb290c
Prvi test iz Praktikuma iz mikrokontrolera - ETF 2021
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
yu5eea | 0:3231ebcb290c | 1 | // Uvoz datoteka |
yu5eea | 0:3231ebcb290c | 2 | #include "mbed.h" |
yu5eea | 0:3231ebcb290c | 3 | |
yu5eea | 0:3231ebcb290c | 4 | //Definisanje direktiva i glavnih promenljivih |
yu5eea | 0:3231ebcb290c | 5 | #define BR0 0x01 //10000 0001 |
yu5eea | 0:3231ebcb290c | 6 | #define BR1 0x4F //10100 1111 |
yu5eea | 0:3231ebcb290c | 7 | #define BR2 0x12 //10001 0010 |
yu5eea | 0:3231ebcb290c | 8 | #define BR3 0x06 //10000 0110 |
yu5eea | 0:3231ebcb290c | 9 | #define BR4 0x4C //10100 1100 |
yu5eea | 0:3231ebcb290c | 10 | #define BR5 0x24 //10010 0100 |
yu5eea | 0:3231ebcb290c | 11 | #define BR6 0x20 //10010 0000 |
yu5eea | 0:3231ebcb290c | 12 | #define BR7 0x0F //10000 1111 |
yu5eea | 0:3231ebcb290c | 13 | #define BR8 0x00 //10000 0000 |
yu5eea | 0:3231ebcb290c | 14 | #define BR9 0x04 //10000 0100 |
yu5eea | 0:3231ebcb290c | 15 | |
yu5eea | 0:3231ebcb290c | 16 | // A B C D E F G |
yu5eea | 0:3231ebcb290c | 17 | BusOut display(PB_3, PB_4, PB_5, PB_10, PA_8, PA_9, PA_10); |
yu5eea | 0:3231ebcb290c | 18 | |
yu5eea | 0:3231ebcb290c | 19 | DigitalOut SEL1(PB_6); |
yu5eea | 0:3231ebcb290c | 20 | DigitalOut SEL2(PC_7); |
yu5eea | 0:3231ebcb290c | 21 | DigitalIn SW1(PC_9); |
yu5eea | 0:3231ebcb290c | 22 | DigitalIn SW2(PC_8); |
yu5eea | 0:3231ebcb290c | 23 | //Pomocne funkcije |
yu5eea | 0:3231ebcb290c | 24 | |
yu5eea | 0:3231ebcb290c | 25 | //Glavna funkija |
yu5eea | 0:3231ebcb290c | 26 | int main() |
yu5eea | 0:3231ebcb290c | 27 | { |
yu5eea | 0:3231ebcb290c | 28 | int broj = 0; |
yu5eea | 0:3231ebcb290c | 29 | SEL1.write(1); |
yu5eea | 0:3231ebcb290c | 30 | SEL2.write(0); |
yu5eea | 0:3231ebcb290c | 31 | display = BR0; |
yu5eea | 0:3231ebcb290c | 32 | while(true) |
yu5eea | 0:3231ebcb290c | 33 | { |
yu5eea | 0:3231ebcb290c | 34 | |
yu5eea | 0:3231ebcb290c | 35 | if(SW1 == 0) |
yu5eea | 0:3231ebcb290c | 36 | { |
yu5eea | 0:3231ebcb290c | 37 | wait_ms(100); |
yu5eea | 0:3231ebcb290c | 38 | if(broj != 15) |
yu5eea | 0:3231ebcb290c | 39 | { |
yu5eea | 0:3231ebcb290c | 40 | broj++; |
yu5eea | 0:3231ebcb290c | 41 | } |
yu5eea | 0:3231ebcb290c | 42 | else |
yu5eea | 0:3231ebcb290c | 43 | { |
yu5eea | 0:3231ebcb290c | 44 | broj=0; |
yu5eea | 0:3231ebcb290c | 45 | } |
yu5eea | 0:3231ebcb290c | 46 | } |
yu5eea | 0:3231ebcb290c | 47 | |
yu5eea | 0:3231ebcb290c | 48 | if(SW2 == 0) |
yu5eea | 0:3231ebcb290c | 49 | { |
yu5eea | 0:3231ebcb290c | 50 | wait_ms(100); |
yu5eea | 0:3231ebcb290c | 51 | if(broj != 0) |
yu5eea | 0:3231ebcb290c | 52 | { |
yu5eea | 0:3231ebcb290c | 53 | broj--; |
yu5eea | 0:3231ebcb290c | 54 | } |
yu5eea | 0:3231ebcb290c | 55 | else |
yu5eea | 0:3231ebcb290c | 56 | { |
yu5eea | 0:3231ebcb290c | 57 | broj=15; |
yu5eea | 0:3231ebcb290c | 58 | } |
yu5eea | 0:3231ebcb290c | 59 | } |
yu5eea | 0:3231ebcb290c | 60 | |
yu5eea | 0:3231ebcb290c | 61 | if(broj == 0) |
yu5eea | 0:3231ebcb290c | 62 | { |
yu5eea | 0:3231ebcb290c | 63 | SEL1.write(1); |
yu5eea | 0:3231ebcb290c | 64 | SEL2.write(0); |
yu5eea | 0:3231ebcb290c | 65 | display = BR0; |
yu5eea | 0:3231ebcb290c | 66 | wait_ms(200); |
yu5eea | 0:3231ebcb290c | 67 | |
yu5eea | 0:3231ebcb290c | 68 | } |
yu5eea | 0:3231ebcb290c | 69 | if(broj == 1) |
yu5eea | 0:3231ebcb290c | 70 | { |
yu5eea | 0:3231ebcb290c | 71 | SEL1.write(1); |
yu5eea | 0:3231ebcb290c | 72 | SEL2.write(0); |
yu5eea | 0:3231ebcb290c | 73 | display = BR1; |
yu5eea | 0:3231ebcb290c | 74 | wait_ms(200); |
yu5eea | 0:3231ebcb290c | 75 | } |
yu5eea | 0:3231ebcb290c | 76 | if(broj == 2) |
yu5eea | 0:3231ebcb290c | 77 | { |
yu5eea | 0:3231ebcb290c | 78 | SEL1.write(1); |
yu5eea | 0:3231ebcb290c | 79 | SEL2.write(0); |
yu5eea | 0:3231ebcb290c | 80 | display = BR2; |
yu5eea | 0:3231ebcb290c | 81 | wait_ms(200); |
yu5eea | 0:3231ebcb290c | 82 | } |
yu5eea | 0:3231ebcb290c | 83 | if(broj == 3) |
yu5eea | 0:3231ebcb290c | 84 | { |
yu5eea | 0:3231ebcb290c | 85 | SEL1.write(1); |
yu5eea | 0:3231ebcb290c | 86 | SEL2.write(0); |
yu5eea | 0:3231ebcb290c | 87 | display = BR3; |
yu5eea | 0:3231ebcb290c | 88 | wait_ms(200); |
yu5eea | 0:3231ebcb290c | 89 | } |
yu5eea | 0:3231ebcb290c | 90 | if(broj == 4) |
yu5eea | 0:3231ebcb290c | 91 | { |
yu5eea | 0:3231ebcb290c | 92 | SEL1.write(1); |
yu5eea | 0:3231ebcb290c | 93 | SEL2.write(0); |
yu5eea | 0:3231ebcb290c | 94 | display = BR4; |
yu5eea | 0:3231ebcb290c | 95 | wait_ms(200); |
yu5eea | 0:3231ebcb290c | 96 | } |
yu5eea | 0:3231ebcb290c | 97 | if(broj == 5) |
yu5eea | 0:3231ebcb290c | 98 | { |
yu5eea | 0:3231ebcb290c | 99 | SEL1.write(1); |
yu5eea | 0:3231ebcb290c | 100 | SEL2.write(0); |
yu5eea | 0:3231ebcb290c | 101 | display = BR5; |
yu5eea | 0:3231ebcb290c | 102 | wait_ms(200); |
yu5eea | 0:3231ebcb290c | 103 | } |
yu5eea | 0:3231ebcb290c | 104 | if(broj == 6) |
yu5eea | 0:3231ebcb290c | 105 | { |
yu5eea | 0:3231ebcb290c | 106 | SEL1.write(1); |
yu5eea | 0:3231ebcb290c | 107 | SEL2.write(0); |
yu5eea | 0:3231ebcb290c | 108 | display = BR6; |
yu5eea | 0:3231ebcb290c | 109 | wait_ms(200); |
yu5eea | 0:3231ebcb290c | 110 | } |
yu5eea | 0:3231ebcb290c | 111 | if(broj == 7) |
yu5eea | 0:3231ebcb290c | 112 | { |
yu5eea | 0:3231ebcb290c | 113 | SEL1.write(1); |
yu5eea | 0:3231ebcb290c | 114 | SEL2.write(0); |
yu5eea | 0:3231ebcb290c | 115 | display = BR7; |
yu5eea | 0:3231ebcb290c | 116 | wait_ms(200); |
yu5eea | 0:3231ebcb290c | 117 | } |
yu5eea | 0:3231ebcb290c | 118 | if(broj == 8) |
yu5eea | 0:3231ebcb290c | 119 | { |
yu5eea | 0:3231ebcb290c | 120 | SEL1.write(1); |
yu5eea | 0:3231ebcb290c | 121 | SEL2.write(0); |
yu5eea | 0:3231ebcb290c | 122 | display = BR8; |
yu5eea | 0:3231ebcb290c | 123 | wait_ms(200); |
yu5eea | 0:3231ebcb290c | 124 | } |
yu5eea | 0:3231ebcb290c | 125 | if(broj == 9) |
yu5eea | 0:3231ebcb290c | 126 | { |
yu5eea | 0:3231ebcb290c | 127 | SEL1.write(1); |
yu5eea | 0:3231ebcb290c | 128 | SEL2.write(0); |
yu5eea | 0:3231ebcb290c | 129 | display = BR9; |
yu5eea | 0:3231ebcb290c | 130 | wait_ms(200); |
yu5eea | 0:3231ebcb290c | 131 | } |
yu5eea | 0:3231ebcb290c | 132 | if(broj == 10) |
yu5eea | 0:3231ebcb290c | 133 | { |
yu5eea | 0:3231ebcb290c | 134 | SEL1.write(0); |
yu5eea | 0:3231ebcb290c | 135 | SEL2.write(1); |
yu5eea | 0:3231ebcb290c | 136 | display = BR1; |
yu5eea | 0:3231ebcb290c | 137 | wait_ms(10); |
yu5eea | 0:3231ebcb290c | 138 | SEL1.write(1); |
yu5eea | 0:3231ebcb290c | 139 | SEL2.write(0); |
yu5eea | 0:3231ebcb290c | 140 | display = BR0; |
yu5eea | 0:3231ebcb290c | 141 | wait_ms(10); |
yu5eea | 0:3231ebcb290c | 142 | |
yu5eea | 0:3231ebcb290c | 143 | } |
yu5eea | 0:3231ebcb290c | 144 | if(broj == 11) |
yu5eea | 0:3231ebcb290c | 145 | { |
yu5eea | 0:3231ebcb290c | 146 | SEL1.write(0); |
yu5eea | 0:3231ebcb290c | 147 | SEL2.write(1); |
yu5eea | 0:3231ebcb290c | 148 | display = BR1; |
yu5eea | 0:3231ebcb290c | 149 | wait_ms(10); |
yu5eea | 0:3231ebcb290c | 150 | SEL1.write(1); |
yu5eea | 0:3231ebcb290c | 151 | SEL2.write(0); |
yu5eea | 0:3231ebcb290c | 152 | display = BR1; |
yu5eea | 0:3231ebcb290c | 153 | wait_ms(10); |
yu5eea | 0:3231ebcb290c | 154 | |
yu5eea | 0:3231ebcb290c | 155 | } |
yu5eea | 0:3231ebcb290c | 156 | if(broj == 12) |
yu5eea | 0:3231ebcb290c | 157 | { |
yu5eea | 0:3231ebcb290c | 158 | SEL1.write(0); |
yu5eea | 0:3231ebcb290c | 159 | SEL2.write(1); |
yu5eea | 0:3231ebcb290c | 160 | display = BR1; |
yu5eea | 0:3231ebcb290c | 161 | wait_ms(10); |
yu5eea | 0:3231ebcb290c | 162 | SEL1.write(1); |
yu5eea | 0:3231ebcb290c | 163 | SEL2.write(0); |
yu5eea | 0:3231ebcb290c | 164 | display = BR2; |
yu5eea | 0:3231ebcb290c | 165 | wait_ms(10); |
yu5eea | 0:3231ebcb290c | 166 | |
yu5eea | 0:3231ebcb290c | 167 | } |
yu5eea | 0:3231ebcb290c | 168 | if(broj == 13) |
yu5eea | 0:3231ebcb290c | 169 | { |
yu5eea | 0:3231ebcb290c | 170 | SEL1.write(0); |
yu5eea | 0:3231ebcb290c | 171 | SEL2.write(1); |
yu5eea | 0:3231ebcb290c | 172 | display = BR1; |
yu5eea | 0:3231ebcb290c | 173 | wait_ms(10); |
yu5eea | 0:3231ebcb290c | 174 | SEL1.write(1); |
yu5eea | 0:3231ebcb290c | 175 | SEL2.write(0); |
yu5eea | 0:3231ebcb290c | 176 | display = BR3; |
yu5eea | 0:3231ebcb290c | 177 | wait_ms(10); |
yu5eea | 0:3231ebcb290c | 178 | |
yu5eea | 0:3231ebcb290c | 179 | } |
yu5eea | 0:3231ebcb290c | 180 | if(broj == 14) |
yu5eea | 0:3231ebcb290c | 181 | { |
yu5eea | 0:3231ebcb290c | 182 | SEL1.write(0); |
yu5eea | 0:3231ebcb290c | 183 | SEL2.write(1); |
yu5eea | 0:3231ebcb290c | 184 | display = BR1; |
yu5eea | 0:3231ebcb290c | 185 | wait_ms(10); |
yu5eea | 0:3231ebcb290c | 186 | SEL1.write(1); |
yu5eea | 0:3231ebcb290c | 187 | SEL2.write(0); |
yu5eea | 0:3231ebcb290c | 188 | display = BR4; |
yu5eea | 0:3231ebcb290c | 189 | wait_ms(10); |
yu5eea | 0:3231ebcb290c | 190 | |
yu5eea | 0:3231ebcb290c | 191 | } |
yu5eea | 0:3231ebcb290c | 192 | if(broj == 15) |
yu5eea | 0:3231ebcb290c | 193 | { |
yu5eea | 0:3231ebcb290c | 194 | SEL1.write(0); |
yu5eea | 0:3231ebcb290c | 195 | SEL2.write(1); |
yu5eea | 0:3231ebcb290c | 196 | display = BR1; |
yu5eea | 0:3231ebcb290c | 197 | wait_ms(10); |
yu5eea | 0:3231ebcb290c | 198 | SEL1.write(1); |
yu5eea | 0:3231ebcb290c | 199 | SEL2.write(0); |
yu5eea | 0:3231ebcb290c | 200 | display = BR5; |
yu5eea | 0:3231ebcb290c | 201 | wait_ms(10); |
yu5eea | 0:3231ebcb290c | 202 | |
yu5eea | 0:3231ebcb290c | 203 | } |
yu5eea | 0:3231ebcb290c | 204 | |
yu5eea | 0:3231ebcb290c | 205 | |
yu5eea | 0:3231ebcb290c | 206 | |
yu5eea | 0:3231ebcb290c | 207 | |
yu5eea | 0:3231ebcb290c | 208 | |
yu5eea | 0:3231ebcb290c | 209 | |
yu5eea | 0:3231ebcb290c | 210 | |
yu5eea | 0:3231ebcb290c | 211 | |
yu5eea | 0:3231ebcb290c | 212 | |
yu5eea | 0:3231ebcb290c | 213 | |
yu5eea | 0:3231ebcb290c | 214 | } |
yu5eea | 0:3231ebcb290c | 215 | } |
yu5eea | 0:3231ebcb290c | 216 |