📄 led.h
字号:
//--------------------------------------------------
//18b20
// 作者:闵运华
// qq:121758163
//--------------------------------------------------
#define A段 1 左移 0
#define B段 1 左移 2
#define C段 1 左移 6
#define D段 1 左移 4
#define E段 1 左移 3
#define F段 1 左移 1
#define G段 1 左移 7
#define H段 1 左移 5
#define 第一点 5
#define 第二点 13
#define 第三点 21
#define 第四点 29
#define 字符0 A段 或 B段 或 C段 或 D段 或 E段 或 F段
#define 字符1 B段 或 C段
#define 字符2 A段 或 B段 或 D段 或 E段 或 G段
#define 字符3 A段 或 B段 或 C段 或 D段 或 G段
#define 字符4 B段 或 C段 或 F段 或 G段
#define 字符5 A段 或 C段 或 D段 或 F段 或 G段
#define 字符6 A段 或 C段 或 D段 或 E段 或 F段 或 G段
#define 字符7 A段 或 B段 或 C段
#define 字符8 A段 或 B段 或 C段 或 D段 或 E段 或 F段 或 G段
#define 字符9 A段 或 B段 或 C段 或 D段 或 F段 或 G段
#define 字符A A段 或 B段 或 C段 或 E段 或 F段 或 G段
#define 字符B C段 或 D段 或 E段 或 F段 或 G段
#define 字符C A段 或 D段 或 E段 或 F段
#define 字符D B段 或 C段 或 D段 或 E段 或 G段
#define 字符E A段 或 D段 或 E段 或 F段 或 G段
#define 字符F A段 或 E段 或 F段 或 G段
#define 字符G A段 或 E段 或 F段 或 G段
#define 字符H A段 或 E段 或 F段 或 G段
#define 字符I A段 或 E段 或 F段 或 G段
#define 字符J A段 或 E段 或 F段 或 G段
#define 字符K A段 或 E段 或 F段 或 G段
#define 字符L A段 或 E段 或 F段 或 G段
#define 字符M A段 或 E段 或 F段 或 G段
#define 字符N A段 或 E段 或 F段 或 G段
#define 字符O A段 或 E段 或 F段 或 G段
#define 字符P A段 或 E段 或 F段 或 G段
#define 字符Q A段 或 E段 或 F段 或 G段
#define 字符R A段 或 E段 或 F段 或 G段
#define 字符S A段 或 E段 或 F段 或 G段
#define 字符T A段 或 E段 或 F段 或 G段
#define 字符U A段 或 E段 或 F段 或 G段
#define 字符V A段 或 E段 或 F段 或 G段
#define 字符W A段 或 E段 或 F段 或 G段
#define 字符X A段 或 E段 或 F段 或 G段
#define 字符Y A段 或 E段 或 F段 或 G段
#define 字符Z A段 或 E段 或 F段 或 G段
#define 字符负号 G段
#define 字符正号 A段 或 E段 或 F段 或 G段
#define 字符空 0
#define 当前LED八的个数 4
unsigned char code 字符码表[]={ 字符0,字符1,字符2,字符3,字符4,字符5,字符6,字符7,字符8,字符9,
字符A,字符B,字符C,字符D,字符E,字符F,字符G,字符H,字符I,字符J,
字符K,字符L,字符M,字符N,字符O,字符P,字符Q,字符R,字符S,字符T,
字符U,字符V,字符W,字符X,字符Y,字符Z,字符负号,字符正号,字符空
}; //数码管段码表
enum
{
字符_0 = 0,
字符_1,
字符_2,
字符_3,
字符_4,
字符_5,
字符_6,
字符_7,
字符_8,
字符_9,
字符_A,
字符_B,
字符_C,
字符_D,
字符_E,
字符_F,
字符_G,
字符_H,
字符_I,
字符_J,
字符_K,
字符_L,
字符_M,
字符_N,
字符_O,
字符_P,
字符_Q,
字符_R,
字符_S,
字符_T,
字符_U,
字符_V,
字符_W,
字符_X,
字符_Y,
字符_Z,
字符_负号,
字符_正号,
字符_空
};
void 显示数据(unsigned int 需显示的数值);
void 显示温度(unsigned int 需显示的数值);
void 亮点(unsigned char 需亮的点);
void 灭点(unsigned char 需灭的点);
void 显示字符(unsigned char 地址,unsigned char 字符数据);
unsigned char 显示区[4];
//点亮当前点
void 亮点(unsigned char 需亮的点)
{
显示区[需亮的点 / 8] &= ~(1<<(需亮的点 % 8));
}
//灭掉当前点
void 灭点(unsigned char 需灭的点)
{
显示区[需灭的点 / 8] |= 1<<(需灭的点 % 8);
}
//显示字符
void 显示字符(unsigned char 地址,unsigned char 字符数据)
{
if(地址 < 当前LED八的个数)
{
显示区[地址] &= H段;
显示区[地址]|=~字符码表[字符数据];
}
}
//显示字符
void 显示字符串(unsigned char 地址,unsigned char *字符串地址)
{
char i;
for(i = 0 ; i < 当前LED八的个数 ; i++)
显示字符(i,字符串地址[i]);
}
//显示十六进制数
void 显示数据(unsigned int 需显示的数值)
{
显示字符(0,(需显示的数值 >> 12) & 0x0f);
显示字符(1,(需显示的数值 >> 8) & 0x0f);
显示字符(2,(需显示的数值 >> 4) & 0x0f);
显示字符(3,(需显示的数值 )& 0x0f);
灭点(第三点);
灭点(第二点);
}
void 显示温度(unsigned int 需显示的数值)
{
if((需显示的数值 & 0x8000) )
{
//此表示此数为负数
需显示的数值 ^= 0xffff; //取反
需显示的数值++;
显示字符(0,字符_负号);
需显示的数值 <<= 4; //将整数部分放入高八位,小数部分放在低八位的高四位
}
else
{
需显示的数值 <<= 4; //将整数部分放入高八位,小数部分放在低八位的高四位
if((需显示的数值 >> 8) > 99)
{
显示字符(0,((需显示的数值 >> 8) / 100) & 0x0f); //整数部分的百位
}
else
{
显示字符(0,字符_空);
}
}
显示字符(1,(((需显示的数值 >> 8) / 10) % 10) & 0x0f); //整数部分的十位
显示字符(2,((需显示的数值 >> 8) % 10 ) & 0x0f); //整数部分的个位
亮点(第三点);
灭点(第二点);
显示字符(3,((((需显示的数值 >> 6)&0x03) * 25) / 10) & 0x0f); //小数点位
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -