Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Revision 0:a1dbffe52ea5, committed 2014-04-07
- 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