LV6_Grupa7_Tim010_Zadatak1_EnsarSarajcic_AdmiraHusic

Dependencies:   mbed

Committer:
pai2015admirahusic
Date:
Thu Apr 09 16:54:33 2015 +0000
Revision:
0:fc01ae272930
LV6_Grupa7_Tim010_Zadatak1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pai2015admirahusic 0:fc01ae272930 1 #include "mbed.h"
pai2015admirahusic 0:fc01ae272930 2 #define dp23 P0_0
pai2015admirahusic 0:fc01ae272930 3
pai2015admirahusic 0:fc01ae272930 4 int izlazi[]= {64,121,36,48,25,18,2,120,0,16};
pai2015admirahusic 0:fc01ae272930 5 BusOut ledovi(dp26, dp27, dp5, dp6, dp28, dp4, dp18);
pai2015admirahusic 0:fc01ae272930 6 BusOut ukljuci(dp25,dp24,dp23);
pai2015admirahusic 0:fc01ae272930 7 int ukljuciCifre[3]={3,5,6};
pai2015admirahusic 0:fc01ae272930 8 DigitalOut tacka = dp17;
pai2015admirahusic 0:fc01ae272930 9
pai2015admirahusic 0:fc01ae272930 10 InterruptIn startDugme(dp1), resetDugme(dp2); //tasteri
pai2015admirahusic 0:fc01ae272930 11 int d2 = 0, d3 = 0, d4 = 0;// Vrijednosti na pojedinim displayjima
pai2015admirahusic 0:fc01ae272930 12
pai2015admirahusic 0:fc01ae272930 13 float ocitajVrijeme(0);
pai2015admirahusic 0:fc01ae272930 14 Ticker tikerIspis;
pai2015admirahusic 0:fc01ae272930 15 Timer timer, timer1, timer2;
pai2015admirahusic 0:fc01ae272930 16 bool pokrenuta(false);
pai2015admirahusic 0:fc01ae272930 17 int indeks=0;
pai2015admirahusic 0:fc01ae272930 18 void ispisNaEkran()// Pisanje cifara na display
pai2015admirahusic 0:fc01ae272930 19 {
pai2015admirahusic 0:fc01ae272930 20 ukljuci=7;
pai2015admirahusic 0:fc01ae272930 21 ocitajVrijeme = timer.read();// ocitavamo ciffre u sekundama
pai2015admirahusic 0:fc01ae272930 22 // Cupamo pojedine cifre iz value
pai2015admirahusic 0:fc01ae272930 23 d4 = int(ocitajVrijeme / 10); // dobijamo najvisu cifru
pai2015admirahusic 0:fc01ae272930 24 d3 = int(ocitajVrijeme) % 10; // dobijamo srednju cifru
pai2015admirahusic 0:fc01ae272930 25 d2 = int(ocitajVrijeme* 10) % 10; // dobijamo desetinjke
pai2015admirahusic 0:fc01ae272930 26
pai2015admirahusic 0:fc01ae272930 27 int brojevi[3]={d4,d3,d2};
pai2015admirahusic 0:fc01ae272930 28 ledovi=izlazi[brojevi[indeks]];
pai2015admirahusic 0:fc01ae272930 29 ukljuci=ukljuciCifre[indeks];
pai2015admirahusic 0:fc01ae272930 30
pai2015admirahusic 0:fc01ae272930 31 if(indeks==1) tacka=0; else tacka=1;
pai2015admirahusic 0:fc01ae272930 32 indeks=(indeks+1)%3;
pai2015admirahusic 0:fc01ae272930 33
pai2015admirahusic 0:fc01ae272930 34
pai2015admirahusic 0:fc01ae272930 35
pai2015admirahusic 0:fc01ae272930 36
pai2015admirahusic 0:fc01ae272930 37
pai2015admirahusic 0:fc01ae272930 38 }
pai2015admirahusic 0:fc01ae272930 39
pai2015admirahusic 0:fc01ae272930 40 void startstop()
pai2015admirahusic 0:fc01ae272930 41 {
pai2015admirahusic 0:fc01ae272930 42 if(timer1.read_ms() > 200)
pai2015admirahusic 0:fc01ae272930 43 {
pai2015admirahusic 0:fc01ae272930 44 if(pokrenuta) timer.stop();
pai2015admirahusic 0:fc01ae272930 45 else timer.start();
pai2015admirahusic 0:fc01ae272930 46 pokrenuta = !pokrenuta;
pai2015admirahusic 0:fc01ae272930 47
pai2015admirahusic 0:fc01ae272930 48 }
pai2015admirahusic 0:fc01ae272930 49 timer1.reset();
pai2015admirahusic 0:fc01ae272930 50 }
pai2015admirahusic 0:fc01ae272930 51
pai2015admirahusic 0:fc01ae272930 52 void resetuj()
pai2015admirahusic 0:fc01ae272930 53 {
pai2015admirahusic 0:fc01ae272930 54 if(timer2.read_ms() > 200)
pai2015admirahusic 0:fc01ae272930 55 {
pai2015admirahusic 0:fc01ae272930 56 pokrenuta = false;
pai2015admirahusic 0:fc01ae272930 57 timer.reset();
pai2015admirahusic 0:fc01ae272930 58 timer.stop();
pai2015admirahusic 0:fc01ae272930 59 }
pai2015admirahusic 0:fc01ae272930 60 timer2.reset();
pai2015admirahusic 0:fc01ae272930 61
pai2015admirahusic 0:fc01ae272930 62 }
pai2015admirahusic 0:fc01ae272930 63
pai2015admirahusic 0:fc01ae272930 64 int main()
pai2015admirahusic 0:fc01ae272930 65 {
pai2015admirahusic 0:fc01ae272930 66
pai2015admirahusic 0:fc01ae272930 67 timer.reset();
pai2015admirahusic 0:fc01ae272930 68 timer1.start();
pai2015admirahusic 0:fc01ae272930 69 timer2.start();
pai2015admirahusic 0:fc01ae272930 70 startDugme.rise(&startstop);
pai2015admirahusic 0:fc01ae272930 71 resetDugme.rise(&resetuj);
pai2015admirahusic 0:fc01ae272930 72 tikerIspis.attach(&ispisNaEkran, 0.001);
pai2015admirahusic 0:fc01ae272930 73 while(1)
pai2015admirahusic 0:fc01ae272930 74 {}
pai2015admirahusic 0:fc01ae272930 75
pai2015admirahusic 0:fc01ae272930 76 }
pai2015admirahusic 0:fc01ae272930 77