Masa Kovacevic 2020/0229
Embed:
(wiki syntax)
Show/hide line numbers
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 }
Generated on Thu Dec 1 2022 15:19:28 by
1.7.2