Andrija Mijailovic 0388

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

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 }