SEG_LCD.h 9.83 KB
Newer Older
崔立宝's avatar
崔立宝 committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210
#ifndef _SEG_LCD_H_
#define _SEG_LCD_H_

#include "PWM.h"
#include "BU98R10.H"
#include "System_Status_Monitor.h" 

/******************************************************************************
段码
******************************************************************************/
#define   SEG_7A                             BU98R10_0_SEG33
#define   SEG_7B                             BU98R10_0_SEG32
#define   SEG_7C                             BU98R10_0_SEG106
#define   SEG_7D                             BU98R10_0_SEG105
#define   SEG_7E                             BU98R10_0_SEG104
#define   SEG_7F                             BU98R10_0_SEG34
#define   SEG_7G                             BU98R10_0_SEG31

#define   SEG_6A                             BU98R10_0_SEG37
#define   SEG_6B                             BU98R10_0_SEG36
#define   SEG_6C                             BU98R10_0_SEG102
#define   SEG_6D                             BU98R10_0_SEG101
#define   SEG_6E                             BU98R10_0_SEG100
#define   SEG_6F                             BU98R10_0_SEG38
#define   SEG_6G                             BU98R10_0_SEG35

#define   SEG_5A                             BU98R10_0_SEG41
#define   SEG_5B                             BU98R10_0_SEG40
#define   SEG_5C                             BU98R10_0_SEG99
#define   SEG_5D                             BU98R10_0_SEG98
#define   SEG_5E                             BU98R10_0_SEG97
#define   SEG_5F                             BU98R10_0_SEG42
#define   SEG_5G                             BU98R10_0_SEG39

#define   SEG_4A                             BU98R10_0_SEG45
#define   SEG_4B                             BU98R10_0_SEG44
#define   SEG_4C                             BU98R10_0_SEG96
#define   SEG_4D                             BU98R10_0_SEG73
#define   SEG_4E                             BU98R10_0_SEG72
#define   SEG_4F                             BU98R10_0_SEG46
#define   SEG_4G                             BU98R10_0_SEG43

#define   SEG_3A                             BU98R10_0_SEG49
#define   SEG_3B                             BU98R10_0_SEG48
#define   SEG_3C                             BU98R10_0_SEG71
#define   SEG_3D                             BU98R10_0_SEG70
#define   SEG_3E                             BU98R10_0_SEG69
#define   SEG_3F                             BU98R10_0_SEG50
#define   SEG_3G                             BU98R10_0_SEG47

#define   SEG_2A                             BU98R10_0_SEG53
#define   SEG_2B                             BU98R10_0_SEG52
#define   SEG_2C                             BU98R10_0_SEG68
#define   SEG_2D                             BU98R10_0_SEG67
#define   SEG_2E                             BU98R10_0_SEG66
#define   SEG_2F                             BU98R10_0_SEG54
#define   SEG_2G                             BU98R10_0_SEG51

#define   SEG_1A                             BU98R10_0_SEG57
#define   SEG_1B                             BU98R10_0_SEG56
#define   SEG_1C                             BU98R10_0_SEG65
#define   SEG_1D                             BU98R10_0_SEG64
#define   SEG_1E                             BU98R10_0_SEG63
#define   SEG_1F                             BU98R10_0_SEG58
#define   SEG_1G                             BU98R10_0_SEG55

#define   SEG_DP                             BU98R10_0_SEG103

#define   SEG_TRIP                           BU98R10_0_SEG60
#define   SEG_AA                             BU98R10_0_SEG59
#define   SEG_BB                             BU98R10_0_SEG61
#define   SEG_KM                             BU98R10_0_SEG107
#define   SEG_ODO                            BU98R10_0_SEG62

#define   SEG_YX1                            BU98R10_0_SEG75
#define   SEG_CX                             BU98R10_0_SEG74
#define   SEG_T1                             BU98R10_0_SEG76
#define   SEG_T2                             BU98R10_0_SEG77
#define   SEG_T3                             BU98R10_0_SEG78
#define   SEG_T4                             BU98R10_0_SEG79
#define   SEG_T5                             BU98R10_0_SEG80
#define   SEG_T6                             BU98R10_0_SEG81
#define   SEG_T7                             BU98R10_0_SEG82
#define   SEG_T8                             BU98R10_0_SEG83
#define   SEG_T9                             BU98R10_0_SEG84
#define   SEG_T10                            BU98R10_0_SEG85
#define   SEG_T11                            BU98R10_0_SEG86
#define   SEG_T12                            BU98R10_0_SEG87

#define   SEG_YX2                            BU98R10_0_SEG89
#define   SEG_CX2                            BU98R10_0_SEG88
#define   SEG_AE                             BU98R10_0_SEG90
#define   SEG_K1                             BU98R10_0_SEG91
#define   SEG_K2                             BU98R10_0_SEG92
#define   SEG_K3                             BU98R10_0_SEG93
#define   SEG_K4                             BU98R10_0_SEG94
#define   SEG_K5                             BU98R10_0_SEG95

