tim003 tim003
/
LV6_GRUPA7_TIM008_Z1
Kenan Mahmutović Emrah Dautbegović
Diff: main.cpp
- Revision:
- 0:284bd0ba2b21
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu Apr 10 18:10:06 2014 +0000 @@ -0,0 +1,108 @@ +#include "mbed.h" + +BusOut displej(dp26,dp27,dp5,dp6,dp28,dp4,dp18); +BusOut Cifra(dp23,dp24,dp25); + DigitalOut tacka(dp17); +int cifra[3]={0xB,0xD,0xE}; + +int funkcija(int broj) +{ + switch(broj) + { + case 0: return 64; + case 1: return 121; + case 2: return 36; + case 3: return 48; + case 4: return 25; + case 5: return 18; + case 6: return 2; + case 7: return 120; + case 8: return 0; + case 9: return 16; + } + return -1; +} + +InterruptIn taster1(dp1); +InterruptIn taster2(dp2); + +//Timer desetinka; +//Timer jedinica; +//Timer desetica; + +Ticker osvjezavanje; +Ticker desetinka; +Timer debounce; + +bool s(false),stop(true); +int b1(0),b2(0),b3(0),c(0); + +void f1(){ + if(!stop){ + b1++; + if(b1==10){ + b1=0; + b2++; + if(b2==10){ + b2=0; + b3++; + if(b3==10) b3=0; + } + } + } +} + +void start(){ + if(debounce.read_ms()>200){ + if(!s){ + stop=false; + s=true; + } + else{ + stop=true; + s=false; + } + } + debounce.reset(); +} + +void reset(){ + stop=true; + b1=0; + b2=0; + b3=0; + s=false; +} + +void osvjezi(){ + Cifra=0xF; + + if(c==0){ + displej=funkcija(b1); + } + else if(c==1){ + displej=funkcija(b2); + tacka=0; + + } + else{ + tacka=1; + displej=funkcija(b3); + } + Cifra=cifra[c]; + c++; + if(c==3) c=0; +} + + + +int main() { + debounce.start(); + taster1.rise(&start); + taster2.rise(&reset); + desetinka.attach(&f1,0.1); + osvjezavanje.attach(&osvjezi,0.001); + while(1) { + + } +} \ No newline at end of file