tim003 tim003
/
LV6_GRUPA7_TIM008_Z1
Kenan Mahmutović Emrah Dautbegović
main.cpp@0:284bd0ba2b21, 2014-04-10 (annotated)
- Committer:
- tim003
- Date:
- Thu Apr 10 18:10:06 2014 +0000
- Revision:
- 0:284bd0ba2b21
LV6_GRUPA7_TIM008_Z1
Who changed what in which revision?
User | Revision | Line number | New 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 | } |