2020/0425 Milos Novakovic

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 //Milos Novakovic 2020/0425
00002 
00003 
00004 //Uvoz biblioteka i def. direktiva
00005 
00006 #include "mbed.h"
00007 
00008 //Globalne promjenljive
00009 
00010 BusOut display1(PA_10, PA_9,PA_8,PB_10,PB_5,PB_4,PB_3);
00011 BusOut display2(PA_10, PA_9,PA_8,PB_10,PB_5,PB_4,PB_3);
00012 DigitalOut SEL2(PC_7);
00013 DigitalOut SEL1(PB_6);
00014 DigitalIn BUTTON(PC_8);  //SW2
00015 DigitalIn BUTTON2(PC_9); //SW1
00016 static char i=0;
00017 
00018 //Definicija f-ja
00019 
00020 void increment(void){
00021     switch(i){
00022         case 0: SEL1=1;display2=0x40; break;
00023         case 1: display2=0xF9; break;
00024         case 2: display2=0xA4; break;
00025         case 3: display2=0xB0; break;
00026         case 4: display2=0x99; break;
00027         case 5: display2=0x92; break;
00028         case 6: display2=0x82; break;
00029         case 7: display2=0xF8; break;
00030         case 8: display2=0x80; break;
00031         case 9: display2=0x90; break;
00032         case 10:  SEL1=1; SEL2=0; display2=0x40;break;
00033         case 11:  SEL1=1; SEL2=0; display2=0xF9;break;
00034         case 12:  SEL1=1; SEL2=0; display2=0xA4;break;
00035         case 13:  SEL1=1; SEL2=0; display2=0xB0;break;
00036         case 14:  SEL1=1; SEL2=0; display2=0x99;break;
00037         case 15:  SEL1=1; SEL2=0;  display2=0x92; SEL2=0;SEL1=1; break;
00038          
00039         }
00040     }
00041     
00042 //Glavni program
00043 int main(){
00044     SEL1=1;
00045     SEL2=0;
00046     display2=0x40;
00047     
00048     while(1){
00049         
00050         //Testirano bez jumpera
00051         
00052         while(BUTTON==1){
00053             if(i>9){
00054                 SEL2=1; SEL1=0; display1=0xF9;
00055                 wait_ms(10);
00056                 increment();
00057                 wait_ms(10);
00058         }}
00059         
00060         if(BUTTON==0){
00061             SEL2=0;
00062             if(i!=15){   
00063             i=i++;
00064             increment();
00065             }
00066             else i=0;
00067             increment();
00068             while(BUTTON==0);
00069             wait_ms(120);
00070             }
00071         
00072             
00073         //Bonus
00074         if(BUTTON2==0){
00075             if(i==0) i=15;
00076             else i=i--;
00077             increment();
00078             while(BUTTON2==0);
00079             }
00080             
00081             }
00082             
00083         
00084     }
00085 
00086 
00087 
00088