Very simple library for controll a 7 segment display.

Dependents:   Demo_Led7seg TP1_EJER02_FERNANDEZ_CLERICI TP1_EJER3 Ejercicio3JalleVentiades ... more

Committer:
trombettamichele
Date:
Fri Apr 22 22:30:33 2011 +0000
Revision:
0:ccabe7ff24e8

        

Who changed what in which revision?

UserRevisionLine numberNew 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 }