Very simple library for controll a 7 segment display.
Dependents: Demo_Led7seg TP1_EJER02_FERNANDEZ_CLERICI TP1_EJER3 Ejercicio3JalleVentiades ... more
Diff: Multi7Seg.cpp
- Revision:
- 1:78b3b8aefd3c
- Parent:
- 0:ccabe7ff24e8
diff -r ccabe7ff24e8 -r 78b3b8aefd3c Multi7Seg.cpp --- a/Multi7Seg.cpp Fri Apr 22 22:30:33 2011 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,77 +0,0 @@ -#include "mbed.h" -#include "Multi7Seg.h" -// Simple library that can controll a matrix of 7 segment led displays -// Created by Michele Trombetta -// Copyright 2010 5OFT. All rights reserved. - -Multi7Seg::Multi7Seg(PinName a, PinName b, PinName c, PinName d, PinName e, PinName f, PinName g, PinName disp1, PinName disp2, bool led_type): _disps(disp1, disp2), _led_7seg(a, b, c, d, e, f, g, led_type) { - _ndisp = 2; - _speed = 0.001; -} - -Multi7Seg::Multi7Seg(PinName a, PinName b, PinName c, PinName d, PinName e, PinName f, PinName g, PinName disp1, PinName disp2, PinName disp3, bool led_type): _disps(disp1, disp2, disp3), _led_7seg(a, b, c, d, e, f, g, led_type) { - _ndisp = 3; - _speed = 0.001; -} - -Multi7Seg::Multi7Seg(PinName a, PinName b, PinName c, PinName d, PinName e, PinName f, PinName g, PinName disp1, PinName disp2, PinName disp3, PinName disp4, bool led_type): _disps(disp1, disp2, disp3, disp4), _led_7seg(a, b, c, d, e, f, g, led_type) { - _ndisp = 4; - _speed = 0.001; -} - -Multi7Seg::Multi7Seg(PinName a, PinName b, PinName c, PinName d, PinName e, PinName f, PinName g, PinName disp1, PinName disp2, PinName disp3, PinName disp4, PinName disp5, bool led_type): _disps(disp1, disp2, disp3, disp4, disp5), _led_7seg(a, b, c, d, e, f, g, led_type) { - _ndisp = 5; - _speed = 0.001; -} - -void Multi7Seg::write(unsigned int number) { - if (_format) { //Dec - _num1 = number / 10000; - _num2 = (number % 10000)/1000; - _num3 = (number % 1000)/100; - _num4 = (number % 100)/10; - _num5 = number % 10; - } else { //Hex - _num2 = (number % 65536)/4096; - _num3 = (number % 4096)/256; - _num4 = (number % 256)/16; - _num5 = number % 16; - } - - switch (_ndisp) { - case 5: - _disps = 0; - _led_7seg.write((unsigned char)_num1); - _disps = 16; - wait(_speed); - case 4: - _disps = 0; - _led_7seg.write((unsigned char)_num2); - _disps = 8; - wait(_speed); - case 3: - _disps = 0; - _led_7seg.write((unsigned char)_num3); - _disps = 4; - wait(_speed); - case 2: - _disps = 0; - _led_7seg.write((unsigned char)_num4); - _disps = 2; - wait(_speed); - - _disps = 0; - _led_7seg.write((unsigned char)_num5); - _disps = 1; - wait(_speed); - } - _disps = 0; -} - -void Multi7Seg::setformat(bool format) { - _format = format; -} - -void Multi7Seg::setspeed(float speed) { - _speed = speed; -} \ No newline at end of file