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.
SevenSegmentDisplay.h@4:21f0a3289449, 2014-12-11 (annotated)
- Committer:
- tbjazic
- Date:
- Thu Dec 11 09:45:08 2014 +0000
- Revision:
- 4:21f0a3289449
- Parent:
- 3:9c9257dda979
Documentation up.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
tbjazic | 0:9378fe6db796 | 1 | #ifndef SEVEN_SEGMENT_DISPLAY_H_KEY |
tbjazic | 0:9378fe6db796 | 2 | #define SEVEN_SEGMENT_DISPLAY_H_KEY |
tbjazic | 0:9378fe6db796 | 3 | |
tbjazic | 0:9378fe6db796 | 4 | #include "mbed.h" |
tbjazic | 0:9378fe6db796 | 5 | |
tbjazic | 0:9378fe6db796 | 6 | enum ConnectionMode {CommonAnode, CommonCathode}; |
tbjazic | 0:9378fe6db796 | 7 | |
tbjazic | 4:21f0a3289449 | 8 | /** A class for controling the output of 7-segment displays connected in |
tbjazic | 4:21f0a3289449 | 9 | * common anode or common cathode mode. |
tbjazic | 4:21f0a3289449 | 10 | * |
tbjazic | 4:21f0a3289449 | 11 | * Author: Toni Bjazic, TVZ Mechatronics Team |
tbjazic | 4:21f0a3289449 | 12 | * |
tbjazic | 4:21f0a3289449 | 13 | * Example of use: |
tbjazic | 4:21f0a3289449 | 14 | * @code |
tbjazic | 4:21f0a3289449 | 15 | * #include "mbed.h" |
tbjazic | 4:21f0a3289449 | 16 | * #include "SevenSegmentDisplay.h" |
tbjazic | 4:21f0a3289449 | 17 | * |
tbjazic | 4:21f0a3289449 | 18 | * Serial pc(USBTX, USBRX); |
tbjazic | 4:21f0a3289449 | 19 | * |
tbjazic | 4:21f0a3289449 | 20 | * int main() { |
tbjazic | 4:21f0a3289449 | 21 | * SevenSegmentDisplay display(p5, p6, p7, p8, p9, p10, p11, p12, CommonCathode); |
tbjazic | 4:21f0a3289449 | 22 | * char c; |
tbjazic | 4:21f0a3289449 | 23 | * while(1) { |
tbjazic | 4:21f0a3289449 | 24 | * pc.printf("\n\rEnter character to show on 7-segment display: "); |
tbjazic | 4:21f0a3289449 | 25 | * pc.scanf("%c", &c); |
tbjazic | 4:21f0a3289449 | 26 | * display.print(c); |
tbjazic | 4:21f0a3289449 | 27 | * wait(0.2); |
tbjazic | 4:21f0a3289449 | 28 | * } |
tbjazic | 4:21f0a3289449 | 29 | * } |
tbjazic | 4:21f0a3289449 | 30 | * @endcode |
tbjazic | 4:21f0a3289449 | 31 | */ |
tbjazic | 0:9378fe6db796 | 32 | class SevenSegmentDisplay { |
tbjazic | 0:9378fe6db796 | 33 | public: |
tbjazic | 4:21f0a3289449 | 34 | /** Constructor receives pins on which the segments a, b, c, d, e, f, g and dp |
tbjazic | 4:21f0a3289449 | 35 | * are connected (respectively). Last (9th) argument is connection mode (CommonAnode |
tbjazic | 4:21f0a3289449 | 36 | * or CommonCathode), and defaults to CommonAnode. |
tbjazic | 4:21f0a3289449 | 37 | */ |
tbjazic | 0:9378fe6db796 | 38 | SevenSegmentDisplay(PinName a, |
tbjazic | 0:9378fe6db796 | 39 | PinName b, |
tbjazic | 0:9378fe6db796 | 40 | PinName c, |
tbjazic | 0:9378fe6db796 | 41 | PinName d, |
tbjazic | 0:9378fe6db796 | 42 | PinName e, |
tbjazic | 0:9378fe6db796 | 43 | PinName f, |
tbjazic | 0:9378fe6db796 | 44 | PinName g, |
tbjazic | 0:9378fe6db796 | 45 | PinName dp, |
tbjazic | 4:21f0a3289449 | 46 | ConnectionMode = CommonAnode); |
tbjazic | 4:21f0a3289449 | 47 | |
tbjazic | 4:21f0a3289449 | 48 | /** Member function which initializes the display. |
tbjazic | 4:21f0a3289449 | 49 | */ |
tbjazic | 0:9378fe6db796 | 50 | void init(); |
tbjazic | 4:21f0a3289449 | 51 | |
tbjazic | 4:21f0a3289449 | 52 | /** Member function which prints the character on the 7-segment display. |
tbjazic | 4:21f0a3289449 | 53 | */ |
tbjazic | 0:9378fe6db796 | 54 | void print(char); |
tbjazic | 0:9378fe6db796 | 55 | private: |
tbjazic | 0:9378fe6db796 | 56 | BusInOut display; |
tbjazic | 0:9378fe6db796 | 57 | ConnectionMode mode; |
tbjazic | 0:9378fe6db796 | 58 | void turnOn(int); |
tbjazic | 0:9378fe6db796 | 59 | }; |
tbjazic | 0:9378fe6db796 | 60 | |
tbjazic | 0:9378fe6db796 | 61 | #endif |