vfd_7seg.h
来自「代码有点长,需细心阅读,仅供影音视听类产品的开发人员参考」· C头文件 代码 · 共 155 行
H
155 行
#ifndef __VFD_7SEG_H
#define __VFD_7SEG_H
/*
** Definition for 7-seg display
**
** we assume 7-seg are defined as traditional 7-segment LED.
**
** AAAA
** F B
** F B
** GGGG
** E C
** E C
** DDDD
*/
#ifndef VFD_7SEG_SA
//#error please define VFD_7SEG_SA-SG.
#endif
#if 0 //(VFD_DRIVER==HT1621) //ZHX 060203
#define VFD_7SEG_0_R (VFD_7SEG_SAR|VFD_7SEG_SBR|VFD_7SEG_SCR)
#define VFD_7SEG_0_L (VFD_7SEG_SDL|VFD_7SEG_SEL|VFD_7SEG_SFL)
#define VFD_7SEG_1_R (VFD_7SEG_SBR|VFD_7SEG_SCR)
#define VFD_7SEG_1_L (0)
#define VFD_7SEG_2_R (VFD_7SEG_SAR|VFD_7SEG_SBR|VFD_7SEG_SGR)
#define VFD_7SEG_2_L (VFD_7SEG_SEL|VFD_7SEG_SDL)
#define VFD_7SEG_3_R (VFD_7SEG_SAR|VFD_7SEG_SBR|VFD_7SEG_SGR|VFD_7SEG_SCR)
#define VFD_7SEG_3_L (VFD_7SEG_SDL)
#define VFD_7SEG_4_R (VFD_7SEG_SGR|VFD_7SEG_SBR|VFD_7SEG_SCR)
#define VFD_7SEG_4_L (VFD_7SEG_SFL)
#define VFD_7SEG_5_R (VFD_7SEG_SAR|VFD_7SEG_SGR|VFD_7SEG_SCR)
#define VFD_7SEG_5_L (VFD_7SEG_SFL|VFD_7SEG_SDL)
#define VFD_7SEG_6_R (VFD_7SEG_SAR|VFD_7SEG_SGR|VFD_7SEG_SCR)
#define VFD_7SEG_6_L (VFD_7SEG_SFL|VFD_7SEG_SDL|VFD_7SEG_SEL)
#define VFD_7SEG_7_R (VFD_7SEG_SAR|VFD_7SEG_SBR|VFD_7SEG_SCR)
#define VFD_7SEG_7_L (0)
#define VFD_7SEG_8_R (VFD_7SEG_SAR|VFD_7SEG_SBR|VFD_7SEG_SCR|VFD_7SEG_SGR)
#define VFD_7SEG_8_L (VFD_7SEG_SDL|VFD_7SEG_SEL|VFD_7SEG_SFL)
#define VFD_7SEG_9_R (VFD_7SEG_SAR|VFD_7SEG_SBR|VFD_7SEG_SCR|VFD_7SEG_SGR)
#define VFD_7SEG_9_L (VFD_7SEG_SDL|VFD_7SEG_SFL)
//#define VFD_7SEG_DIG_MASK (VFD_7SEG_8)
#define VFD_7SEG_SPACE 0
//#define VFD_7SEG_DASH VFD_7SEG_SG //zhg 2002/09/27 15:35
#define VFD_7SEG_A_R (VFD_7SEG_SAR|VFD_7SEG_SBR|VFD_7SEG_SCR|VFD_7SEG_SGR)
#define VFD_7SEG_A_L (VFD_7SEG_SEL|VFD_7SEG_SFL)
#define VFD_7SEG_B_R (VFD_7SEG_SGR|VFD_7SEG_SCR)
#define VFD_7SEG_B_L (VFD_7SEG_SDL|VFD_7SEG_SFL|VFD_7SEG_SEL)
#define VFD_7SEG_C_R (VFD_7SEG_SAR)
#define VFD_7SEG_C_L (VFD_7SEG_SDL|VFD_7SEG_SEL|VFD_7SEG_SFL)
#define VFD_7SEG_D_R (VFD_7SEG_SBR|VFD_7SEG_SCR|VFD_7SEG_SGR)
#define VFD_7SEG_D_L (VFD_7SEG_SEL|VFD_7SEG_SDL)
#define VFD_7SEG_E_R (VFD_7SEG_SAR|VFD_7SEG_SGR)
#define VFD_7SEG_E_L (VFD_7SEG_SDL|VFD_7SEG_SEL|VFD_7SEG_SFL)
#define VFD_7SEG_F_R (VFD_7SEG_SAR|VFD_7SEG_SGR)
#define VFD_7SEG_F_L (VFD_7SEG_SEL|VFD_7SEG_SFL)
#define VFD_7SEG_G_R (VFD_7SEG_SAR|VFD_7SEG_SCR|VFD_7SEG_SGR)
#define VFD_7SEG_G_L (VFD_7SEG_SDL|VFD_7SEG_SEL|VFD_7SEG_SFL)
#define VFD_7SEG_H_R (VFD_7SEG_SBR|VFD_7SEG_SCR|VFD_7SEG_SGR)
#define VFD_7SEG_H_L (VFD_7SEG_SEL|VFD_7SEG_SFL)
#define VFD_7SEG_I_R (VFD_7SEG_SBR|VFD_7SEG_SCR)
#define VFD_7SEG_I_L (0)
#define VFD_7SEG_J_R (VFD_7SEG_SBR|VFD_7SEG_SCR)
#define VFD_7SEG_J_L (VFD_7SEG_SDL)
#define VFD_7SEG_L_R (0)
#define VFD_7SEG_L_L (VFD_7SEG_SDL|VFD_7SEG_SEL|VFD_7SEG_SFL)
#define VFD_7SEG_N_R (VFD_7SEG_SAR|VFD_7SEG_SBR|VFD_7SEG_SCR)
#define VFD_7SEG_N_L (VFD_7SEG_SEL|VFD_7SEG_SFL)
#define VFD_7SEG_O_R (VFD_7SEG_SAR|VFD_7SEG_SBR|VFD_7SEG_SCR)
#define VFD_7SEG_O_L (VFD_7SEG_SDL|VFD_7SEG_SEL|VFD_7SEG_SFL)
#define VFD_7SEG_P_R (VFD_7SEG_SAR|VFD_7SEG_SBR|VFD_7SEG_SGR)
#define VFD_7SEG_P_L (VFD_7SEG_SEL|VFD_7SEG_SFL)
#define VFD_7SEG_R_R (VFD_7SEG_SGR)
#define VFD_7SEG_R_L (VFD_7SEG_SEL)
#define VFD_7SEG_S_R (VFD_7SEG_SAR|VFD_7SEG_SGR|VFD_7SEG_SCR)
#define VFD_7SEG_S_L (VFD_7SEG_SFL|VFD_7SEG_SDL)
#define VFD_7SEG_T_R (VFD_7SEG_SGR)
#define VFD_7SEG_T_L (VFD_7SEG_SDL|VFD_7SEG_SEL|VFD_7SEG_SFL)
#define VFD_7SEG_U_R (VFD_7SEG_SBR|VFD_7SEG_SCR)
#define VFD_7SEG_U_L (VFD_7SEG_SDL|VFD_7SEG_SEL|VFD_7SEG_SFL)
#define VFD_7SEG_Y_R (VFD_7SEG_SGR|VFD_7SEG_SBR|VFD_7SEG_SCR)
#define VFD_7SEG_Y_L (VFD_7SEG_SFL)
static const BYTE vfd_digit[72] =
{ //0-9,A-Z is 0-35
VFD_7SEG_0_R, VFD_7SEG_0_L, VFD_7SEG_1_R, VFD_7SEG_1_L, VFD_7SEG_2_R, VFD_7SEG_2_L, //0-5
VFD_7SEG_3_R, VFD_7SEG_3_L, VFD_7SEG_4_R, VFD_7SEG_4_L, VFD_7SEG_5_R, VFD_7SEG_5_L, //6-11
VFD_7SEG_6_R, VFD_7SEG_6_L, VFD_7SEG_7_R, VFD_7SEG_7_L, VFD_7SEG_8_R, VFD_7SEG_8_L, //12-17
VFD_7SEG_9_R, VFD_7SEG_9_L, VFD_7SEG_A_R, VFD_7SEG_A_L, VFD_7SEG_B_R, VFD_7SEG_B_L, //18-23
VFD_7SEG_C_R, VFD_7SEG_C_L, VFD_7SEG_D_R, VFD_7SEG_D_L, VFD_7SEG_E_R, VFD_7SEG_E_L, //24-29
VFD_7SEG_F_R, VFD_7SEG_F_L, VFD_7SEG_G_R, VFD_7SEG_G_L, VFD_7SEG_H_R, VFD_7SEG_H_L, //30-35
VFD_7SEG_I_R, VFD_7SEG_I_L, VFD_7SEG_J_R, VFD_7SEG_J_L, VFD_7SEG_SPACE,VFD_7SEG_SPACE,//36-41
VFD_7SEG_L_R, VFD_7SEG_L_L, VFD_7SEG_SPACE, VFD_7SEG_SPACE, VFD_7SEG_N_R, VFD_7SEG_N_L, //42-47
VFD_7SEG_O_R, VFD_7SEG_O_L, VFD_7SEG_P_R, VFD_7SEG_P_L, VFD_7SEG_SPACE,VFD_7SEG_SPACE,//48-53
VFD_7SEG_R_R, VFD_7SEG_R_L, VFD_7SEG_S_R, VFD_7SEG_S_L, VFD_7SEG_T_R, VFD_7SEG_T_L, //54-59
VFD_7SEG_U_R, VFD_7SEG_U_L, VFD_7SEG_SPACE, VFD_7SEG_SPACE, VFD_7SEG_SPACE,VFD_7SEG_SPACE,//60-65
VFD_7SEG_SPACE,VFD_7SEG_SPACE, VFD_7SEG_Y_R, VFD_7SEG_Y_L, VFD_7SEG_SPACE,VFD_7SEG_SPACE //66-71
};
#else
#define VFD_7SEG_0 (VFD_7SEG_SA|VFD_7SEG_SB|VFD_7SEG_SC|VFD_7SEG_SD|VFD_7SEG_SE|VFD_7SEG_SF)
#define VFD_7SEG_1 (VFD_7SEG_SB|VFD_7SEG_SC)
#define VFD_7SEG_2 (VFD_7SEG_SA|VFD_7SEG_SB|VFD_7SEG_SG|VFD_7SEG_SE|VFD_7SEG_SD)
#define VFD_7SEG_3 (VFD_7SEG_SA|VFD_7SEG_SB|VFD_7SEG_SG|VFD_7SEG_SC|VFD_7SEG_SD)
#define VFD_7SEG_4 (VFD_7SEG_SF|VFD_7SEG_SG|VFD_7SEG_SB|VFD_7SEG_SC)
#define VFD_7SEG_5 (VFD_7SEG_SA|VFD_7SEG_SF|VFD_7SEG_SG|VFD_7SEG_SC|VFD_7SEG_SD)
#define VFD_7SEG_6 (VFD_7SEG_SA|VFD_7SEG_SF|VFD_7SEG_SG|VFD_7SEG_SC|VFD_7SEG_SD|VFD_7SEG_SE)
#define VFD_7SEG_7 (VFD_7SEG_SA|VFD_7SEG_SB|VFD_7SEG_SC)
#define VFD_7SEG_8 (VFD_7SEG_SA|VFD_7SEG_SB|VFD_7SEG_SC|VFD_7SEG_SD|VFD_7SEG_SE|VFD_7SEG_SF|VFD_7SEG_SG)
#define VFD_7SEG_9 (VFD_7SEG_SA|VFD_7SEG_SB|VFD_7SEG_SC|VFD_7SEG_SD|VFD_7SEG_SF|VFD_7SEG_SG)
#define VFD_7SEG_DIG_MASK (VFD_7SEG_8)
#define VFD_7SEG_SPACE 0
#define VFD_7SEG_DASH VFD_7SEG_SG //zhg 2002/09/27 15:35
#define VFD_7SEG_A (VFD_7SEG_SA|VFD_7SEG_SB|VFD_7SEG_SC|VFD_7SEG_SE|VFD_7SEG_SF|VFD_7SEG_SG)
#define VFD_7SEG_b (VFD_7SEG_SF|VFD_7SEG_SG|VFD_7SEG_SC|VFD_7SEG_SD|VFD_7SEG_SE)
#define VFD_7SEG_B VFD_7SEG_b
#define VFD_7SEG_C (VFD_7SEG_SA|VFD_7SEG_SD|VFD_7SEG_SE|VFD_7SEG_SF)
#define VFD_7SEG_d (VFD_7SEG_SB|VFD_7SEG_SC|VFD_7SEG_SD|VFD_7SEG_SE|VFD_7SEG_SG)
#define VFD_7SEG_D VFD_7SEG_d
#define VFD_7SEG_E (VFD_7SEG_SA|VFD_7SEG_SD|VFD_7SEG_SE|VFD_7SEG_SF|VFD_7SEG_SG)
#define VFD_7SEG_F (VFD_7SEG_SA|VFD_7SEG_SE|VFD_7SEG_SF|VFD_7SEG_SG)
#define VFD_7SEG_G (VFD_7SEG_SA|VFD_7SEG_SC|VFD_7SEG_SD|VFD_7SEG_SE|VFD_7SEG_SF|VFD_7SEG_SG)
#define VFD_7SEG_H (VFD_7SEG_SB|VFD_7SEG_SC|VFD_7SEG_SE|VFD_7SEG_SF|VFD_7SEG_SG)
#define VFD_7SEG_I (VFD_7SEG_SB|VFD_7SEG_SC)
#define VFD_7SEG_J (VFD_7SEG_SB|VFD_7SEG_SC|VFD_7SEG_SD)
#define VFD_7SEG_L (VFD_7SEG_SD|VFD_7SEG_SE|VFD_7SEG_SF)
#define VFD_7SEG_N (VFD_7SEG_SA|VFD_7SEG_SB|VFD_7SEG_SC|VFD_7SEG_SE|VFD_7SEG_SF)
#define VFD_7SEG_O (VFD_7SEG_SA|VFD_7SEG_SB|VFD_7SEG_SC|VFD_7SEG_SD|VFD_7SEG_SE|VFD_7SEG_SF)
#define VFD_7SEG_P (VFD_7SEG_SA|VFD_7SEG_SB|VFD_7SEG_SE|VFD_7SEG_SF|VFD_7SEG_SG)
#define VFD_7SEG_o (VFD_7SEG_SE|VFD_7SEG_SG|VFD_7SEG_SD|VFD_7SEG_SC)
#define VFD_7SEG_r (VFD_7SEG_SE|VFD_7SEG_SG)
#define VFD_7SEG_R VFD_7SEG_r
#define VFD_7SEG_S (VFD_7SEG_SA|VFD_7SEG_SF|VFD_7SEG_SG|VFD_7SEG_SC|VFD_7SEG_SD)
#define VFD_7SEG_t (VFD_7SEG_SD|VFD_7SEG_SE|VFD_7SEG_SF|VFD_7SEG_SG)
#define VFD_7SEG_T VFD_7SEG_t
#define VFD_7SEG_U (VFD_7SEG_SB|VFD_7SEG_SC|VFD_7SEG_SD|VFD_7SEG_SE|VFD_7SEG_SF)
#define VFD_7SEG_Y (VFD_7SEG_SF|VFD_7SEG_SG|VFD_7SEG_SB|VFD_7SEG_SC)
static const BYTE vfd_digit[38] = { //0-9,A-Z is 0-35
VFD_7SEG_0, VFD_7SEG_1, VFD_7SEG_2, VFD_7SEG_3, VFD_7SEG_4, //0-4
VFD_7SEG_5, VFD_7SEG_6, VFD_7SEG_7, VFD_7SEG_8, VFD_7SEG_9, //5-9
VFD_7SEG_A, VFD_7SEG_B, VFD_7SEG_C, VFD_7SEG_D, VFD_7SEG_E, //10-14
VFD_7SEG_F, VFD_7SEG_G, VFD_7SEG_H, VFD_7SEG_I, VFD_7SEG_J, //15-19
VFD_7SEG_SPACE, VFD_7SEG_L, VFD_7SEG_SPACE, VFD_7SEG_N, VFD_7SEG_O, //20-24
VFD_7SEG_P, VFD_7SEG_SPACE, VFD_7SEG_R, VFD_7SEG_S, VFD_7SEG_T, //25-29
VFD_7SEG_U, VFD_7SEG_SPACE, VFD_7SEG_SPACE, VFD_7SEG_SPACE, VFD_7SEG_Y, //30-34
VFD_7SEG_SPACE, VFD_7SEG_DASH,VFD_7SEG_o //35-37
};
#endif
#endif/*__VFD_7SEG_H*/
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?