/******************************************************************************
段码状态
******************************************************************************/
#define   SEG_LCD_LIGHT                     7
#define   SEG_LCD_GRAY                      1
#define   SEG_LCD_GRAY_light                0
#define   SEG_LCD_OFF                       0
#define   SEG_LCD_ON                        255

/******************************************************************************
段码液晶显示数据备份结构
******************************************************************************/
typedef struct
{
  uint8_t   Brightness;
  uint8_t   Window;
  uint8_t   VSpeedSeg;
  uint8_t   ESpeedSeg;
  uint16_t  VSpeed;
  uint16_t  ESpeed; 
  uint32_t  ODONum; 
  uint16_t  Power ;
  uint16_t  Voltage ;
  uint16_t  Current ;
  uint16_t  Mileage ;
  uint8_t  SOCSeg ;
  uint8_t  InitPowerSeg ;
  uint8_t  RePowerSeg ;
  uint8_t  TotalPowerSeg ;
  
}SEGLCDBackupStruct;

/******************************************************************************
图标状态寄存器SEGLCDIconxxxStatus位定义
================================================================
 Bit 7 | SEG_LCD_ICON_FORCE      | 强制显示标志
-------+-------------------------+------------------------------
 Bit 6 | Rsvd.                   | 保留
-------+-------------------------+------------------------------
 Bit 5 | Rsvd.                   | 保留
-------+-------------------------+------------------------------
 Bit 4 | Rsvd.                   | 保留
-------+-------------------------+------------------------------
 Bit 3 | Rsvd.                   | 保留
-------+-------------------------+------------------------------
 Bit 2 | Rsvd.                   | 保留
-------+-------------------------+------------------------------
 Bit 1 | SEG_LCD_ICON_FORCE_STAT | 强制显示状态 1-强制点亮 0-强制熄灭
-------+-------------------------+------------------------------
 Bit 0 | SEG_LCD_ICON_STAT       | 显示状态 1-点亮 0-熄灭
================================================================
******************************************************************************/
#define  SEG_LCD_ICON_FORCE                 ((uint8_t)0x80)
#define  SEG_LCD_ICON_FORCE_STAT            ((uint8_t)0x02)
#define  SEG_LCD_ICON_STAT                  ((uint8_t)0x01)

/******************************************************************************
Icon开关状态
******************************************************************************/
typedef enum
{
  SEG_LCD_ICON_OFF = 0,    //熄灭图标
  SEG_LCD_ICON_ON,         //点亮图标
  SEG_LCD_ICON_FORCE_OFF,  //强制熄灭图标,通过 SEG_LCD_ICON_OFF / SEG_LCD_ICON_ON 状态不能控制图标熄灭或点亮
  SEG_LCD_ICON_FORCE_ON,   //强制点亮图标,通过 SEG_LCD_ICON_OFF / SEG_LCD_ICON_ON 状态不能控制图标熄灭或点亮
  SEG_LCD_ICON_FREE,       //取消对图标的强制熄灭或点亮,将图标交由 SEG_LCD_ICON_OFF / SEG_LCD_ICON_ON 状态控制 
}SEGLCDIconStatusEnum;

/******************************************************************************
函数声明
******************************************************************************/
void SEG_LCD_Init(void);
void SEG_LCD_Shutdown(void);
void SEG_LCD_Set_Brightness(uint8_t Br);

void SEG_LCD_Window_Switch(uint8_t Sw);
void SEG_LCD_Window_Control_Service(void);


/******************************************************************************
函数名:SEG_LCD_ODO_Speed_Num_Display
功  能: 总计里程数字显示                                 
******************************************************************************/
void SEG_LCD_ODO_Speed_Num_Display(uint8_t DOD_TRIP_FLAG, uint32_t ODONum);
/******************************************************************************
函数名:SEG_LCD_ODO_Speed_Num_Off
功  能: 总计里程数字关闭                                  
******************************************************************************/
void SEG_LCD_ODO_Speed_Num_Off(void);
/******************************************************************************
函数名:SEG_LCD_FUEL_Seg_Display
功  能: 段码燃油显示                                   
******************************************************************************/
void SEG_LCD_FUEL_Seg_Display(uint8_t SegNum);
/******************************************************************************
函数名:SEG_LCD_FUEL_Seg_Off
功  能: 段码燃油全关闭                                   
******************************************************************************/
void SEG_LCD_FUEL_Seg_Off(void);
/******************************************************************************
函数名:SEG_LCD_ADBLUE_Seg_Display
功  能: 段码ADBLUE显示                                   
******************************************************************************/
void SEG_LCD_ADBLUE_Seg_Display(uint8_t SegNum);
/******************************************************************************
函数名:SEG_LCD_ADBLUE_Seg_Off    
功  能: 段码ADBLUE全关闭                                
******************************************************************************/
void SEG_LCD_ADBLUE_Seg_Off(void);

#endif