Kenan Mahmutović Emrah Dautbegović

Dependencies:   mbed

Committer:
tim003
Date:
Thu Apr 10 18:10:06 2014 +0000
Revision:
0:284bd0ba2b21
LV6_GRUPA7_TIM008_Z1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tim003 0:284bd0ba2b21 1 #include "mbed.h"
tim003 0:284bd0ba2b21 2
tim003 0:284bd0ba2b21 3 BusOut displej(dp26,dp27,dp5,dp6,dp28,dp4,dp18);
tim003 0:284bd0ba2b21 4 BusOut Cifra(dp23,dp24,dp25);
tim003 0:284bd0ba2b21 5 DigitalOut tacka(dp17);
tim003 0:284bd0ba2b21 6 int cifra[3]={0xB,0xD,0xE};
tim003 0:284bd0ba2b21 7
tim003 0:284bd0ba2b21 8 int funkcija(int broj)
tim003 0:284bd0ba2b21 9 {
tim003 0:284bd0ba2b21 10 switch(broj)
tim003 0:284bd0ba2b21 11 {
tim003 0:284bd0ba2b21 12 case 0: return 64;
tim003 0:284bd0ba2b21 13 case 1: return 121;
tim003 0:284bd0ba2b21 14 case 2: return 36;
tim003 0:284bd0ba2b21 15 case 3: return 48;
tim003 0:284bd0ba2b21 16 case 4: return 25;
tim003 0:284bd0ba2b21 17 case 5: return 18;
tim003 0:284bd0ba2b21 18 case 6: return 2;
tim003 0:284bd0ba2b21 19 case 7: return 120;
tim003 0:284bd0ba2b21 20 case 8: return 0;
tim003 0:284bd0ba2b21 21 case 9: return 16;
tim003 0:284bd0ba2b21 22 }
tim003 0:284bd0ba2b21 23 return -1;
tim003 0:284bd0ba2b21 24 }
tim003 0:284bd0ba2b21 25
tim003 0:284bd0ba2b21 26 InterruptIn taster1(dp1);
tim003 0:284bd0ba2b21 27 InterruptIn taster2(dp2);
tim003 0:284bd0ba2b21 28
tim003 0:284bd0ba2b21 29 //Timer desetinka;
tim003 0:284bd0ba2b21 30 //Timer jedinica;
tim003 0:284bd0ba2b21 31 //Timer desetica;
tim003 0:284bd0ba2b21 32
tim003 0:284bd0ba2b21 33 Ticker osvjezavanje;
tim003 0:284bd0ba2b21 34 Ticker desetinka;
tim003 0:284bd0ba2b21 35 Timer debounce;
tim003 0:284bd0ba2b21 36
tim003 0:284bd0ba2b21 37 bool s(false),stop(true);
tim003 0:284bd0ba2b21 38 int b1(0),b2(0),b3(0),c(0);
tim003 0:284bd0ba2b21 39
tim003 0:284bd0ba2b21 40 void f1(){
tim003 0:284bd0ba2b21 41 if(!stop){
tim003 0:284bd0ba2b21 42 b1++;
tim003 0:284bd0ba2b21 43 if(b1==10){
tim003 0:284bd0ba2b21 44 b1=0;
tim003 0:284bd0ba2b21 45 b2++;
tim003 0:284bd0ba2b21 46 if(b2==10){
tim003 0:284bd0ba2b21 47 b2=0;
tim003 0:284bd0ba2b21 48 b3++;
tim003 0:284bd0ba2b21 49 if(b3==10) b3=0;
tim003 0:284bd0ba2b21 50 }
tim003 0:284bd0ba2b21 51 }
tim003 0:284bd0ba2b21 52 }
tim003 0:284bd0ba2b21 53 }
tim003 0:284bd0ba2b21 54
tim003 0:284bd0ba2b21 55 void start(){
tim003 0:284bd0ba2b21 56 if(debounce.read_ms()>200){
tim003 0:284bd0ba2b21 57 if(!s){
tim003 0:284bd0ba2b21 58 stop=false;
tim003 0:284bd0ba2b21 59 s=true;
tim003 0:284bd0ba2b21 60 }
tim003 0:284bd0ba2b21 61 else{
tim003 0:284bd0ba2b21 62 stop=true;
tim003 0:284bd0ba2b21 63 s=false;
tim003 0:284bd0ba2b21 64 }
tim003 0:284bd0ba2b21 65 }
tim003 0:284bd0ba2b21 66 debounce.reset();
tim003 0:284bd0ba2b21 67 }
tim003 0:284bd0ba2b21 68
tim003 0:284bd0ba2b21 69 void reset(){
tim003 0:284bd0ba2b21 70 stop=true;
tim003 0:284bd0ba2b21 71 b1=0;
tim003 0:284bd0ba2b21 72 b2=0;
tim003 0:284bd0ba2b21 73 b3=0;
tim003 0:284bd0ba2b21 74 s=false;
tim003 0:284bd0ba2b21 75 }
tim003 0:284bd0ba2b21 76
tim003 0:284bd0ba2b21 77 void osvjezi(){
tim003 0:284bd0ba2b21 78 Cifra=0xF;
tim003 0:284bd0ba2b21 79
tim003 0:284bd0ba2b21 80 if(c==0){
tim003 0:284bd0ba2b21 81 displej=funkcija(b1);
tim003 0:284bd0ba2b21 82 }
tim003 0:284bd0ba2b21 83 else if(c==1){
tim003 0:284bd0ba2b21 84 displej=funkcija(b2);
tim003 0:284bd0ba2b21 85 tacka=0;
tim003 0:284bd0ba2b21 86
tim003 0:284bd0ba2b21 87 }
tim003 0:284bd0ba2b21 88 else{
tim003 0:284bd0ba2b21 89 tacka=1;
tim003 0:284bd0ba2b21 90 displej=funkcija(b3);
tim003 0:284bd0ba2b21 91 }
tim003 0:284bd0ba2b21 92 Cifra=cifra[c];
tim003 0:284bd0ba2b21 93 c++;
tim003 0:284bd0ba2b21 94 if(c==3) c=0;
tim003 0:284bd0ba2b21 95 }
tim003 0:284bd0ba2b21 96
tim003 0:284bd0ba2b21 97
tim003 0:284bd0ba2b21 98
tim003 0:284bd0ba2b21 99 int main() {
tim003 0:284bd0ba2b21 100 debounce.start();
tim003 0:284bd0ba2b21 101 taster1.rise(&start);
tim003 0:284bd0ba2b21 102 taster2.rise(&reset);
tim003 0:284bd0ba2b21 103 desetinka.attach(&f1,0.1);
tim003 0:284bd0ba2b21 104 osvjezavanje.attach(&osvjezi,0.001);
tim003 0:284bd0ba2b21 105 while(1) {
tim003 0:284bd0ba2b21 106
tim003 0:284bd0ba2b21 107 }
tim003 0:284bd0ba2b21 108 }