📄 alm.lst
字号:
C51 COMPILER V7.06 ALM 10/30/2008 13:20:05 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE ALM
OBJECT MODULE PLACED IN ALM.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ALM.C OPTIMIZE(6,SPEED) BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include"include.h"
2
3 uint8 bdata AlarmET;
4 uint8 bdata AlarmVh0; //1~ 8只电池过压告警
5 uint8 bdata AlarmVh1; //9~15只电池过压告警
6 uint8 bdata AlarmVl0; //1~ 8只电池欠压告警
7 uint8 bdata AlarmVl1; //9~15只电池欠压告警
8 uint8 bdata AlarmScCTh; //1~15只电池充电过温
9 uint8 bdata AlarmScCTl; //1~15只电池充电欠温
10 uint8 bdata AlarmSDcTh; //1~15只电池放电过温
11 uint8 bdata AlarmSDcTl; //1~15只电池放电欠温
12 uint8 bdata TemperaSensor; //1~ 8路温度传感器失效
13 uint8 bdata VoltageSensor0; //电压传感器失效
14
15
16 sbit C_01_OV_Alarm = AlarmVh0^0; sbit C_09_OV_Alarm = AlarmVh1^0; //电池过压告警量
17 sbit C_02_OV_Alarm = AlarmVh0^1; sbit C_10_OV_Alarm = AlarmVh1^1;
18 sbit C_03_OV_Alarm = AlarmVh0^2; sbit C_11_OV_Alarm = AlarmVh1^2;
19 sbit C_04_OV_Alarm = AlarmVh0^3; sbit C_12_OV_Alarm = AlarmVh1^3;
20 sbit C_05_OV_Alarm = AlarmVh0^4; sbit C_13_OV_Alarm = AlarmVh1^4;
21 sbit C_06_OV_Alarm = AlarmVh0^5; sbit C_14_OV_Alarm = AlarmVh1^5;
22 sbit C_07_OV_Alarm = AlarmVh0^6; sbit C_15_OV_Alarm = AlarmVh1^6;
23 sbit C_08_OV_Alarm = AlarmVh0^7; sbit C_TV_OV_Alarm = AlarmVh1^7; //总电压过压
24
25 sbit C_01_UV_Alarm = AlarmVl0^0; sbit C_09_UV_Alarm = AlarmVl1^0; //电池欠压告警量
26 sbit C_02_UV_Alarm = AlarmVl0^1; sbit C_10_UV_Alarm = AlarmVl1^1;
27 sbit C_03_UV_Alarm = AlarmVl0^2; sbit C_11_UV_Alarm = AlarmVl1^2;
28 sbit C_04_UV_Alarm = AlarmVl0^3; sbit C_12_UV_Alarm = AlarmVl1^3;
29 sbit C_05_UV_Alarm = AlarmVl0^4; sbit C_13_UV_Alarm = AlarmVl1^4;
30 sbit C_06_UV_Alarm = AlarmVl0^5; sbit C_14_UV_Alarm = AlarmVl1^5;
31 sbit C_07_UV_Alarm = AlarmVl0^6; sbit C_15_UV_Alarm = AlarmVl1^6;
32 sbit C_08_UV_Alarm = AlarmVl0^7; sbit C_TV_UV_Alarm = AlarmVl1^7; //总电压欠压
33
34 sbit C_01_02_C_OT = AlarmScCTh^0; sbit C_01_02_C_UT = AlarmScCTl^0;//充电过欠温告警量
35 sbit C_03_04_C_OT = AlarmScCTh^1; sbit C_03_04_C_UT = AlarmScCTl^1;
36 sbit C_05_06_C_OT = AlarmScCTh^2; sbit C_05_06_C_UT = AlarmScCTl^2;
37 sbit C_07_08_C_OT = AlarmScCTh^3; sbit C_07_08_C_UT = AlarmScCTl^3;
38 sbit C_09_10_C_OT = AlarmScCTh^4; sbit C_09_10_C_UT = AlarmScCTl^4;
39 sbit C_11_12_C_OT = AlarmScCTh^5; sbit C_11_12_C_UT = AlarmScCTl^5;
40 sbit C_13_14_C_OT = AlarmScCTh^6; sbit C_13_14_C_UT = AlarmScCTl^6;
41 sbit C_15_15_C_OT = AlarmScCTh^7; sbit C_15_15_C_UT = AlarmScCTl^7;
42
43 sbit C_01_02_Dc_OT = AlarmSDcTh^0; sbit C_01_02_Dc_UT = AlarmSDcTl^0;//放电过欠温告警
44 sbit C_03_04_Dc_OT = AlarmSDcTh^1; sbit C_03_04_Dc_UT = AlarmSDcTl^1;
45 sbit C_05_06_Dc_OT = AlarmSDcTh^2; sbit C_05_06_Dc_UT = AlarmSDcTl^2;
46 sbit C_07_08_Dc_OT = AlarmSDcTh^3; sbit C_07_08_Dc_UT = AlarmSDcTl^3;
47 sbit C_09_10_Dc_OT = AlarmSDcTh^4; sbit C_09_10_Dc_UT = AlarmSDcTl^4;
48 sbit C_11_12_Dc_OT = AlarmSDcTh^5; sbit C_11_12_Dc_UT = AlarmSDcTl^5;
49 sbit C_13_14_Dc_OT = AlarmSDcTh^6; sbit C_13_14_Dc_UT = AlarmSDcTl^6;
50 sbit C_15_15_Dc_OT = AlarmSDcTh^7; sbit C_15_15_Dc_UT = AlarmSDcTl^7;
51
52 sbit TSensor_01_Bro = TemperaSensor^0; sbit TSensor_05_Bro = TemperaSensor^4; //温度感器失效
53 sbit TSensor_02_Bro = TemperaSensor^1; sbit TSensor_06_Bro = TemperaSensor^5;
54 sbit TSensor_03_Bro = TemperaSensor^2; sbit TSensor_07_Bro = TemperaSensor^6;
55 sbit TSensor_04_Bro = TemperaSensor^3; sbit TSensor_08_Bro = TemperaSensor^7;
C51 COMPILER V7.06 ALM 10/30/2008 13:20:05 PAGE 2
56
57 sbit VSensorBroken = VoltageSensor0^0; //电压传感器失效
58
59 /*******************************************************************
60 AlarmET告警位说明
61 *******************************************************************/
62 /* --------------------------------------------------------------
63 | bit7 | bit6 | bit5 | bit4 | bit3 | bit2 | bit1 | bit0 | |
64 --------------------------------------------------------------
65 | ETSB | CSB | PDOC | PCOC | ENUT| EVOT | PDOT | PCOT | |
66 --------------------------------------------------------------*/
67 sbit Pack_C_OT_Alarm = AlarmET^0; //电池组充电过温
68 sbit Pack_D_OT_Alarm = AlarmET^1; //电池组放电过温
69 sbit Envi_OT_Alarm = AlarmET^2; //环境温度过温
70 sbit Envi_UT_Alarm = AlarmET^3; //环境温度欠温
71 sbit Pack_C_OC_Alarm = AlarmET^4; //电池组充电过流
72 sbit Pack_D_OC_Alarm = AlarmET^5; //电池组放电过流
73 sbit CurrentSensorBr = AlarmET^6; //电流传感器失效
74 sbit EnviTemSensorBr = AlarmET^7; //环境温度传感器失效
75
76 /*********************************************************************************************************
77 ** 函数名称: void AlarmInitiate(void)
78 ** 功能描述: 告警初始化
79 ** 输 入: 无
80 ** 输 出: 无
81 ** 全局变量:
82 ** 调用模块:
83 **
84 ** 作 者: 李伟
85 ** 日 期: 2008年12月15日
86 **-------------------------------------------------------------------------------------------------------
87 ** 修 改 人:
88 ** 日 期:
89 **-------------------------------------------------------------------------------------------------------
90 ********************************************************************************************************/
91 void AlarmInitiate(void)
92 {
93 1 AlarmET = 0;
94 1 AlarmVh0 = 0; //1~ 8只电池过压告警
95 1 AlarmVh1 = 0; //9~15只电池过压告警
96 1 AlarmVl0 = 0; //1~ 8只电池欠压告警
97 1 AlarmVl1 = 0; //9~15只电池欠压告警
98 1 AlarmScCTh = 0; //1~15只电池充电过温
99 1 AlarmScCTl = 0; //1~15只电池充电欠温
100 1 AlarmSDcTh = 0; //1~15只电池放电过温
101 1 AlarmSDcTl = 0; //1~15只电池放电欠温
102 1 }
103 /*********************************************************************************************************
104 ** 函数名称: void SignalCellT(uint8 *Buf,uint8 width,uint8 WorkMode)
105 ** 功能描述:
106 ** 输 入: 无
107 ** 输 出: 无
108 ** 全局变量:
109 ** 调用模块:
110 **
111 ** 作 者: 李伟
112 ** 日 期: 2008年12月15日
113 **-------------------------------------------------------------------------------------------------------
114 ** 修 改 人:
115 ** 日 期:
116 **-------------------------------------------------------------------------------------------------------
117 ********************************************************************************************************/
C51 COMPILER V7.06 ALM 10/30/2008 13:20:05 PAGE 3
118 void SignalCellT(uint8 *Buf,uint8 width,uint8 WorkMode)
119 {
120 1 uint8 i;
121 1 uint8 *buf;
122 1 buf = Buf;
123 1 for(i = 0;i < width;i++)
124 1 {
125 2 if(WorkMode == ChargeStep)
126 2 {
127 3 if(buf[i] > ModeTempCofing[1]) //45摄氏度ChargeThigh
128 3 {
129 4 if(i == 0)C_01_02_C_OT = 1; //产生充电过温告警
130 4 if(i == 1)C_03_04_C_OT = 1;
131 4 if(i == 2)C_05_06_C_OT = 1;
132 4 if(i == 3)C_07_08_C_OT = 1;
133 4 if(i == 4)C_09_10_C_OT = 1;
134 4 if(i == 5)C_11_12_C_OT = 1;
135 4 if(i == 6)C_13_14_C_OT = 1;
136 4 if(i == 7)C_15_15_C_OT = 1;
137 4 }
138 3 else if(buf[i] < ModeTempCofing[9]) //43摄氏度ReChargeThigh
139 3 {
140 4 if(i == 0)C_01_02_C_OT = 0; //消除充电过温告警
141 4 if(i == 1)C_03_04_C_OT = 0;
142 4 if(i == 2)C_05_06_C_OT = 0;
143 4 if(i == 3)C_07_08_C_OT = 0;
144 4 if(i == 4)C_09_10_C_OT = 0;
145 4 if(i == 5)C_11_12_C_OT = 0;
146 4 if(i == 6)C_13_14_C_OT = 0;
147 4 if(i == 7)C_15_15_C_OT = 0;
148 4 }
149 3 if(buf[i] < ModeTempCofing[0]) //5摄氏度ChargeTlow
150 3 {
151 4 if(i == 0)C_01_02_C_UT = 1; //产生充电欠温告警
152 4 if(i == 1)C_03_04_C_UT = 1;
153 4 if(i == 2)C_05_06_C_UT = 1;
154 4 if(i == 3)C_07_08_C_UT = 1;
155 4 if(i == 4)C_09_10_C_UT = 1;
156 4 if(i == 5)C_11_12_C_UT = 1;
157 4 if(i == 6)C_13_14_C_UT = 1;
158 4 if(i == 7)C_15_15_C_UT = 1;
159 4 }
160 3 else if(buf[i] > ModeTempCofing[8]) //7摄氏度ReChargeTlow
161 3 {
162 4 if(i == 0)C_01_02_C_UT = 0;//消除充电欠温告警
163 4 if(i == 1)C_03_04_C_UT = 0;
164 4 if(i == 2)C_05_06_C_UT = 0;
165 4 if(i == 3)C_07_08_C_UT = 0;
166 4 if(i == 4)C_09_10_C_UT = 0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -