Agić Lejla Đenašević Emir
Embed:
(wiki syntax)
Show/hide line numbers
main.cpp
00001 #include "mbed.h" 00002 00003 DigitalIn kolone[4]={dp9, dp10, dp11, dp13}; 00004 DigitalOut redovi[4]={dp16, dp15, dp17, dp18}; 00005 BusOut cifre(dp23, dp24, dp25); 00006 BusOut ekran(dp26, dp27, dp5, dp6, dp28, dp1, dp2); 00007 int brojevi[10]= {0x40, 0xf9, 0x24, 0x30, 0x19, 0x12, 0x02, 0xf8, 0x00, 0x10}; 00008 int brojac=0; 00009 00010 int vrijednosti[3]; 00011 char taster(){ 00012 char a='F'; 00013 for(int i=0; i<4; i++){ 00014 redovi[i]=1; 00015 if(i==0){ 00016 if(kolone[0]==1) a='1'; 00017 if(kolone[1]==1) a='2'; 00018 if(kolone[2]==1) a='3'; 00019 } 00020 else if(i==1){ 00021 if(kolone[0]==1) a='4'; 00022 if(kolone[1]==1) a='5'; 00023 if(kolone[2]==1) a='6'; 00024 } 00025 else if(i==2){ 00026 if(kolone[0]==1) {a='7'; wait(10000);}; 00027 if(kolone[1]==1) a='8'; 00028 if(kolone[2]==1) a='9'; 00029 if(kolone[3]==1) a='C'; 00030 } 00031 else if(i==3){ 00032 if(kolone[1]==1) a='0'; 00033 } 00034 redovi[i]=0; 00035 } 00036 return a; 00037 } 00038 00039 void prikaz(char znak){ 00040 if(znak == 'c') 00041 { 00042 vrijednosti[0]=0; 00043 vrijednosti[1]=0; 00044 vrijednosti[2]=0; 00045 } 00046 else if(znak>='0' && znak<='9') 00047 { 00048 vrijednosti[2]=vrijednosti[1]; 00049 vrijednosti[1]=vrijednosti[0]; 00050 vrijednosti[0]=znak-'0'; 00051 } 00052 for(int i=1;i<=4;i=i*2) 00053 { 00054 cifre=i; 00055 ekran=brojevi[vrijednosti[2-i/2]]; 00056 wait_ms(10); 00057 } 00058 } 00059 00060 int main() { 00061 char pom; 00062 while(1) { 00063 pom=taster(); 00064 prikaz(pom); 00065 } 00066 }
Generated on Sun May 26 2024 12:39:11 by
1.7.2