#ifndef _TM1616_H_
#define _TM1616_H_
// Function:
// 用于共阴数码管数据显示
#include "STC8G.h"
#define MaxSMG 4 // 数码管数目
#define DIGIT4_SEGMENT7 0x00 // 四位七段
#define AUTO_ADD_INCREASE 0x40 // 地址自动增模式
#define FIXED_ADD 0x44 // 地址固定模式
#define DISPLAY_OFF 0x80 // 显示关
#define DIG1 0xC0 // 第一个数码管
#define DIG2 0xC2 // 第二个数码管
#define DIG3 0xC4 // 第三个数码管
#define DIG4 0xC6 // 第四个数码管
// 数码管亮度
typedef enum
{
SMG_Light1 = 0x88, // 脉冲宽度 1/16
SMG_Light2, // 脉冲宽度 2/16
SMG_Light3, // 脉冲宽度 4/16
SMG_Light4, // 脉冲宽度 10/16
SMG_Light5, // 脉冲宽度 11/16
SMG_Light6, // 脉冲宽度 12/16
SMG_Light7, // 脉冲宽度 13/16
SMG_Light8 // 脉冲宽度 14/16
} SMG_Light;
// 8段数码管 实际为7段 小数点无法控制 最高位固定为0
union SevenSegment
{
u8 ZYLED; // 整体显示 用于显示数字和设定的字母
// 位域 单独控制数码管的段
struct
{
u8 G:1;
u8 A:1;
u8 F:1;