?? taskmain.lst
字號:
123 2 ModeTempCofing[8] = 7; //ReChargeTlow 充電低溫恢復限值 7 攝氏度
124 2 ModeTempCofing[9] = 43; //ReChargeThigh 充電高溫恢復限值 43 攝氏度
125 2 ModeTempCofing[10] = -8; //ReDisChargeTlow 放電低溫恢復限值 -8 攝氏度
126 2 ModeTempCofing[11] = 53; //ReDisChargeThigh放電高溫恢復限值 53 攝氏度
127 2 address = 0x2800;
128 2 EepSectotErase(address); //擦除第一扇區寫入默認值
129 2 for(i = 0;i < 9;i++)
130 2 {
131 3 EepWriteWord(ModeSysConfig[i],address);
132 3 address++;
133 3 address++;
134 3 }
135 2 address = 0x2A00;
136 2 EepSectotErase(address); //擦除第二扇區寫入默認值
137 2 for(i = 0;i < 12;i++)
138 2 {
139 3 EepWriteByte(ModeTempCofing[i],address);
140 3 address++;
141 3 }
142 2 EepSectotErase(0x2C00); //擦除第三扇區寫入默認值
143 2 EepWriteWord(CUK,0x2C00); //單體電池電壓采集系數
144 2 EepWriteWord(CTK,0x2C02); //單體電池溫度采集系數
145 2 EepWriteWord(OTK,0x2C04); //環境溫度系數
146 2
147 2 AlarmInitiate (); //初始化告警
148 2 Initiate_RS485(); //初始化485
149 2 Initiate_RS232(); //初始化232
150 2 soft_receive_enable(); // 模擬串口允許接收
151 2 COMEN = CommRxden; //RS485通訊允許接收
152 2 ChargeEn = ChargeEnable; //使能充電
153 2 DisChargeEn = DisChargeEnable; //使能放電
154 2 }
155 1 else if(EepReadByte(0x2E00) == 119)
156 1 {
157 2 P1M0 &= 0xFD; //將RS485通訊使能端設為推挽模式
158 2 P1M1 |= 0x02;
159 2 CUK = EepReadWord(0x2C00); //單體電池電壓采集系數
160 2 CTK = EepReadWord(0x2C02); //單體電池溫度采集系數
161 2 OTK = EepReadWord(0x2C04); //環境溫度系數
162 2 address = 0x2800;
163 2 for(i = 0;i < 8;i++)
164 2 {
165 3 ModeSysConfig[i] = EepReadWord(address);
166 3 address++;
167 3 address++;
168 3 }
169 2 ModeSysConfig[8] = ReadKey(); //BoardAddress讀取本機地址
170 2 address = 0x2A00;
171 2 for(i = 0;i < 12;i++)
172 2 {
173 3 ModeTempCofing[i] = EepReadByte(address);
174 3 address++;
175 3 }
176 2 AlarmInitiate (); //初始化告警
177 2 Initiate_RS485(); //初始化485
178 2 Initiate_RS232(); //初始化232
179 2 soft_receive_enable(); // 模擬串口允許接收
C51 COMPILER V7.06 TASKMAIN 10/30/2008 13:20:04 PAGE 4
180 2 COMEN = CommRxden; //RS485通訊允許接收
181 2 ChargeEn = ChargeEnable; //使能充電
182 2 DisChargeEn = DisChargeEnable; //使能放電
183 2 }
184 1 }
185 /**
186 ********************************************************************************************************
187 ** 名 稱: void Main (void)
188 ** 功 能:
189 ** 作 者: 李 偉
190 ** 日 期: 2008年12月09日
191 **------------------------------------------------------------------------------------------------------
192 ** 修改人:
193 ** 日 期:
194 **------------------------------------------------------------------------------------------------------
195 ********************************************************************************************************
196 **/
197 void main(void)
198 {
199 1 SystermInitiate();
200 1 while(1)
201 1 {
202 2 Voltage_Collect(); //采信各模擬量
203 2 //WorkMode = WorkModeJudge(); //判斷工作模式
204 2 ModeSysConfig[8] = ReadKey(); //BoardAddress
205 2 WorkMode = DisChargeStep;
206 2 if(WorkMode == ChargeStep) //充電管理
207 2 {
208 3 RunLed = 0; //充電時指示燈一直亮起,
209 3 SignalCellT(Temperature, 9,ChargeStep); //單只電池溫度告警查詢
210 3 SignalCellV(CellVoltage,15,ChargeStep); //單只電池溫度告警查詢
211 3 ChargeAndDisChargeEnable (ChargeStep); //放電使能查詢
212 3 }
213 2 if(WorkMode == DisChargeStep) //放電管理
214 2 {
215 3 RunLed = ~RunLed; //放電時指示燈閃爍/秒
216 3 SignalCellT(Temperature, 9,DisChargeStep); //單只電池溫度告警查詢
217 3 SignalCellV(CellVoltage,15,DisChargeStep); //單只電池電壓告警查詢
218 3 ChargeAndDisChargeEnable (DisChargeStep); //放電使能查詢
219 3 }
220 2 if(Rs232Massageflag == 1) //模擬串口通訊標志
221 2 {
222 3 Rs232Massageflag = 0;
223 3 soft_send_enable();
224 3 Rs232CommManage ();
225 3 soft_receive_enable();
226 3 }
227 2 if(Massageflag == 1) //RS485通訊標志
228 2 {
229 3 Massageflag = 0;
230 3 COMEN = CommTxden;
231 3 CommRs485Manage();
232 3 COMEN = CommRxden;
233 3 }
234 2 }
235 1 }
236 /********************************************************************************************************
237 End of file
238 ********************************************************************************************************/
MODULE INFORMATION: STATIC OVERLAYABLE
C51 COMPILER V7.06 TASKMAIN 10/30/2008 13:20:04 PAGE 5
CODE SIZE = 968 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 142 ----
PDATA SIZE = ---- ----
DATA SIZE = 30 6
IDATA SIZE = 63 ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -