Very simple library for controll a 7 segment display.
Dependents: Demo_Led7seg TP1_EJER02_FERNANDEZ_CLERICI TP1_EJER3 Ejercicio3JalleVentiades ... more
Led7Seg.cpp@0:ccabe7ff24e8, 2011-04-22 (annotated)
- Committer:
- trombettamichele
- Date:
- Fri Apr 22 22:30:33 2011 +0000
- Revision:
- 0:ccabe7ff24e8
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
trombettamichele | 0:ccabe7ff24e8 | 1 | #include "mbed.h" |
trombettamichele | 0:ccabe7ff24e8 | 2 | #include "Led7Seg.h" |
trombettamichele | 0:ccabe7ff24e8 | 3 | // Simple library that can controll a 7 segment led display |
trombettamichele | 0:ccabe7ff24e8 | 4 | // Created by Michele Trombetta |
trombettamichele | 0:ccabe7ff24e8 | 5 | // Copyright 2010 5OFT. All rights reserved. |
trombettamichele | 0:ccabe7ff24e8 | 6 | |
trombettamichele | 0:ccabe7ff24e8 | 7 | Led7Seg::Led7Seg(PinName a,PinName b,PinName c,PinName d,PinName e,PinName f,PinName g): _leddisp(a, b, c, d, e, f, g) { |
trombettamichele | 0:ccabe7ff24e8 | 8 | _leddisp = 0; |
trombettamichele | 0:ccabe7ff24e8 | 9 | } |
trombettamichele | 0:ccabe7ff24e8 | 10 | |
trombettamichele | 0:ccabe7ff24e8 | 11 | Led7Seg::Led7Seg(PinName a,PinName b,PinName c,PinName d,PinName e,PinName f,PinName g, bool led_type): _leddisp(a, b, c, d, e, f, g) { |
trombettamichele | 0:ccabe7ff24e8 | 12 | _leddisp = 0; |
trombettamichele | 0:ccabe7ff24e8 | 13 | _led_type = led_type; |
trombettamichele | 0:ccabe7ff24e8 | 14 | } |
trombettamichele | 0:ccabe7ff24e8 | 15 | |
trombettamichele | 0:ccabe7ff24e8 | 16 | void Led7Seg::set_type(bool led_type) { |
trombettamichele | 0:ccabe7ff24e8 | 17 | _led_type = led_type; |
trombettamichele | 0:ccabe7ff24e8 | 18 | } |
trombettamichele | 0:ccabe7ff24e8 | 19 | |
trombettamichele | 0:ccabe7ff24e8 | 20 | void Led7Seg::write(unsigned char number) { |
trombettamichele | 0:ccabe7ff24e8 | 21 | if (number<24) { |
trombettamichele | 0:ccabe7ff24e8 | 22 | if (_led_type) _leddisp = num_7seg[number]; //Common Cathode |
trombettamichele | 0:ccabe7ff24e8 | 23 | else _leddisp = ~num_7seg[number]; //Common Anode |
trombettamichele | 0:ccabe7ff24e8 | 24 | } |
trombettamichele | 0:ccabe7ff24e8 | 25 | } |
trombettamichele | 0:ccabe7ff24e8 | 26 | |
trombettamichele | 0:ccabe7ff24e8 | 27 | unsigned char Led7Seg::read() { |
trombettamichele | 0:ccabe7ff24e8 | 28 | return _leddisp; |
trombettamichele | 0:ccabe7ff24e8 | 29 | } |
trombettamichele | 0:ccabe7ff24e8 | 30 | |
trombettamichele | 0:ccabe7ff24e8 | 31 | unsigned char Led7Seg::convert(unsigned char number) { |
trombettamichele | 0:ccabe7ff24e8 | 32 | if (number<24) { |
trombettamichele | 0:ccabe7ff24e8 | 33 | if (_led_type) return num_7seg[number]; //Common Cathode |
trombettamichele | 0:ccabe7ff24e8 | 34 | else return ~num_7seg[number]; //Common Anode |
trombettamichele | 0:ccabe7ff24e8 | 35 | } else return 0xFF; |
trombettamichele | 0:ccabe7ff24e8 | 36 | } |