Emina Muharemovic Muris Nuhodzic

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002  
00003 using namespace std;
00004  
00005 BusOut segments(dp26, dp27, dp5, dp6, dp28, dp4, dp18);
00006 BusOut cifre(dp23, dp24, dp25);
00007 DigitalOut point(dp17);
00008  
00009 InterruptIn taster1(dp1);
00010 InterruptIn taster2(dp2);
00011  
00012 Timer d;
00013 Timer count;
00014 Timer t;
00015 Ticker osvjezi;
00016  
00017 bool pom = false;
00018  
00019 int led[10] = {0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x078,0x0,0x10};
00020  
00021  
00022  
00023 void display() {
00024     float time = count.read();
00025     
00026    
00027     int cifra1=(int)(time) / 10;
00028     int cifra2=(int)(time) % 10;
00029     int cifra3=(int)((time - int(time))* 10);
00030   
00031     cifre = 7;
00032     segments = led[cifra1];
00033     cifre = 6; 
00034     point = 1; 
00035     t.reset();
00036     t.start();
00037     while(t.read_ms() < 2);
00038     
00039     
00040     cifre = 7;
00041         
00042     segments = led[cifra2];
00043     cifre = 5;
00044     point = 0;
00045     t.reset();
00046     t.start();
00047     while(t.read_ms() < 2);
00048     
00049     cifre = 7;    
00050  
00051     segments = led[cifra3];
00052     cifre = 3;
00053     point = 1; 
00054     t.reset();
00055     t.start();
00056     while(t.read_ms() < 2);
00057     
00058     cifre=7;
00059     segments = 7;
00060     point = 1;
00061 }
00062  
00063 void pocetak_Kraj()
00064 {
00065   if(d.read_ms() >= 200)
00066   {
00067       if(!pom)
00068       { count.start();
00069         pom = true;
00070         }
00071       else 
00072       {count.stop();
00073       pom = false;
00074       }
00075         d.reset();
00076   }
00077 } 
00078  
00079  
00080 void reset()
00081 {
00082     count.reset();    
00083     count.stop();
00084     pom = false;
00085 }
00086  
00087 int main() {
00088     cifre=0;
00089     segments=0;
00090     wait(1);
00091     cifre=7;
00092     wait(1);
00093     cifre=0;
00094     wait(1);
00095     
00096     d.start();
00097     taster1.rise(&pocetak_Kraj);
00098     
00099     taster2.rise(&reset);
00100     
00101     osvjezi.attach_us(&display, 10000);
00102     
00103     while(true) {
00104         
00105     }
00106     
00107     
00108 }