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:3ba635798440, committed 2015-03-13
- Comitter:
- tjsken
- Date:
- Fri Mar 13 06:08:26 2015 +0000
- Commit message:
- 7segment LED class
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Fri Mar 13 06:08:26 2015 +0000
@@ -0,0 +1,18 @@
+#include "mbed.h"
+#include "seg7_LED.h"
+
+seg7_LED seg7led(p24, p23, p18, p19, p20, p22, p21);
+
+
+int main(){
+ while(1){
+ for(int i = 0; i < 10; i++){
+ seg7led.disp_num(i);
+ wait(0.5);
+ seg7led.disp_num(i);
+ wait(0.5);
+ }
+ }
+
+ return 0;
+}
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Fri Mar 13 06:08:26 2015 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/7e07b6fb45cf \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/seg7_LED.cpp Fri Mar 13 06:08:26 2015 +0000
@@ -0,0 +1,87 @@
+//seg7_LED.cpp
+#include "seg7_LED.h"
+
+#ifdef SEG7_LED_1
+seg7_LED::seg7_LED(PinName a, PinName b, PinName c, PinName d, PinName e, PinName f, PinName g)
+ : seg1(a), seg2(b), seg3(c), seg4(d), seg5(e), seg6(f), seg7(g){}
+#endif
+
+#ifdef SEG7_LED_2
+seg7_LED::seg7_LED(PinName a, PinName b, PinName c, PinName d, PinName e, PinName f, PinName g, PinName h, PinName i)
+ : seg1(a), seg2(b), seg3(c), seg4(d), seg5(e), seg6(f), seg7(g), seg8(h), seg9(i){}
+#endif
+
+#ifdef SEG7_LED_3
+seg7_LED::seg7_LED(PinName a, PinName b, PinName c, PinName d, PinName e, PinName f, PinName g, PinName h, PinName i, PinName j)
+ : seg1(a), seg2(b), seg3(c), seg4(d), seg5(e), seg6(f), seg7(g), seg8(h), seg9(i), seg10(j){}
+#endif
+
+#ifdef SEG7_LED_4
+seg7_LED::seg7_LED(PinName a, PinName b, PinName c, PinName d, PinName e, PinName f, PinName g, PinName h, PinName i, PinName j, PinName k)
+ : seg1(a), seg2(b), seg3(c), seg4(d), seg5(e), seg6(f), seg7(g), seg8(h), seg9(i), seg10(j), seg11(k){}
+#endif
+
+bool seg7_LED::disp_num(int num)
+{
+ if (num == 0){seg1=1; seg2=1; seg3=1; seg4=1; seg5=1; seg6=1; seg7=0;}
+ else if(num == 1){seg1=0; seg2=1; seg3=1; seg4=0; seg5=0; seg6=0; seg7=0;}
+ else if(num == 2){seg1=1; seg2=1; seg3=0; seg4=1; seg5=1; seg6=0; seg7=1;}
+ else if(num == 3){seg1=1; seg2=1; seg3=1; seg4=1; seg5=0; seg6=0; seg7=1;}
+ else if(num == 4){seg1=0; seg2=1; seg3=1; seg4=0; seg5=0; seg6=1; seg7=1;}
+ else if(num == 5){seg1=1; seg2=0; seg3=1; seg4=1; seg5=0; seg6=1; seg7=1;}
+ else if(num == 6){seg1=1; seg2=0; seg3=1; seg4=1; seg5=1; seg6=1; seg7=1;}
+ else if(num == 7){seg1=1; seg2=1; seg3=1; seg4=0; seg5=0; seg6=0; seg7=0;}
+ else if(num == 8){seg1=1; seg2=1; seg3=1; seg4=1; seg5=1; seg6=1; seg7=1;}
+ else if(num == 9){seg1=1; seg2=1; seg3=1; seg4=1; seg5=0; seg6=1; seg7=1;}
+ else {seg1=0; seg2=0; seg3=0; seg4=0; seg5=0; seg6=0; seg7=0; return false;}
+
+ return true;
+}
+
+
+
+/*
+bool seg7_LED::disp_period(bool period)
+{
+ if(period == true)
+}
+*/
+
+/*
+seg7_LED::seg7_LED(PinName a, PinName b, PinName c, PinName d, PinName e, PinName f, PinName g, PinName h, PinName i, PinName j)
+ : seg1(a), seg2(b), seg3(c), seg4(d), seg5(e), seg6(f), seg7(g), seg8(h), seg9(i), seg10(j){}
+
+seg7_LED::seg7_LED(PinName a, PinName b, PinName c, PinName d, PinName e, PinName f, PinName g, PinName h, PinName i, PinName j, PinName k)
+ : seg1(a), seg2(b), seg3(c), seg4(d), seg5(e), seg6(f), seg7(g), seg8(h), seg9(i), seg10(j), seg11(k){}
+
+seg7_LED::seg7_LED(PinName a, PinName b, PinName c, PinName d, PinName e, PinName f, PinName g, PinName h, PinName i, PinName j, PinName k, PinName l)
+ : seg1(a), seg2(b), seg3(c), seg4(d), seg5(e), seg6(f), seg7(g), seg8(h), seg9(i), seg10(j), seg11(k), seg12(l){}
+*/
+
+//set the number, priod state, and LEDnumber
+/*
+void seg7_LED::seg7_disp(int num, char str = ' ')//, int led = 0)
+{
+ if (num == 0){seg1=1; seg2=1; seg3=1; seg4=1; seg5=1; seg6=1; seg7=0;}
+ else if(num == 1){seg1=0; seg2=1; seg3=1; seg4=0; seg5=0; seg6=0; seg7=0;}
+ else if(num == 2){seg1=1; seg2=1; seg3=0; seg4=1; seg5=1; seg6=0; seg7=1;}
+ else if(num == 3){seg1=1; seg2=1; seg3=1; seg4=1; seg5=0; seg6=0; seg7=1;}
+ else if(num == 4){seg1=0; seg2=1; seg3=1; seg4=0; seg5=0; seg6=1; seg7=1;}
+ else if(num == 5){seg1=1; seg2=0; seg3=1; seg4=1; seg5=0; seg6=1; seg7=1;}
+ else if(num == 6){seg1=1; seg2=0; seg3=1; seg4=1; seg5=1; seg6=1; seg7=1;}
+ else if(num == 7){seg1=1; seg2=1; seg3=1; seg4=0; seg5=0; seg6=0; seg7=0;}
+ else if(num == 8){seg1=1; seg2=1; seg3=1; seg4=1; seg5=1; seg6=1; seg7=1;}
+ else if(num == 9){seg1=1; seg2=1; seg3=1; seg4=1; seg5=0; seg6=1; seg7=1;}
+ else {seg1=0; seg2=0; seg3=0; seg4=0; seg5=0; seg6=0; seg7=0;}
+
+ if (str == '.'){seg8 = 1;}
+ else {seg8 = 0;}
+
+ //if (led == 1){seg9 = 1; seg10 = 0; seg11 = 0; seg12 = 0;}
+ //else if(led == 2){seg9 = 0; seg10 = 1; seg11 = 0; seg12 = 0;}
+ //else if(led == 3){seg9 = 0; seg10 = 0; seg11 = 1; seg12 = 0;}
+ //else if(led == 4){seg9 = 0; seg10 = 0; seg11 = 0; seg12 = 1;}
+
+ return;
+}
+*/
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/seg7_LED.h Fri Mar 13 06:08:26 2015 +0000
@@ -0,0 +1,64 @@
+//seg7_LED.h
+
+/*
+ a
+ ---
+ f | | b
+ -g-
+ e | | c
+ --- .h
+ d
+*/
+
+
+#ifndef SEG7_LED
+#define SEG7_LED
+
+
+#define SEG7_LED_1
+//#define SEG7_LED_2
+//#define SEG7_LED_3
+//#define SEG7_LED_4
+
+#include "mbed.h"
+
+class seg7_LED
+{
+ #ifdef SEG7_LED_1
+ private:
+ DigitalOut seg1, seg2, seg3, seg4, seg5, seg6, seg7;
+ public:
+ //a~g:number(1LED)
+ seg7_LED(PinName a, PinName b, PinName c, PinName d, PinName e, PinName f, PinName g);
+ #endif
+
+ #ifdef SEG7_LED_2
+ private:
+ DigitalOut seg1, seg2, seg3, seg4, seg5, seg6, seg7, seg8, seg9;
+ public:
+ //a~g:number, h~i:common (2LEDs)
+ seg7_LED(PinName a, PinName b, PinName c, PinName d, PinName e, PinName f, PinName g, PinName h, PinName i);
+ #endif
+
+ #ifdef SEG7_LED_3
+ private:
+ DigitalOut seg1, seg2, seg3, seg4, seg5, seg6, seg7, seg8, seg9, seg10;
+ public:
+ //a~g:number, h~j:common (3LEDs)
+ seg7_LED(PinName a, PinName b, PinName c, PinName d, PinName e, PinName f, PinName g, PinName h, PinName i, PinName j);
+ #endif
+
+ #ifdef SEG7_LED_4
+ private:
+ DigitalOut seg1, seg2, seg3, seg4, seg5, seg6, seg7, seg8, seg9, seg10, seg11;
+ public:
+ //a~g:number, h~k:common (4LEDs)
+ seg7_LED(PinName a, PinName b, PinName c, PinName d, PinName e, PinName f, PinName g, PinName h, PinName i, PinName j, PinName k);
+ #endif
+
+ public:
+ bool disp_num(int num);
+};
+
+
+#endif
\ No newline at end of file