tim007 tim007 / Mbed 2 deprecated pripremaLV6

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
tim007
Date:
Mon Apr 07 11:46:57 2014 +0000
Commit message:
Priprema LV6 Zad01; Sumejja Porca

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r a1dbffe52ea5 main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Mon Apr 07 11:46:57 2014 +0000
@@ -0,0 +1,115 @@
+#include "mbed.h"
+char lookup[17] = { 0x40, 0x79, 0x24, 0x30, 0x19, 0x12, 0x02, 0x78, 0x00, 0x10, 0x20, 0x03, 0x46, 0x21, 0x04, 0x09, 0x01};
+DigitalOut displays[3] = {dp23, dp24, dp25 };
+DigitalOut dec_p = dp4;
+int index(2);// Varijabla koja ce reci koji display je trenutno aktivan (ima vrijednosti od 2 do 4)
+ DigitalIn power(dp1), reset(dp2); //tasteri
+char power2, reset2; // provjeravamo zadnju vrijednost
+int value(0);//aktuelna vrijednost na display-u
+int d2 = 0, d3 = 0, d4 = 0;// Vrijednosti na pojedinim displayjima
+float timing(0);
+Ticker turnDisplayOn;
+Ticker check1;
+Ticker check2;
+
+// Mapiranja su:
+// A - dp26 (bit 0)
+// B - dp27 (bit 1)
+// C - dp5 (bit 2)
+// D - dp6 (bit 3)
+// E - dp28 (bit 4)
+// F - dp1 (bit 5)
+// G - dp2 (bit 6)
+ 
+BusOut segments (dp26, dp27, dp5, dp6, dp28, dp1, dp2);
+
+
+void writeSegment()// Pisanje cifara na display
+{
+     if(timing < 100)
+        timing += 0.001;
+    // Cupamo pojedine cifre iz value
+    d4 = int(timing / 10);
+    d3 = int(timing)  % 10;
+    d2 = int(timing * 10) % 10;
+ 
+switch (index)
+{
+case 2:
+dec_p = 1;
+value = lookup[d2];
+value = lookup[value];
+segments = value;
+displays[0] = 0;
+displays[1] = 1;
+displays[2] = 1;
+break;
+case 3:
+dec_p = 0;
+value = lookup[d3];
+value = lookup[value];
+segments = value;
+displays[0]= 1;
+displays[1] = 0;
+displays[2]  = 1;
+break;
+case 4:
+dec_p = 1;
+value = lookup[d4];
+value = lookup[value];
+segments = value;
+displays[0]  = 1;
+displays[1]  = 1;
+displays[2]  = 0;
+break;
+}
+ index++;// Prelazimo na iduci display
+if (index == 5)
+index = 2;
+}
+
+void checkOnOff()
+{
+     if(power == '1' && power2 == '0')
+     {
+         for(int i = 0; i < 500; i++)
+         if(power == '0')
+         break;
+         if(power == '1')
+         {
+             turnDisplayOn.attach(&writeSegment,0.001);
+         }
+     }
+     else if(power == '0' && power2 == '1')
+     {
+          for(int i = 0; i < 500; i++)
+         if(power == '1')
+         break;
+         if(power == '0')
+         {
+             turnDisplayOn.detach();
+         }
+    }
+}
+
+void checkReset()
+{
+    if( reset == '1' && reset2 == '0')
+    {
+        for(int i = 0; i < 500; i++)
+         if(reset == '0')
+         break;
+          if(reset == '1')
+         {
+             value = 0;
+             turnDisplayOn.attach(&writeSegment,0.001);
+         }
+    }
+}
+
+int main()
+{
+    check1.attach(&checkOnOff, 0.0001);
+    check2.attach(&checkReset, 0.0001);
+    return 0;
+}
diff -r 000000000000 -r a1dbffe52ea5 mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Mon Apr 07 11:46:57 2014 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/7d30d6019079
\ No newline at end of file