185 lines
7.4 KiB
Plaintext
185 lines
7.4 KiB
Plaintext
C51 COMPILER V9.01 LED 02/22/2025 15:36:21 PAGE 1
|
||
|
||
|
||
C51 COMPILER V9.01, COMPILATION OF MODULE LED
|
||
OBJECT MODULE PLACED IN .\output\Led.obj
|
||
COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_app\Led.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\output\MCUCore_Load.OR
|
||
-C) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730_lib\include;.\code_c
|
||
-lassb\iec60730_proc\Include;.\code_classb\config) DEBUG OBJECTEXTEND PRINT(.\output\Led.lst) OBJECT(.\output\Led.obj)
|
||
|
||
line level source
|
||
|
||
1 /********************************************************************************
|
||
2 Copyright (C), Sinowealth Electronic. Ltd.
|
||
3 Author: Sino
|
||
4 Version: V0.0
|
||
5 Date: 2020/04/26
|
||
6 History:
|
||
7 V2.0 2020/04/26 Preliminary
|
||
8 ********************************************************************************/
|
||
9 #include "Main.h"
|
||
10
|
||
11
|
||
12 BOOL bLedDisFlg; //LED显示标志
|
||
13 BOOL bLedDisBleFlg; //蓝牙开启时显示
|
||
14 U8 xdata ucLedTimeCnt;
|
||
15 U8 xdata ucLedChgFlickCnt;
|
||
16 U8 xdata ucLedBleFlickCnt;
|
||
17
|
||
18 /*************************************************************************************************
|
||
19 * 函数名: LedGetDisNum
|
||
20 * 参 数: Rsoc:剩余容量百分比
|
||
21 * 返回值: 无
|
||
22 * 描 述: 根据剩余容量百分比,计算当前显示的LED数
|
||
23 *************************************************************************************************/
|
||
24 U8 LedGetDisNum(U16 Rsoc)
|
||
25 {
|
||
26 1 if(Rsoc > 80)
|
||
27 1 {
|
||
28 2 return 5;
|
||
29 2 }
|
||
30 1 else if(Rsoc > 60)
|
||
31 1 {
|
||
32 2 return 4;
|
||
33 2 }
|
||
34 1 else if(Rsoc > 40)
|
||
35 1 {
|
||
36 2 return 3;
|
||
37 2 }
|
||
38 1 else if(Rsoc > 20)
|
||
39 1 {
|
||
40 2 return 2;
|
||
41 2 }
|
||
42 1 else if(Rsoc > 0)
|
||
43 1 {
|
||
44 2 return 1;
|
||
45 2 }
|
||
46 1 else
|
||
47 1 {
|
||
48 2 return 0;
|
||
49 2 }
|
||
50 1 }
|
||
51
|
||
52
|
||
53 /*************************************************************************************************
|
||
C51 COMPILER V9.01 LED 02/22/2025 15:36:21 PAGE 2
|
||
|
||
54 * 函数名: LedAutoOff
|
||
55 * 参 数: 无
|
||
56 * 返回值: 无
|
||
57 * 描 述: 按键显示LED持续5S后,关闭LED显示
|
||
58 *************************************************************************************************/
|
||
59 void LedAutoOff(void)
|
||
60 {
|
||
61 1 if(bLedDisFlg)
|
||
62 1 {
|
||
63 2 if(++ucLedTimeCnt >= 100) //100*50mS
|
||
64 2 {
|
||
65 3 ucLedTimeCnt = 0;
|
||
66 3 bLedDisFlg = 0;
|
||
67 3 }
|
||
68 2 }
|
||
69 1 }
|
||
70
|
||
71 /*************************************************************************************************
|
||
72 * 函数名: LedDisplay
|
||
73 * 参 数: 无
|
||
74 * 返回值: 无
|
||
75 * 描 述: 显示LED
|
||
76 充电时,充电LED指示灯以500mS周期闪烁
|
||
77 蓝牙开启时,蓝牙指示灯以250mS周期闪烁
|
||
78 显示容量时,LED开启5s后,自动熄灭
|
||
79 *************************************************************************************************/
|
||
80 void LedDisplay(void)
|
||
81 {
|
||
82 1 U8 LedDisNum;
|
||
83 1
|
||
84 1 if(bCHGING) //显示充电状态
|
||
85 1 {
|
||
86 2 if(++ucLedChgFlickCnt >= 10) //10*50mS
|
||
87 2 {
|
||
88 3 ucLedChgFlickCnt = 0;
|
||
89 3 IO_LED_CHARGE ^= 1;
|
||
90 3 }
|
||
91 2 }
|
||
92 1 else
|
||
93 1 {
|
||
94 2 IO_LED_CHARGE = 0;
|
||
95 2 }
|
||
96 1
|
||
97 1 if(bLedDisBleFlg) //显示蓝牙开启状态
|
||
98 1 {
|
||
99 2 if(++ucLedBleFlickCnt >= 5) //5*50mS
|
||
100 2 {
|
||
101 3 ucLedBleFlickCnt = 0;
|
||
102 3 // IO_LED_BLE ^= 1;
|
||
103 3 }
|
||
104 2 }
|
||
105 1 else
|
||
106 1 {
|
||
107 2 // IO_LED_BLE = 0;
|
||
108 2 }
|
||
109 1
|
||
110 1 if(bLedDisFlg) //显示容量信息
|
||
111 1 {
|
||
112 2 LedDisNum = LedGetDisNum(Info.uiRSOC);
|
||
113 2 if(LedDisNum == 0)
|
||
114 2 {
|
||
115 3 // LEDAllOff();
|
||
C51 COMPILER V9.01 LED 02/22/2025 15:36:21 PAGE 3
|
||
|
||
116 3 }
|
||
117 2 if(LedDisNum == 1)
|
||
118 2 {
|
||
119 3 // LED1On();
|
||
120 3 }
|
||
121 2 else if(LedDisNum == 2)
|
||
122 2 {
|
||
123 3 // LED1On();
|
||
124 3 LED2On();
|
||
125 3 }
|
||
126 2 else if(LedDisNum == 3)
|
||
127 2 {
|
||
128 3 // LED1On();
|
||
129 3 LED2On();
|
||
130 3 LED3On();
|
||
131 3 }
|
||
132 2 else if(LedDisNum == 4)
|
||
133 2 {
|
||
134 3 // LED1On();
|
||
135 3 LED2On();
|
||
136 3 LED3On();
|
||
137 3 LED4On();
|
||
138 3 }
|
||
139 2 else if(LedDisNum == 5)
|
||
140 2 {
|
||
141 3 // LEDAllOn();
|
||
142 3 }
|
||
143 2 }
|
||
144 1 else
|
||
145 1 {
|
||
146 2 // LEDAllOff();
|
||
147 2 }
|
||
148 1
|
||
149 1 LedAutoOff(); //定时5s关闭容量LED显示
|
||
150 1 }
|
||
151
|
||
152
|
||
153
|
||
154
|
||
155
|
||
|
||
|
||
MODULE INFORMATION: STATIC OVERLAYABLE
|
||
CODE SIZE = 174 ----
|
||
CONSTANT SIZE = ---- ----
|
||
XDATA SIZE = 3 ----
|
||
PDATA SIZE = ---- ----
|
||
DATA SIZE = ---- ----
|
||
IDATA SIZE = ---- ----
|
||
BIT SIZE = 2 ----
|
||
END OF MODULE INFORMATION.
|
||
|
||
|
||
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
|