Very simple library for controll a 7 segment display.

Dependents:   Demo_Led7seg TP1_EJER02_FERNANDEZ_CLERICI TP1_EJER3 Ejercicio3JalleVentiades ... more

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers Led7Seg.cpp Source File

Led7Seg.cpp

00001 #include "mbed.h"
00002 #include "Led7Seg.h"
00003 //  Simple library that can controll a 7 segment led display
00004 //  Created by Michele Trombetta
00005 //  Copyright 2010 5OFT. All rights reserved.
00006 
00007 Led7Seg::Led7Seg(PinName a,PinName b,PinName c,PinName d,PinName e,PinName f,PinName g): _leddisp(a, b, c, d, e, f, g) {
00008     _leddisp = 0;
00009 }
00010 
00011 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) {
00012     _leddisp = 0;
00013     _led_type = led_type;
00014 }
00015 
00016 void Led7Seg::set_type(bool led_type) {
00017     _led_type = led_type;
00018 }
00019 
00020 void Led7Seg::write(unsigned char number) {
00021     if (number<24) {
00022         if (_led_type) _leddisp = num_7seg[number]; //Common Cathode
00023         else _leddisp = ~num_7seg[number];  //Common Anode
00024     }
00025 }
00026 
00027 unsigned char Led7Seg::read() {
00028     return _leddisp;
00029 }
00030 
00031 unsigned char Led7Seg::convert(unsigned char number) {
00032     if (number<24) {
00033         if (_led_type) return num_7seg[number]; //Common Cathode
00034         else return ~num_7seg[number];  //Common Anode
00035     } else return 0xFF;
00036 }