TVZ2020 / Mbed 2 deprecated Projekt_Brckovic

Dependencies:   mbed led

Fork of Projekt_Brckovic by Mario Brcković

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "led.h"
00003 //definiranje izlaza
00004 LED led1(D11);
00005 LED led2(D12);
00006 LED led3(D13);
00007 BusOut Seg1(D2,D3,D4,D5,D6,D7,D8,D9);
00008 //definiranje timera
00009 Timer debounce;
00010 Ticker flipper;
00011 Timer timer;
00012 
00013 //definiranje interrupt buttona
00014 InterruptIn button(USER_BUTTON);
00015 
00016 //funkcija za 7segmentni display
00017 char SegConvert(int SegValue) {
00018  char SegByte=0x00;
00019  switch (SegValue) {
00020  case 0 : SegByte = 0x3F;break; 
00021  case 1 : SegByte = 0x06;break;
00022  case 2 : SegByte = 0x5B;break;
00023  case 3 : SegByte = 0x4F;break; 
00024  case 4 : SegByte = 0x66;break;
00025  case 5 : SegByte = 0x6D;break;
00026  case 6 : SegByte = 0x7D;break;
00027  case 7 : SegByte = 0x07;break;
00028  case 8 : SegByte = 0x7F;break;
00029  case 9 : SegByte = 0x6F;break;
00030  case 10 : SegByte = 0x00;break;
00031  }
00032  return SegByte;
00033 }
00034 //funkcija tickera
00035 void ticker(){
00036     led3.promjena();
00037 }
00038 //funkcija prekida
00039 void prekid(){
00040     if(debounce.read_ms()>200){
00041         led1.stanje(0);
00042         led2.stanje(0);
00043         led3.stanje(0);
00044         Seg1=SegConvert(10);
00045         wait(5.0);
00046        if(timer.read()<=9){
00047                
00048                led1.stanje(1);
00049                led2.stanje(0);
00050                }
00051                else{
00052                led1.stanje(0);
00053                led2.stanje(1);
00054                }
00055            }
00056             debounce.reset();
00057 
00058 }
00059 //glavna funkcija
00060 int main() {
00061 led1.stanje(1);
00062 led2.stanje(0);
00063 led3.stanje(0);
00064 debounce.start();
00065 button.rise(&prekid);
00066 
00067 flipper.attach(&ticker,0.5);
00068   while(1){
00069         timer.start();
00070         for(int i=9;i>=0;i--){
00071           Seg1=SegConvert(i); 
00072 
00073             wait(1.0);
00074                 }  
00075         led1.promjena();
00076         led2.promjena();
00077            for(int j=5;j>=0;j--){
00078                Seg1=SegConvert(j);
00079                wait(1.0);
00080                }
00081         led2.promjena();
00082         led1.promjena();
00083         timer.stop();
00084         
00085         timer.reset();
00086         }
00087 }
00088 
00089 
00090 
00091