Pejović Luka Ćustović Haris
Embed:
(wiki syntax)
Show/hide line numbers
main.cpp
00001 #include "mbed.h" 00002 #include "time.h" 00003 00004 DigitalOut cifre[3] = {dp23, dp24, dp25}; 00005 00006 BusOut disp(dp4, dp2, dp1, dp28, dp6, dp5, dp27, dp26); 00007 00008 int _7sd(char znak, bool tocka = false) 00009 { 00010 //za sljedeci raspored: a b c d e f g dp 00011 //a to su dp26 dp27 dp5 dp6 dp28 dp1 dp2 dp4 00012 int t = !tocka; 00013 switch(znak) 00014 { 00015 case '0': 00016 return 0x02 | t; 00017 case '1': 00018 return 0x9e | t; 00019 case '2': 00020 return 0x24 | t; 00021 case '3': 00022 return 0x0c | t; 00023 case '4': 00024 return 0x98 | t; 00025 case '5': 00026 return 0x48 | t; 00027 case '6': 00028 return 0x40 | t; 00029 case '7': 00030 return 0x1a | t; 00031 case '8': 00032 return 0x00 | t; 00033 case '9': 00034 return 0x08 | t; 00035 case 'a': case 'A': 00036 return 0x10 | t; 00037 case 'b': case 'B': 00038 return 0xc0 | t; 00039 case 'c': case 'C': 00040 return 0x62 | t; 00041 case 'd': case 'D': 00042 return 0x84 | t; 00043 case 'e': case 'E': 00044 return 0x60 | t; 00045 case 'f': case 'F': 00046 return 0x70 | t; 00047 case '*': 00048 return 0x90 | t; 00049 case '#': 00050 return 0x6c | t; 00051 } 00052 } 00053 00054 class Stoperica 00055 { 00056 clock_t poc, kraj; 00057 bool running; 00058 public: 00059 Stoperica(){running = true; poc = clock(); } 00060 00061 void start(){ running = true;poc = clock();} 00062 void stop(){ kraj = clock();} 00063 bool Running(){return running;} 00064 float ocitaj(){stop(); return (kraj - poc)*1000./CLOCKS_PER_SEC;} 00065 private: 00066 00067 }; 00068 00069 void ispisi(float vrijeme){ 00070 int broj = vrijeme; 00071 int c[3] = { (broj%1000)/100, (broj%100)/10, broj%10 }; 00072 00073 for(int i = 0; i < 3; i++){ 00074 cifre[i] = 0; 00075 disp = _7sd(c[i] + '0', i==1); 00076 wait(0.0025); 00077 cifre[i] = 1; 00078 00079 } 00080 } 00081 int main() { 00082 wait(2); 00083 clock_t poc, tren; 00084 poc = clock(); 00085 00086 tren = clock(); 00087 while(1){ 00088 if((tren - poc)*10/CLOCKS_PER_SEC < 123) tren = clock(); 00089 00090 ispisi((tren - poc)*10/CLOCKS_PER_SEC); 00091 wait(0.02); 00092 } 00093 00094 }
Generated on Tue Jul 12 2022 18:38:36 by
1.7.2