📄 htlcd_lib.h
字号:
#ifndef HTLCDlib_h
#define HTLCDlib_h
#undef HTLCD_EXT
#ifndef HTLCD_C
#define HTLCD_EXT extern
#else
#define HTLCD_EXT
#endif
#include "Pub_PUCK.h"
//#define CONFLICT_TAB_CHKEN //检查所有配置表是否冲突
#define MAX_SEG 32 //最大的SEG序号:0~MAX_SEG
#define MAX_COL 7 //最大的COL序号:0~MAX_COL
HTLCD_EXT INT8U Show_Lcd_Ram[MAX_SEG+1]; //0~MAX_SEG
HTLCD_EXT INT8U Show_Lcd_Flag;
#define SEG(x) x //0~MAX_SEG
#define COM(y) y //0~MAX_COL
#define Sx 1
#define Dx 2
#define Nx 3
#define DOT_0 0 //不显示小数点
#define DOT_1 1 //显示下小数点
#define DOT_2 2 //显示上小数点
#define DOT_3 3 //显示2个小数点
//显示设备标示------Sx---------1~255
#define S_A 1 //A
#define S_B 2 //B
#define S_C 3 //C
#define S_N 4 //N
#define S_SHANG 5 //上
#define S_BEN 6 //本
#define S_SHANG1 7 //上
#define S_SHIYUE 8 //1
#define S_YUE 9 //月
#define S_CI 10 //次
#define S_SHURU 11 //输入
#define S_FAN 12 //反
#define S_ZHENG 13 //正
#define S_XIANG 14 //向
#define S_XU 15 //需
#define S_DIAN 16 //电
#define S_LIANG 17 //量
#define S_SHI 18 //时
#define S_JIAN 19 //间
#define S_FEI 20 //费
#define S_XIANGXIAN1 21 //第1象限符号
#define S_XIANGXIAN2 22 //第2象限符号
#define S_XIANGXIAN3 23 //第3象限符号
#define S_XIANGXIAN4 24 //第4象限符号
#define S_COS 25 //
#define S_FAI 26 //
#define S_I1 27 //I
#define S_I2 28 //I
#define S_I3 29 //I
#define S_V 30 //V
#define S_ZONG 103 //总
#define S_T 31 //T
#define S_GUO 32 //过
#define S_SHUCHU 33 //输出
#define S_WU 34 //无
#define S_YOU 35 //有
#define S_GONG0 36 //功
#define S_SHI1 37 //失
#define S_YA 38 //压
#define S_LIU 39 //流
#define S_DUAN 40 //段
#define S_GONG 41 //功
#define S_LV 42 //率
#define S_JIAN1 44 //尖
#define S_FENG 45 //峰
#define S_PING 46 //平
#define S_GU 47 //谷
#define S_1 48 //①
#define S_2 49 //②
#define S_3 50 //③
#define S_4 51 //④
#define S_1A1 52 //A
#define S_1B1 53 //B
#define S_1C1 54 //C
#define S_M_55 55 //MVKWHz
#define S_M_56 56 //MVKWH
#define S_M_57 57 //MVKWHz
#define S_M_58 58 //MVKWHz
#define S_M_59 59 //MVKWHz
#define S_M_60 60 //MVKWHz
#define S_M_61 61 //MVKWHz
#define S_M_62 62 //MVKWHz
#define S_M_63 63 //MVKWHz
#define S_M_64 64 //MVKWHz
#define S_M_65 65 //MVKWHz
#define S_M_66 66 //MVKWHz
#define S_M_67 67 //MVKWHz
#define S_M_68 68 //MVKWHz
#define S_M_69 69 //MVKWHz
#define S_CUOFENG 70 //错峰
#define S_QIANFEI 71 //欠费
#define S_DONG 72 //冬
#define S_RS1 73 //欠费
#define S_RS2 74 //欠费
#define S_HONGWAI 75 //红外
#define S_NIXIANGXU 76 //逆相序
#define S_BAT1 77
#define S_BAT2 78
#define S_BAT3 79
#define S_Ua 80 //Ua
#define S_Ub 81 //Ub
#define S_Uc 82 //Uc
#define S_CIRCLE 83 //圆饼
#define S_ARROW_LEFT 84 //左箭头
#define S_CSQ4 85 //信号4
#define S_CSQ3 86 //信号3
#define S_CSQ2 87 //信号2
#define S_CSQ1 88 //信号1
#define S_ARROW_RIGHT 89 //左箭头
#define S_Ia_ 90 //-
#define S_Ia 91 //Ia
#define S_Ib_ 92 //-
#define S_Ib 93 //Ib
#define S_Ic_ 94 //-
#define S_Ic 95 //Ic
#define S_TT 96 //Ic
#define S_BUTTON 97 //Ic
#define S_HOUSE 98 //Ic
#define S_KEY 99 //Ic
#define S_LOCK 100 //Ic
#define S_LIGHT 101 //Ic
#define S_SHOT 102 //Ic
//显示设备标示------Nx--------'8'-----256~511
#define N_LED(x) x //((x&0xff)|0x100) //某一个'8'字
//显示设备标示------Dx--------'.',":"-----512~767
#define D_(x) x //((x&0xff)|0x200)
typedef struct
{
INT16U Sign;
INT8U x; //Seg
INT8U y; //com
}LCD_S_D_POS;
//Sx,Seg,Com,以下是常量元素,Sx,单独可以表达一个意思
HTLCD_EXT LCD_S_D_POS LCD_S_Const[]=
{
{0,0,0}, //位置0,表示为空
{1,23,1},
{2,23,2},
{3,23,3},
{4,23,4},
{5,23,5},
{6,23,6},
{7,23,7},
{8,18,7},
{9,31,1},
{10,31,3},
{11,31,5},
{12,31,7},
{13,30,7},
{14,30,5},
{15,30,3},
{16,30,1},
{17,29,1},
{18,29,3},
{19,29,5},
{20,29,7},
{21,32,1},
{22,31,0},
{23,32,0},
{24,23,0},
{25,32,2},
{26,32,3},
{27,32,4},
{28,32,5},
{29,32,6},
{30,32,7},
{31,19,7},
{32,31,2},
{33,31,4},
{34,31,6},
{35,30,6},
{36,30,4},
{37,30,2},
{38,30,0},
{39,29,0},
{40,29,2},
{41,29,4},
{42,29,6},
{43,9,7},
{44,0,7},
{45,24,7},
{46,24,3},
{47,25,3},
{48,2,7},
{49,25,5},
{50,25,6},
{51,26,6},
{52,27,5},
{53,26,4},
{54,27,2},
{55,21,1},
{56,21,2},
{57,21,3},
{58,21,4},
{59,21,5},
{60,21,6},
{61,21,7},
{62,22,7},
{63,22,6},
{64,22,5},
{65,22,4},
{66,22,3},
{67,22,2},
{68,22,1},
{69,22,0},
{70,24,1},
{71,25,1},
{72,24,2},
{73,25,2},
{74,25,4},
{75,25,7},
{76,26,7},
{77,27,3},
{78,27,1},
{79,27,0},
{80,28,3},
{81,28,7},
{82,28,1},
{83,26,0},
{84,10,7},
{85,11,7},
{86,12,7},
{87,13,7},
{88,14,7},
{89,15,7},
{90,21,0},
{91,28,0},
{92,28,5},
{93,28,6},
{94,28,4},
{95,28,2},
{96,20,7},
{97,26,2},
{98,26,5},
{99,26,3},
{100,27,6},
{101,26,1},
{102,27,4},
};
#define MAX_S_NUM (sizeof(LCD_S_Const)/sizeof(LCD_S_D_POS))
//Sx,Seg,Com,以下是常量元素,但必须与Nx一起表示一个变量
HTLCD_EXT LCD_S_D_POS LCD_D_Const[]=
{
{0,0,0}, //位置0,表示为空
{4,1,7}, //:
{6,3,7}, //:
{7,5,7}, //.
{8,27,7}, //.
{9,6,7}, //.
{10,7,7}, //.
{11,8,7}, //.
{19,16,7}, //.
{20,17,7}, //.
{21,24,6}, //.
{22,24,5} //.
};
#define MAX_D_NUM (sizeof(LCD_D_Const)/sizeof(LCD_S_D_POS))
#define MAX_AU_ID 4
typedef struct
{
INT16U Sign; //Sx, Dx, Nx
INT8U x; //Seg
INT8U y; //com
//INT8U RelaType; //关联类型
//INT8U RelaNum; //关联类型
//INT8U RelaID[MAX_AU_ID]; //关联元素
}LCD_N_POS;
HTLCD_EXT LCD_N_POS LCD_N_Const[]=
{
//Sx,Seg,Com,以下是变量元素,8字符,A~G联合才能表达一个意思,同时和其它辅助标志关联
{0,0,0}, //位置0,表示为空
{1,18,0}, //A
{1,18,1}, //B
{1,18,4}, //C
{1,18,6}, //D
{1,18,5}, //E
{1,18,2}, //F
{1,18,3}, //G
{2,19,0}, //A
{2,19,1}, //B
{2,19,4}, //C
{2,19,6}, //D
{2,19,5}, //E
{2,19,2}, //F
{2,19,3}, //G
{3,0,0}, //A
{3,0,1}, //B
{3,0,4}, //C
{3,0,6}, //D
{3,0,5}, //E
{3,0,2}, //F
{3,0,3}, //G
{4,1,0}, //A
{4,1,1}, //B
{4,1,4}, //C
{4,1,6}, //D
{4,1,5}, //E
{4,1,2}, //F
{4,1,3}, //G
{5,2,0}, //A
{5,2,1}, //B
{5,2,4}, //C
{5,2,6}, //D
{5,2,5}, //E
{5,2,2}, //F
{5,2,3}, //G
{6,3,0}, //A
{6,3,1}, //B
{6,3,4}, //C
{6,3,6}, //D
{6,3,5}, //E
{6,3,2}, //F
{6,3,3}, //G
{7,4,0}, //A
{7,4,1}, //B
{7,4,4}, //C
{7,4,6}, //D
{7,4,5}, //E
{7,4,2}, //F
{7,4,3}, //G
{8,5,0}, //A
{8,5,1}, //B
{8,5,4}, //C
{8,5,6}, //D
{8,5,5}, //E
{8,5,2}, //F
{8,5,3}, //G
{9,6,0}, //A
{9,6,1}, //B
{9,6,4}, //C
{9,6,6}, //D
{9,6,5}, //E
{9,6,2}, //F
{9,6,3}, //G
{10,7,0}, //A
{10,7,1}, //B
{10,7,4}, //C
{10,7,6}, //D
{10,7,5}, //E
{10,7,2}, //F
{10,7,3}, //G
{11,8,0}, //A
{11,8,1}, //B
{11,8,4}, //C
{11,8,6}, //D
{11,8,5}, //E
{11,8,2}, //F
{11,8,3}, //G
{12,9,0}, //A
{12,9,1}, //B
{12,9,4}, //C
{12,9,6}, //D
{12,9,5}, //E
{12,9,2}, //F
{12,9,3}, //G
{13,20,0}, //A
{13,20,1}, //B
{13,20,4}, //C
{13,20,6}, //D
{13,20,5}, //E
{13,20,2}, //F
{13,20,3}, //G
{14,10,0}, //A
{14,10,1}, //B
{14,10,4}, //C
{14,10,6}, //D
{14,10,5}, //E
{14,10,2}, //F
{14,10,3}, //G
{15,11,0}, //A
{15,11,1}, //B
{15,11,4}, //C
{15,11,6}, //D
{15,11,5}, //E
{15,11,2}, //F
{15,11,3}, //G
{16,12,0}, //A
{16,12,1}, //B
{16,12,4}, //C
{16,12,6}, //D
{16,12,5}, //E
{16,12,2}, //F
{16,12,3}, //G
{17,13,0}, //A
{17,13,1}, //B
{17,13,4}, //C
{17,13,6}, //D
{17,13,5}, //E
{17,13,2}, //F
{17,13,3}, //G
{18,14,0}, //A
{18,14,1}, //B
{18,14,4}, //C
{18,14,6}, //D
{18,14,5}, //E
{18,14,2}, //F
{18,14,3}, //G
{19,15,0}, //A
{19,15,1}, //B
{19,15,4}, //C
{19,15,6}, //D
{19,15,5}, //E
{19,15,2}, //F
{19,15,3}, //G
{20,16,0}, //A
{20,16,1}, //B
{20,16,4}, //C
{20,16,6}, //D
{20,16,5}, //E
{20,16,2}, //F
{20,16,3}, //G
{21,17,0}, //A
{21,17,1}, //B
{21,17,4}, //C
{21,17,6}, //D
{21,17,5}, //E
{21,17,2}, //F
{21,17,3} //G
};
#define MAX_N_NUM (sizeof(LCD_N_Const)/sizeof(LCD_N_POS))
typedef struct
{
INT8U Type_8; //0~9,A b,C,d,E,F,上口('O'),下口('o'),=,-
INT8U Num; //元素个数
INT8U Pxy8[7]; //显示的元素都是'A'~'G'组成
}LCD_LED;
//对'8'的描述
HTLCD_EXT LCD_LED LED_Pixy8_Const[]=
{
{'0',6,{'A','B','C','D','E','F'}},
{'1',2,{'B','C'}},
{'2',5,{'A','B','D','E','G'}},
{'3',5,{'A','B','C','D','G'}},
{'4',4,{'B','C','F','G'}},
{'5',5,{'A','C','D','F','G'}},
{'6',6,{'A','C','D','E','F','G'}},
{'7',3,{'A','B','C'}},
{'8',7,{'A','B','C','D','E','F','G'}},
{'9',6,{'A','B','C','D','F','G'}},
{'A',6,{'A','B','C','E','F','G'}},
{'b',5,{'C','D','E','F','G'}},
{'C',4,{'A','D','E','F'}},
{'d',5,{'B','C','D','E','G'}},
{'E',5,{'A','D','E','F','G'}},
{'F',4,{'A','E','F','G'}},
{'O',4,{'A','B','F','G'}}, //上口
{'o',4,{'C','D','E','G'}}, //下口
{'P',5,{'A','B','E','F','G'}},
{'=',2,{'A','D'}},
{'-',1,{'G'}}
};
#define MAX_LED_NUM (sizeof(LED_Pixy8_Const)/sizeof(LCD_LED))
//以下3个函数提供给应用层
INT8U SetOnDevice_PUCK(INT16U Device); //Sx
INT8U SetOnDevice_D_PUCK(INT16U Device); //Dx
INT8U SetOnLED8Device_PUCK(INT16U DeviceID,INT8U DisChar); //Nx
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -