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