tim008 tim008
/
Zadatak2
hasakovic Nedzad Haris spahic
Embed:
(wiki syntax)
Show/hide line numbers
main.cpp
00001 #include "mbed.h" 00002 BusOut segmenti( dp2,dp1,dp28, dp6,dp5,dp27,dp26); // 7 segmenata 00003 int brojevi[10]={0x01,0x4f,0x12,0x06,0x4c,0x24,0x20,0x0f,0x0,0x04}; 00004 00005 DigitalOut redovi[4] = {dp18, dp17, dp16, dp15}; 00006 DigitalIn kolone[4] = {dp13, dp11, dp10, dp9}; 00007 00008 BusOut mjesta(dp23, dp24, dp25); 00009 00010 int prva(0), druga(0), treca(0); 00011 00012 DigitalOut dp(dp4); // dec point 00013 00014 void prikaziBroj(int n) 00015 { 00016 segmenti = brojevi[n]; 00017 } 00018 00019 00020 00021 void osvjezi() 00022 { 00023 mjesta = 6; 00024 prikaziBroj(druga); 00025 wait(0.01); 00026 mjesta=5; 00027 prikaziBroj(treca); 00028 wait(0.01); 00029 mjesta=3; 00030 prikaziBroj(prva); 00031 wait(0.01); 00032 dp=1; 00033 } 00034 00035 void prikaz(int t, int ind) 00036 { 00037 if(ind==0) 00038 prva =t; 00039 else if(ind == 1) 00040 druga = t; 00041 else if(ind==2) 00042 treca = t; 00043 00044 osvjezi(); 00045 } 00046 00047 int main() 00048 { 00049 int ind(0); 00050 bool pritisnuto(false); 00051 mjesta = 0; 00052 osvjezi(); 00053 00054 00055 while(1) 00056 { 00057 for(int i=0;i<4;i++) 00058 { 00059 redovi[i] = 1; 00060 00061 for(int j=0;j<4;j++) 00062 { 00063 if(kolone[j]==1) // ako je nesto pritisnuto 00064 { 00065 00066 if(i<3 && j<3 || i==3 && j==1) // ako je broj (0-9) 00067 { 00068 prikaz(i*3 + j + 1, ind); 00069 pritisnuto = true; 00070 00071 } 00072 else if(i==2 && j==3) // ako je C 00073 { 00074 prva = druga = treca = 0; 00075 osvjezi(); 00076 ind = 0; 00077 } 00078 00079 00080 } 00081 else 00082 { 00083 osvjezi(); 00084 00085 if(pritisnuto) 00086 { 00087 pritisnuto = false; 00088 if(ind<2) 00089 ind++; 00090 } 00091 } 00092 00093 00094 } 00095 redovi[i] = 0; 00096 00097 } 00098 } 00099 }
Generated on Tue Aug 16 2022 01:12:35 by 1.7.2