Milan Takic 2020/0690 sedmosegmentni displej

Dependencies:   mbed

Revision:
0:926a55324bcc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Sat Nov 06 09:28:19 2021 +0000
@@ -0,0 +1,89 @@
+// uvoz biblioteke
+
+#include "mbed.h"
+
+// definisanje direktiva
+
+#define A PA_10
+#define B PA_9
+#define C PA_8
+#define D PB_10
+#define E PB_5
+#define F PB_4
+#define G PB_3
+#define SEL_1 PB_6
+#define SEL_2 PC_7
+#define SW1(PC_9)
+#define SW2(PC_8)
+
+// kreiranje objekata
+
+const int digit[] = {0b1000000, 0b1111001, 0b0100100, 0b0110000, 0b0011001, 0b0010010, 0b0000010, 0b1111000, 0b0000000, 0b0010000};
+BusOut display(A,B,C,D,E,F,G,SEL_1,SEL_2);
+DigitalOut d1(SEL_1);
+DigitalOut d2(SEL_2);
+DigitalIn sw1(PC_9);
+DigitalIn sw2(PC_8);
+
+// glavna funkcija
+
+int main(){
+    
+    //incijalizovanje promenljivih
+    
+    static char button1_released = 0;
+    static char button2_released = 0;
+    d1.write(1);
+    d2.write(0);
+    display = digit[0];
+    int i =-1;
+    
+    // glavna petlja
+    
+     while(true){
+        
+        if(!sw2){
+            if(button2_released){
+                
+                if(i == -1){
+                    i = 9;
+                }
+                display = digit[i--]; 
+                button2_released = 0;
+            }
+        }
+        else{
+            button2_released = 1;   
+        } 
+        wait_ms(50);
+        
+        if(!sw1){
+            if(button1_released){
+                
+                if(i == 10 ){
+                    i = -1;
+                }
+                display = digit[i++]; 
+                button1_released = 0;
+            }
+        }
+        else{
+            button1_released = 1;   
+        } 
+        wait_ms(50);
+    }
+}  
+        
+          
+//imao sam problem gde su se oba displeja palila iako sam na pocetku prvi stavio na 1 drugi na 0
+    
+    //cisto da probam
+    /*while(true){
+        if(i == 9){
+            i = -1;
+        }
+        display = digit[++i];
+        
+        wait_ms(1000);
+    }
+    */