od 0 do 15

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 /* mbed Microcontroller Library
00002  * Copyright (c) 2019 ARM Limited
00003  * SPDX-License-Identifier: Apache-2.0
00004  */
00005 
00006 #include "mbed.h"//uvoz biblioteka
00007 
00008 //definisanje direktiva
00009 
00010 DigitalOut led(LED1);
00011 BusOut display(PA_10,PA_9,PA_8,PB_10,PB_5,PB_4,PB_3,PA_5);//glavne promenljive
00012 DigitalOut SEL2(PC_7);
00013 DigitalOut SEL1(PB_6);
00014 DigitalIn SW1(PC_9);
00015 
00016 
00017 
00018 int main()//glavna funkcije
00019 {
00020     
00021     int x=1;
00022     int i=0;
00023     while (true) {
00024         if(i<10){
00025         SEL1.write(1);
00026         SEL2.write(0);
00027         if(!SW1)
00028         {
00029             if(x){
00030                 i=i+1;
00031                 x=0;
00032             }  
00033         }
00034         else
00035         {
00036             x=1;
00037         }
00038         wait_us(500);
00039         /*if(i==10)
00040         {
00041             i=0;
00042         }*/
00043         switch(i)
00044         {
00045            case 0:display.write(0xC0);break;
00046            case 1:display.write(0xF9);break;
00047            case 2:display.write(0xA4);break;
00048            case 3:display.write(0xB0);break;
00049            case 4:display.write(0x99);break;
00050            case 5:display.write(0x92);break;
00051            case 6:display.write(0x82);break;
00052            case 7:display.write(0xF8);break;
00053            case 8:display.write(0x80);break;
00054            case 9:display.write(0x90);break;
00055            
00056         }
00057         SEL2.write(1);
00058         }
00059         else{
00060                 
00061                 if(!SW1)
00062                 {
00063                     if(x){
00064                         i=i+1;
00065                         x=0;
00066                     }  
00067                 }
00068                 else
00069                 {
00070                     x=1;
00071                 }
00072             wait_us(500);
00073             SEL1.write(0);
00074             display.write(0xF9);
00075             wait_ms(1);
00076             SEL1.write(1);
00077             SEL2.write(0);
00078             switch(i)
00079             {
00080              case 10:display.write(0xC0);break;
00081              case 11:display.write(0xF9);break;
00082              case 12:display.write(0xA4);break;
00083              case 13:display.write(0xB0);break;
00084              case 14:display.write(0x99);break;
00085              case 15:display.write(0x92);break;
00086            
00087             
00088             }
00089             wait_ms(1);
00090             SEL2.write(1);
00091             if(i==16){
00092                 i=0;
00093                 }
00094     }    
00095 }
00096 }