Masa Kovacevic 2020/0229

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001  
00002 /*
00003  * Biblioteke za uvoz:
00004  */
00005 #include "mbed.h"
00006  
00007 /*
00008  * Definisanje makroa:
00009  */
00010  
00011 /*
00012  * Globalne promenljive:
00013  */
00014 BusOut display(PA_10,PA_9,PA_8,PB_10,PB_5,PB_4,PB_3,PA_5);
00015 
00016 DigitalOut SEL2(PC_7); 
00017 DigitalOut SEL1(PB_6);
00018 DigitalIn SW1(PC_9);
00019 
00020 /*
00021  * Deklaracija funkcija:
00022  */
00023  void Funkcija2 (int i);  //funkcija za digit 1
00024  void Funkcija1 (int k);  //funkcija za digit 2
00025  void Funkcija0 (void);  //funkcija kada elim da mi digit 1 bude 0
00026  int convert (int broj);
00027 /*
00028  * Glavna funkcija:
00029  */
00030 int main()
00031 {   
00032     static char ButtonReleased = 0;
00033     
00034     
00035     while(true)
00036     { 
00037         int i = 0;  
00038         int k = 0;
00039         while (i <= 9){ //ispis prvih 9 cifara
00040             if (!SW1)
00041             {
00042                 if ( ButtonReleased){
00043                     Funkcija2(i);
00044                 }    ButtonReleased = 0;
00045             }
00046             else 
00047             {
00048                 ButtonReleased = 1;
00049             }
00050             wait_ms(50); 
00051             i = i+1;
00052         } 
00053         
00054         
00055         while (k <= 5) //ispis posledljih 6 brojva
00056         {
00057               if (!SW1)
00058               {
00059                 if (ButtonReleased)
00060                 {
00061                     SEL2.write(0);
00062                     display = 0xF9; 
00063                     wait_ms(15);
00064                     SEL2.write(1);
00065                     Funkcija1(k);
00066                     ButtonReleased = 0;
00067                 }
00068               }
00069             
00070               else 
00071               {
00072                     ButtonReleased = 1;
00073               }
00074                 
00075               wait_ms(50); 
00076               k = k+1;
00077         } 
00078     }
00079         
00080         Funkcija0();
00081 }
00082  
00083 /*
00084  * Definicija funkcija:
00085  */  
00086  
00087  
00088 void Funkcija2 (int i){
00089 
00090         SEL2.write(0);
00091         display = convert(i);
00092         wait_ms(15);
00093         SEL2.write(1);
00094         
00095     }
00096  
00097     
00098 void Funkcija1 (int k){
00099         
00100         SEL1.write(0);
00101         display = convert(k); 
00102         wait_ms(15);
00103         SEL1.write(1);
00104   } 
00105 
00106 void Funkcija0(){
00107         SEL2.write(0);
00108         display = 0xC0; 
00109         wait_ms(15);
00110         SEL2.write(1);
00111 }
00112 
00113 int convert (int broj) {
00114 
00115    int d;
00116 
00117    switch(broj) {
00118       case 0 :
00119          d = 0xC0;
00120          break;
00121       case 1:
00122          d = 0xF9;
00123       case 2 :
00124          d = 0xA4;
00125          break;
00126       case 3 :
00127          d= 0xB0;
00128          break;
00129       case 4 :
00130          d = 0x99;
00131          break;
00132       case 5 :
00133          d = 0x92;
00134          break;
00135       case 6 :
00136          d = 0x82;
00137          break;
00138       case 7 :
00139          d = 0xF8;
00140          break;
00141       case 8 :
00142          d = 0x80;
00143          break;
00144       case 9 :
00145          d = 0x90;
00146          break;
00147     }
00148     
00149    return d;
00150 }