parent
130e7fd781
commit
49a5beee5f
@ -0,0 +1,31 @@ |
|||||||
|
//
|
||||||
|
// Created by MightyPork on 2017/06/08.
|
||||||
|
//
|
||||||
|
|
||||||
|
#include <stdint.h> |
||||||
|
#include <iopins.h> |
||||||
|
#include <spi.h> |
||||||
|
#include "pinout.h" |
||||||
|
|
||||||
|
#include "display.h" |
||||||
|
|
||||||
|
const uint8_t disp_digits[10] = { |
||||||
|
DIGIT_0, DIGIT_1, DIGIT_2, DIGIT_3, DIGIT_4, DIGIT_5, DIGIT_6, DIGIT_7, DIGIT_8, DIGIT_9 |
||||||
|
}; |
||||||
|
|
||||||
|
void display_show(uint8_t dig0, uint8_t dig1) |
||||||
|
{ |
||||||
|
spi_send(dig1); |
||||||
|
spi_send(dig0); |
||||||
|
pin_down(PIN_DISP_STR); |
||||||
|
pin_up(PIN_DISP_STR); |
||||||
|
} |
||||||
|
|
||||||
|
void display_show_number(uint8_t num) { |
||||||
|
uint8_t tens = num/10; |
||||||
|
uint8_t ones = num - tens*10; |
||||||
|
uint8_t dig0 = tens ? disp_digits[tens] : 0; |
||||||
|
uint8_t dig1 = disp_digits[ones]; |
||||||
|
dig1 |= SEG_H; |
||||||
|
display_show(dig0, dig1); |
||||||
|
} |
@ -0,0 +1,35 @@ |
|||||||
|
//
|
||||||
|
// Created by MightyPork on 2017/06/08.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef FIRMWARE_DISPLAY_H |
||||||
|
#define FIRMWARE_DISPLAY_H |
||||||
|
|
||||||
|
#include <stdint.h> |
||||||
|
|
||||||
|
#define SEG_A _BV(0) |
||||||
|
#define SEG_B _BV(1) |
||||||
|
#define SEG_C _BV(2) |
||||||
|
#define SEG_D _BV(3) |
||||||
|
#define SEG_E _BV(4) |
||||||
|
#define SEG_F _BV(5) |
||||||
|
#define SEG_G _BV(6) |
||||||
|
#define SEG_H _BV(7) |
||||||
|
|
||||||
|
#define DIGIT_0 (SEG_A|SEG_B|SEG_C|SEG_D|SEG_E|SEG_F) |
||||||
|
#define DIGIT_1 (SEG_B|SEG_C) |
||||||
|
#define DIGIT_2 (SEG_A|SEG_B|SEG_D|SEG_E|SEG_G) |
||||||
|
#define DIGIT_3 (SEG_A|SEG_B|SEG_C|SEG_D|SEG_G) |
||||||
|
#define DIGIT_4 (SEG_B|SEG_C|SEG_F|SEG_G) |
||||||
|
#define DIGIT_5 (SEG_A|SEG_C|SEG_D|SEG_F|SEG_G) |
||||||
|
#define DIGIT_6 (SEG_A|SEG_C|SEG_D|SEG_E|SEG_F|SEG_G) |
||||||
|
#define DIGIT_7 (SEG_A|SEG_B|SEG_C|SEG_F) |
||||||
|
#define DIGIT_8 (SEG_A|SEG_B|SEG_C|SEG_D|SEG_E|SEG_F|SEG_G) |
||||||
|
#define DIGIT_9 (SEG_A|SEG_B|SEG_C|SEG_D|SEG_F|SEG_G) |
||||||
|
|
||||||
|
extern const uint8_t disp_digits[10]; |
||||||
|
|
||||||
|
void display_show(uint8_t dig0, uint8_t dig1); |
||||||
|
void display_show_number(uint8_t num); |
||||||
|
|
||||||
|
#endif //FIRMWARE_DISPLAY_H
|
Loading…
Reference in new issue