Andrija Mijailovic 0388

Committer:
ma200388
Date:
Sat Nov 06 08:52:19 2021 +0000
Revision:
0:b72e4bc7884d
Andrija Mijailovic 0388

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ma200388 0:b72e4bc7884d 1 /*
ma200388 0:b72e4bc7884d 2 *Biblioteke
ma200388 0:b72e4bc7884d 3 */
ma200388 0:b72e4bc7884d 4 #include "mbed.h"
ma200388 0:b72e4bc7884d 5 #include "platform/mbed_thread.h"
ma200388 0:b72e4bc7884d 6
ma200388 0:b72e4bc7884d 7 /*
ma200388 0:b72e4bc7884d 8 *Definisanje
ma200388 0:b72e4bc7884d 9 */
ma200388 0:b72e4bc7884d 10
ma200388 0:b72e4bc7884d 11 #define POLL_MS 50
ma200388 0:b72e4bc7884d 12 #define BLINKING_RATE_MS 8
ma200388 0:b72e4bc7884d 13 #define ZERO 64
ma200388 0:b72e4bc7884d 14 #define ONE 121
ma200388 0:b72e4bc7884d 15 #define TWO 36
ma200388 0:b72e4bc7884d 16 #define THREE 48
ma200388 0:b72e4bc7884d 17 #define FOUR 25
ma200388 0:b72e4bc7884d 18 #define FIVE 18
ma200388 0:b72e4bc7884d 19 #define SIX 2
ma200388 0:b72e4bc7884d 20 #define SEVEN 120
ma200388 0:b72e4bc7884d 21 #define EIGHT 0
ma200388 0:b72e4bc7884d 22 #define NINE 16
ma200388 0:b72e4bc7884d 23 //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
ma200388 0:b72e4bc7884d 24
ma200388 0:b72e4bc7884d 25 /*
ma200388 0:b72e4bc7884d 26 *Globalne promenljive
ma200388 0:b72e4bc7884d 27 */
ma200388 0:b72e4bc7884d 28
ma200388 0:b72e4bc7884d 29 /*
ma200388 0:b72e4bc7884d 30 *Glavna funkcija
ma200388 0:b72e4bc7884d 31 */
ma200388 0:b72e4bc7884d 32 int main()
ma200388 0:b72e4bc7884d 33 {
ma200388 0:b72e4bc7884d 34 DigitalOut led(LED1);
ma200388 0:b72e4bc7884d 35 DigitalIn sw1(PC_9);
ma200388 0:b72e4bc7884d 36 DigitalOut sel1(PB_6);
ma200388 0:b72e4bc7884d 37 DigitalOut sel2(PC_7);
ma200388 0:b72e4bc7884d 38 BusOut display(PA_10,PA_9,PA_8,PB_10,PB_5,PB_4,PB_3);
ma200388 0:b72e4bc7884d 39 int i=0;
ma200388 0:b72e4bc7884d 40 while (true) {
ma200388 0:b72e4bc7884d 41 static char pusteno=0;
ma200388 0:b72e4bc7884d 42 if(!sw1){
ma200388 0:b72e4bc7884d 43 if(pusteno){
ma200388 0:b72e4bc7884d 44 i++;
ma200388 0:b72e4bc7884d 45 if(i>15)i=0;
ma200388 0:b72e4bc7884d 46 pusteno=0;
ma200388 0:b72e4bc7884d 47 }
ma200388 0:b72e4bc7884d 48 else pusteno=1;
ma200388 0:b72e4bc7884d 49 wait_ms(POLL_MS);
ma200388 0:b72e4bc7884d 50 }
ma200388 0:b72e4bc7884d 51 switch(i){
ma200388 0:b72e4bc7884d 52 case 0:
ma200388 0:b72e4bc7884d 53 sel1.write(1);
ma200388 0:b72e4bc7884d 54 sel2.write(0);
ma200388 0:b72e4bc7884d 55 display.write(ZERO);
ma200388 0:b72e4bc7884d 56 break;
ma200388 0:b72e4bc7884d 57 case 1:
ma200388 0:b72e4bc7884d 58 sel1.write(1);
ma200388 0:b72e4bc7884d 59 sel2.write(0);
ma200388 0:b72e4bc7884d 60 display.write(ONE);
ma200388 0:b72e4bc7884d 61 break;
ma200388 0:b72e4bc7884d 62 case 2:
ma200388 0:b72e4bc7884d 63 sel1.write(1);
ma200388 0:b72e4bc7884d 64 sel2.write(0);
ma200388 0:b72e4bc7884d 65 display.write(TWO);
ma200388 0:b72e4bc7884d 66 break;
ma200388 0:b72e4bc7884d 67 case 3:
ma200388 0:b72e4bc7884d 68 sel1.write(1);
ma200388 0:b72e4bc7884d 69 sel2.write(0);
ma200388 0:b72e4bc7884d 70 display.write(THREE);
ma200388 0:b72e4bc7884d 71 break;
ma200388 0:b72e4bc7884d 72 case 4:
ma200388 0:b72e4bc7884d 73 sel1.write(1);
ma200388 0:b72e4bc7884d 74 sel2.write(0);
ma200388 0:b72e4bc7884d 75 display.write(FOUR);
ma200388 0:b72e4bc7884d 76 break;
ma200388 0:b72e4bc7884d 77 case 5:
ma200388 0:b72e4bc7884d 78 sel1.write(SIX);
ma200388 0:b72e4bc7884d 79 sel2.write(0);
ma200388 0:b72e4bc7884d 80 display.write(FIVE);
ma200388 0:b72e4bc7884d 81 break;
ma200388 0:b72e4bc7884d 82 case 6:
ma200388 0:b72e4bc7884d 83 sel1.write(1);
ma200388 0:b72e4bc7884d 84 sel2.write(0);
ma200388 0:b72e4bc7884d 85 display.write(SIX);
ma200388 0:b72e4bc7884d 86 break;
ma200388 0:b72e4bc7884d 87 case 7:
ma200388 0:b72e4bc7884d 88 sel1.write(1);
ma200388 0:b72e4bc7884d 89 sel2.write(0);
ma200388 0:b72e4bc7884d 90 display.write(SEVEN);
ma200388 0:b72e4bc7884d 91 break;
ma200388 0:b72e4bc7884d 92 case 8:
ma200388 0:b72e4bc7884d 93 sel1.write(1);
ma200388 0:b72e4bc7884d 94 sel2.write(0);
ma200388 0:b72e4bc7884d 95 display.write(EIGHT);
ma200388 0:b72e4bc7884d 96 break;
ma200388 0:b72e4bc7884d 97 case 9:
ma200388 0:b72e4bc7884d 98 sel1.write(1);
ma200388 0:b72e4bc7884d 99 sel2.write(0);
ma200388 0:b72e4bc7884d 100 display.write(NINE);
ma200388 0:b72e4bc7884d 101 break;
ma200388 0:b72e4bc7884d 102 case 10:
ma200388 0:b72e4bc7884d 103 sel1.write(0);
ma200388 0:b72e4bc7884d 104 sel2.write(1);
ma200388 0:b72e4bc7884d 105 display.write(ONE);
ma200388 0:b72e4bc7884d 106 wait_ms(BLINKING_RATE_MS);
ma200388 0:b72e4bc7884d 107 sel1.write(1);
ma200388 0:b72e4bc7884d 108 sel2.write(0);
ma200388 0:b72e4bc7884d 109 display.write(ZERO);
ma200388 0:b72e4bc7884d 110 wait_ms(BLINKING_RATE_MS);
ma200388 0:b72e4bc7884d 111 break;
ma200388 0:b72e4bc7884d 112 case 11:
ma200388 0:b72e4bc7884d 113 sel1.write(0);
ma200388 0:b72e4bc7884d 114 sel2.write(1);
ma200388 0:b72e4bc7884d 115 display.write(ONE);
ma200388 0:b72e4bc7884d 116 wait_ms(BLINKING_RATE_MS);
ma200388 0:b72e4bc7884d 117 sel1.write(1);
ma200388 0:b72e4bc7884d 118 sel2.write(0);
ma200388 0:b72e4bc7884d 119 display.write(ONE);
ma200388 0:b72e4bc7884d 120 wait_ms(BLINKING_RATE_MS);
ma200388 0:b72e4bc7884d 121 break;
ma200388 0:b72e4bc7884d 122 case 12:
ma200388 0:b72e4bc7884d 123 sel1.write(0);
ma200388 0:b72e4bc7884d 124 sel2.write(1);
ma200388 0:b72e4bc7884d 125 display.write(ONE);
ma200388 0:b72e4bc7884d 126 wait_ms(BLINKING_RATE_MS);
ma200388 0:b72e4bc7884d 127 sel1.write(1);
ma200388 0:b72e4bc7884d 128 sel2.write(0);
ma200388 0:b72e4bc7884d 129 display.write(TWO);
ma200388 0:b72e4bc7884d 130 wait_ms(BLINKING_RATE_MS);
ma200388 0:b72e4bc7884d 131 break;
ma200388 0:b72e4bc7884d 132 case 13:
ma200388 0:b72e4bc7884d 133 sel1.write(0);
ma200388 0:b72e4bc7884d 134 sel2.write(1);
ma200388 0:b72e4bc7884d 135 display.write(ONE);
ma200388 0:b72e4bc7884d 136 wait_ms(BLINKING_RATE_MS);
ma200388 0:b72e4bc7884d 137 sel1.write(1);
ma200388 0:b72e4bc7884d 138 sel2.write(0);
ma200388 0:b72e4bc7884d 139 display.write(THREE);
ma200388 0:b72e4bc7884d 140 wait_ms(BLINKING_RATE_MS);
ma200388 0:b72e4bc7884d 141 break;
ma200388 0:b72e4bc7884d 142 case 14:
ma200388 0:b72e4bc7884d 143 sel1.write(0);
ma200388 0:b72e4bc7884d 144 sel2.write(1);
ma200388 0:b72e4bc7884d 145 display.write(ONE);
ma200388 0:b72e4bc7884d 146 wait_ms(BLINKING_RATE_MS);
ma200388 0:b72e4bc7884d 147 sel1.write(1);
ma200388 0:b72e4bc7884d 148 sel2.write(0);
ma200388 0:b72e4bc7884d 149 display.write(FOUR);
ma200388 0:b72e4bc7884d 150 wait_ms(BLINKING_RATE_MS);
ma200388 0:b72e4bc7884d 151 break;
ma200388 0:b72e4bc7884d 152 case 15:
ma200388 0:b72e4bc7884d 153 sel1.write(0);
ma200388 0:b72e4bc7884d 154 sel2.write(1);
ma200388 0:b72e4bc7884d 155 display.write(ONE);
ma200388 0:b72e4bc7884d 156 wait_ms(BLINKING_RATE_MS);
ma200388 0:b72e4bc7884d 157 sel1.write(1);
ma200388 0:b72e4bc7884d 158 sel2.write(0);
ma200388 0:b72e4bc7884d 159 display.write(FIVE);
ma200388 0:b72e4bc7884d 160 wait_ms(BLINKING_RATE_MS);
ma200388 0:b72e4bc7884d 161 break;
ma200388 0:b72e4bc7884d 162 }
ma200388 0:b72e4bc7884d 163 }
ma200388 0:b72e4bc7884d 164 }