Filip Stevanovic 2020/0039

Dependencies:   mbed

Committer:
filip_ste
Date:
Sat Nov 06 08:15:52 2021 +0000
Revision:
0:73ba3c3ca466
Child:
1:0f79d461ce2e
Filip Stevanovic 2020/0039

Who changed what in which revision?

UserRevisionLine numberNew contents of line
filip_ste 0:73ba3c3ca466 1 #include<mbed.h>
filip_ste 0:73ba3c3ca466 2
filip_ste 0:73ba3c3ca466 3
filip_ste 0:73ba3c3ca466 4
filip_ste 0:73ba3c3ca466 5 //Pinovi
filip_ste 0:73ba3c3ca466 6 #define A PA_10
filip_ste 0:73ba3c3ca466 7 #define B PA_9
filip_ste 0:73ba3c3ca466 8 #define C PA_8
filip_ste 0:73ba3c3ca466 9 #define D PB_10
filip_ste 0:73ba3c3ca466 10 #define E PB_5
filip_ste 0:73ba3c3ca466 11 #define F PB_4
filip_ste 0:73ba3c3ca466 12 #define G PB_3
filip_ste 0:73ba3c3ca466 13 #define SEL1 PB_6
filip_ste 0:73ba3c3ca466 14 #define SEL2 PC_7
filip_ste 0:73ba3c3ca466 15 #define SW1 PC_9
filip_ste 0:73ba3c3ca466 16 #define SW2 PC_8
filip_ste 0:73ba3c3ca466 17
filip_ste 0:73ba3c3ca466 18 //Vremena
filip_ste 0:73ba3c3ca466 19 #define HalfPool 1
filip_ste 0:73ba3c3ca466 20
filip_ste 0:73ba3c3ca466 21 //Definisanje izlaza
filip_ste 0:73ba3c3ca466 22 BusOut display (A,B,C,D,E,F,G);
filip_ste 0:73ba3c3ca466 23 BusOut select (SEL2,SEL1);
filip_ste 0:73ba3c3ca466 24 DigitalIn Dugme1 (SW1);
filip_ste 0:73ba3c3ca466 25 DigitalIn Dugme2 (SW2);
filip_ste 0:73ba3c3ca466 26
filip_ste 0:73ba3c3ca466 27 //Funkcija za ispisivanje cifre na displej
filip_ste 0:73ba3c3ca466 28 void SegDisp (int num){
filip_ste 0:73ba3c3ca466 29 switch(num){
filip_ste 0:73ba3c3ca466 30 case 0:display = 0b1000000;break;
filip_ste 0:73ba3c3ca466 31 case 1:display = 0b1111001;break;
filip_ste 0:73ba3c3ca466 32 case 2:display = 0b0100100;break;
filip_ste 0:73ba3c3ca466 33 case 3:display = 0b0110000;break;
filip_ste 0:73ba3c3ca466 34 case 4:display = 0b0011001;break;
filip_ste 0:73ba3c3ca466 35 case 5:display = 0b0010010;break;
filip_ste 0:73ba3c3ca466 36 case 6:display = 0b0000010;break;
filip_ste 0:73ba3c3ca466 37 case 7:display = 0b1111000;break;
filip_ste 0:73ba3c3ca466 38 case 8:display = 0b0000000;break;
filip_ste 0:73ba3c3ca466 39 case 9:display = 0b0010000;break;
filip_ste 0:73ba3c3ca466 40 default:display = 0x7f; break;
filip_ste 0:73ba3c3ca466 41
filip_ste 0:73ba3c3ca466 42 }
filip_ste 0:73ba3c3ca466 43 }
filip_ste 0:73ba3c3ca466 44
filip_ste 0:73ba3c3ca466 45 //Konvertovanje broja u cifre i ispisivanje
filip_ste 0:73ba3c3ca466 46 void ispisi(int num){
filip_ste 0:73ba3c3ca466 47 int j = num%10,d = num/10;
filip_ste 0:73ba3c3ca466 48 SegDisp(d);
filip_ste 0:73ba3c3ca466 49 select = 0b01;
filip_ste 0:73ba3c3ca466 50 wait_ms(HalfPool);
filip_ste 0:73ba3c3ca466 51 SegDisp(j);
filip_ste 0:73ba3c3ca466 52 select = 0b10;
filip_ste 0:73ba3c3ca466 53 wait_ms(HalfPool);
filip_ste 0:73ba3c3ca466 54 }
filip_ste 0:73ba3c3ca466 55
filip_ste 0:73ba3c3ca466 56 //Varijable za pracenje dugmadi i trenutnog broja
filip_ste 0:73ba3c3ca466 57 int lastDugme1=1,lastDugme2=1;
filip_ste 0:73ba3c3ca466 58 int lastlastDugme1=1,lastlastDugme2=1;
filip_ste 0:73ba3c3ca466 59 int brojac=0;
filip_ste 0:73ba3c3ca466 60
filip_ste 0:73ba3c3ca466 61 int main(){
filip_ste 0:73ba3c3ca466 62 display = 0x7f;
filip_ste 0:73ba3c3ca466 63 select = 0x3;
filip_ste 0:73ba3c3ca466 64
filip_ste 0:73ba3c3ca466 65 while(1){
filip_ste 0:73ba3c3ca466 66 //Ispisivanje
filip_ste 0:73ba3c3ca466 67 ispisi(brojac);
filip_ste 0:73ba3c3ca466 68
filip_ste 0:73ba3c3ca466 69 //Provera da li je doslo do promene
filip_ste 0:73ba3c3ca466 70 if(lastlastDugme1==0 && lastDugme1==0 && Dugme1==1)
filip_ste 0:73ba3c3ca466 71 brojac=(brojac+1)%16;
filip_ste 0:73ba3c3ca466 72
filip_ste 0:73ba3c3ca466 73 if(lastlastDugme2==0 && lastDugme2==0 && Dugme2==1)
filip_ste 0:73ba3c3ca466 74 brojac=(brojac+15)%16;
filip_ste 0:73ba3c3ca466 75
filip_ste 0:73ba3c3ca466 76 //Update stanja
filip_ste 0:73ba3c3ca466 77 lastlastDugme1=lastDugme1;
filip_ste 0:73ba3c3ca466 78 lastlastDugme2=lastDugme2;
filip_ste 0:73ba3c3ca466 79
filip_ste 0:73ba3c3ca466 80 lastDugme1=Dugme1;
filip_ste 0:73ba3c3ca466 81 lastDugme2=Dugme2;
filip_ste 0:73ba3c3ca466 82
filip_ste 0:73ba3c3ca466 83 }
filip_ste 0:73ba3c3ca466 84
filip_ste 0:73ba3c3ca466 85 }