📄 board_type.lst
字号:
224 2 tx_buf[10] = '2';
225 2 }
226 1 else tx_buf[10] = '0';
227 1 tx_buf[11] = value + 0x30;
228 1 tx_buf[12] = '*';
229 1 tx_buf_pointer = 0;
230 1 while(tx_buf[tx_buf_pointer] != '*'){
231 2 SBUF = tx_buf[tx_buf_pointer];
232 2 while(tx_done == 0);
233 2 tx_done = 0;
234 2 tx_buf_pointer++;
235 2 }
236 1 SBUF = tx_buf[tx_buf_pointer]; //发送最后一个字符'*'
237 1 while(tx_done == 0);
238 1 tx_done = 0;
239 1 }
240
C51 COMPILER V7.50 BOARD_TYPE 03/10/2006 16:35:30 PAGE 5
241
242 unsigned char initializers_one_board(struct cmd_para_save *init_one_board){
243 1 //M01 MCP下发初始化某一单盘命令
244 1 unsigned char xdata btemp;
245 1 unsigned char xdata boardid;
246 1 unsigned char xdata return_value;
247 1
248 1 commandid = 0x00543931;
249 1 boardid = init_one_board -> single_board_reset;
250 1
251 1 switch (boardid){
252 2 case 1: P1 = 0x20;
253 2 btemp = XBYTE[0xA400];
254 2 P1 = 0xFF;
255 2 if (btemp == 0x51){
256 3 init_se0111(1);
257 3 start_flg[1] = 0;
258 3 return_value = 0;
259 3 }
260 2 else if (btemp == 0x57){
261 3 init_se0121(1);
262 3 start_flg_EOS[1] = 0;
263 3 return_value = 0;
264 3 }
265 2 else return_value = 2;
266 2 break;
267 2 case 2: P1 = 0x60;
268 2 btemp = XBYTE[0xA400];
269 2 P1 = 0xFF;
270 2 if (btemp == 0x51){
271 3 init_se0111(2);
272 3 start_flg[2] = 0;
273 3 return_value = 0;
274 3 }
275 2 else if (btemp == 0x57){
276 3 init_se0121(2);
277 3 start_flg_EOS[2] = 0;
278 3 return_value = 0;
279 3 }
280 2 else return_value = 2;
281 2 break;
282 2 case 3: P1 = 0x40;
283 2 btemp = XBYTE[0xA400];
284 2 P1 = 0xFF;
285 2 if (btemp == 0x51){
286 3 init_se0111(3);
287 3 start_flg[3] = 0;
288 3 return_value = 0;
289 3 }
290 2 else if (btemp == 0x57){
291 3 init_se0121(3);
292 3 start_flg_EOS[3] = 0;
293 3 return_value = 0;
294 3 }
295 2 else return_value = 2;
296 2 break;
297 2 case 4: P1 = 0x10;
298 2 btemp = XBYTE[0xB000];
299 2 P1 = 0xFF;
300 2 if (btemp == 0x55){
301 3 reset_f2rc7860();
302 3 f2_rc7820();
C51 COMPILER V7.50 BOARD_TYPE 03/10/2006 16:35:30 PAGE 6
303 3 f2rc7820_wr(F2Encrypt_reg,0xAA);
304 3 f2rc7820_wr(F2Intmask_reg,0xFF);
305 3
306 3 f2_rc7860();
307 3 f2rc7860_wr(F2Dxc_cntr,0xA0);
308 3 start_flg[0] = 0;
309 3 return_value = 0;
310 3 }
311 2 else return_value = 2;
312 2 break;
313 2 case 5: P1 = 0x50;
314 2 XBYTE[0xC400] = 0x01;
315 2 XBYTE[0xC400] = 0x00;
316 2 P1 = 0;
317 2 init_7820();
318 2 Encrypt_reg = 0xAA;
319 2 Intmask_reg = 0xFF;
320 2 S_reg = 0xC1; //set 7820 free run
321 2 //init 7860
322 2 P1 = 0x30;
323 2 XBYTE[0xC400] = 0x01;
324 2 XBYTE[0xC400] = 0x00;
325 2 P1 = 0;
326 2 init_7860();
327 2 Reg_protect = 0xAA;
328 2 Dxc_cntr = 0xA0;
329 2 return_value = 0;
330 2 break;
331 2 default:return_value = 2;
332 2 break;
333 2 }
334 1 if (!GetResRdyTbl(1))
335 1 SetResRdyTbl(1); //置响应事件列表相应位为1
336 1 return (return_value); //返回函数执行结果
337 1 }
338
339
340 unsigned char check_initializers(void){
341 1 //C80MCP查询MCU上电初始化状态
342 1 commandid = 0x00433830;
343 1 if (!GetResRdyTbl(1))
344 1 SetResRdyTbl(1); //置响应事件列表相应位为1
345 1 return (0); //返回函数执行结果
346 1 }
347
348 void initializers_board(void){
349 1 //C81初始化某一单盘函数
350 1 unsigned char xdata btemp;
351 1 unsigned char xdata temp;
352 1 unsigned char xdata temp1;
353 1
354 1 P1 = 0x20;
355 1 btemp = XBYTE[0xA400];
356 1 P1 = 0xFF;
357 1 if ((btemp != 0x51) & (board_type[1][1] == 2)){ //2M盘1不在则置位该盘初始化标志位为1
358 2 start_flg[1] = 1;
359 2 if (board_flg[1] == 0){ //2M盘1丢失
360 3 for (temp = 0; temp <= 20; temp++){
361 4 lparray2m[0][temp] = 0; //将2M盘的环回状态复原为无环回
362 4 EB_2M[0][temp] = 0; //将2M盘的性能值清0
363 4 REI_2M[0][temp] = 0;
364 4 REI_2M_15min[0][temp] = 0;
C51 COMPILER V7.50 BOARD_TYPE 03/10/2006 16:35:30 PAGE 7
365 4 PJC_2M[0][temp] = 0;
366 4 PJC_2M_15min[0][temp] = 0;
367 4 NJC_2M[0][temp] = 0;
368 4 NJC_2M_15min[0][temp] = 0;
369 4 timeslot_2M[0][temp] = 0;
370 4 }
371 3 hold_board[1] = 0;
372 3 board_flg[1] = 1;
373 3 if (!GetResRdyTbl(6))
374 3 SetResRdyTbl(6); //置响应事件列表相应位为1
375 3 }
376 2 }
377 1 else if((btemp != 0x57) & (board_type[1][1] == 3)){
378 2 start_flg_EOS[1] = 1;
379 2 if (board_flg[1] == 0){ //EOS盘1丢失
380 3 lparray_EOS[0] = 0;
381 3 hold_board[1] = 0;
382 3 board_flg[1] = 1;
383 3 if (!GetResRdyTbl(6))
384 3 SetResRdyTbl(6); //置响应事件列表相应位为1
385 3 }
386 2 }
387 1 if (btemp == 0x51 & start_flg[1]){
388 2 if (hold_board[1] != 0){ //一秒以后盘标志位表示该盘还在原位置
389 3 if (hold_board[1] == 1){ //该盘还未初始化,则进行初始化
390 4 init_se0111(1);
391 4 board_type[1][1] = 2;
392 4 hold_board[1] = 2; //表示该盘已经初始化完毕
393 4 start_flg[1] = 0; //
394 4 board_flg[1] = 0;
395 4 if (!GetResRdyTbl(2))
396 4 SetResRdyTbl(2); //置响应事件列表相应位为1
397 4 }
398 3 else hold_board[1] = 2;
399 3 }
400 2 else hold_board[1] = 1;
401 2 }
402 1 if (btemp == 0x57 & start_flg_EOS[1]){
403 2 if (hold_board[1] != 0){ //一秒以后盘标志位表示该盘还在原位置
404 3 if (hold_board[1] == 1){ //该盘还未初始化,则进行初始化
405 4 init_se0121(1);
406 4 board_type[1][1] = 3;
407 4 hold_board[1] = 2; //表示该盘已经初始化完毕
408 4 start_flg_EOS[1] = 0;
409 4 board_flg[1] = 0;
410 4 if (!GetResRdyTbl(2))
411 4 SetResRdyTbl(2); //置响应事件列表相应位为1
412 4 }
413 3 else hold_board[1] = 2;
414 3 }
415 2 else hold_board[1] = 1;
416 2 }
417 1
418 1 P1 = 0x60;
419 1 btemp = XBYTE[0xA400];
420 1 P1 = 0xFF;
421 1 if ((btemp != 0x51) & (board_type[2][1] == 2)){ //2M盘2不在则置位该盘初始化标志位为1
422 2 start_flg[2] = 1;
423 2 if (board_flg[2] == 0){
424 3 for (temp = 0; temp <= 20; temp++){
425 4 lparray2m[1][temp] = 0; //将2M盘的环回状态复原为无环回
426 4 EB_2M[1][temp] = 0; //将2M盘的性能值清0
C51 COMPILER V7.50 BOARD_TYPE 03/10/2006 16:35:30 PAGE 8
427 4 REI_2M[1][temp] = 0;
428 4 REI_2M_15min[1][temp] = 0;
429 4 PJC_2M[1][temp] = 0;
430 4 PJC_2M_15min[1][temp] = 0;
431 4 NJC_2M[1][temp] = 0;
432 4 NJC_2M_15min[1][temp] = 0;
433 4 timeslot_2M[1][temp] = 0;
434 4 }
435 3 hold_board[2] = 0;
436 3 board_flg[2] = 1;
437 3 if (!GetResRdyTbl(7))
438 3 SetResRdyTbl(7); //置响应事件列表相应位为1
439 3 }
440 2 }
441 1 else if((btemp != 0x57) & (board_type[2][1] == 3)){
442 2 start_flg_EOS[2] = 1;
443 2 if (board_flg[2] == 0){ //EOS盘1丢失
444 3 lparray_EOS[1] = 0;
445 3 hold_board[2] = 0;
446 3 board_flg[2] = 1;
447 3 if (!GetResRdyTbl(7))
448 3 SetResRdyTbl(7); //置响应事件列表相应位为1
449 3 }
450 2 }
451 1 if (btemp == 0x51 & start_flg[2]){
452 2 if (hold_board[2] != 0){ //一秒以后盘标志位表示该盘还在原位置
453 3 if (hold_board[2] == 1){ //该盘还未初始化,则进行初始化
454 4 init_se0111(2);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -