📄 mylib.lst
字号:
296 /* f_time is the trouble time to display */
297 /* hour and minute <=255(FFH) */
298 /* designed by xl.zhang */
299 /* Date 2007-3-28 */
300 /**************************************************/
301 void DispIC1(uchar Sx,struct fault_time f_time) //
302 {
303 1 uchar B_D;
C51 COMPILER V6.00i MYLIB 08/21/2007 12:22:11 PAGE 6
304 1 int j;
305 1 B_D = 0x0;
306 1 j = f_time.hour / 1000;
307 1 if(Sx == 0) //trouble in S1
308 1 LCD_WD1(B_D,*(IC1_TB+j)|0x10);
309 1 else
310 1 LCD_WD1(B_D,*(IC1_TB+j));
311 1 B_D += 2;
312 1 j = (f_time.hour % 1000)/100;
313 1 if(Sx == 1) //trouble in S2
314 1 LCD_WD1(B_D,*(IC1_TB+j)|0x10);
315 1 else
316 1 LCD_WD1(B_D,*(IC1_TB+j));
317 1 B_D += 2;
318 1 j = (f_time.hour % 100)/10;
319 1 if(Sx == 2) //trouble in S3
320 1 LCD_WD1(B_D,*(IC1_TB+j)|0x10);
321 1 else
322 1 LCD_WD1(B_D,*(IC1_TB+j));
323 1 B_D += 2;
324 1 j = f_time.hour % 10;
325 1 if(Sx == 3) //trouble in S4
326 1 LCD_WD1(B_D,*(IC1_TB+j)|0x10);
327 1 else
328 1 LCD_WD1(B_D,*(IC1_TB+j));
329 1 B_D += 2;
330 1 j = f_time.min / 10;
331 1 if(Sx == 4) //trouble in S5
332 1 LCD_WD1(B_D,*(IC1_TB+j)|0x10);
333 1 else
334 1 LCD_WD1(B_D,*(IC1_TB+j));
335 1 B_D += 2;
336 1 j = f_time.min % 10;
337 1 if(Sx == 5) //trouble in S6
338 1 LCD_WD1(B_D,*(IC1_TB+j)|0x10);
339 1 else
340 1 LCD_WD1(B_D,*(IC1_TB+j));
341 1 KickDog();
342 1 }
343 /*************************************************/
344 /* */
345 /* The function select the phrase A,B,C for the */
346 /* system,where Sx is the phrase to select */
347 /* Designed by xr.li */
348 /* Date 2007-3-22 */
349 /*************************************************/
350 void Phase_select(uchar Phase)
351 {
352 1 switch(Phase)
353 1 {
354 2 case Phase_A:
355 2 LCD_WD2(26,0x09);
356 2 break;
357 2 case Phase_B:
358 2 LCD_WD2(26,0x0A);
359 2 break;
360 2 case Phase_C:
361 2 LCD_WD2(26,0x0C);
362 2 break;
363 2 default:
364 2 break;
365 2 }
C51 COMPILER V6.00i MYLIB 08/21/2007 12:22:11 PAGE 7
366 1 }
367 /*************************************************/
368 /* */
369 /* The function initial the unchangable item in */
370 /* IC2 region */
371 /* Designed by xr.li ,modified by xl.zhang */
372 /* Date 2007-3-22 */
373 /*************************************************/
374 void Init_IC2(void)
375 {
376 1 LCD_WD2(0,0xFD); //display s15 and d8 = 0
377 1 LCD_WD2(2,0x80); //display s14
378 1 LCD_WD2(4,0x80); //display s13
379 1 LCD_WD2(6,0x80); //display s12
380 1 LCD_WD2(22,0x80); //display s17
381 1 LCD_WD2(24,0x80); //display s16
382 1 LCD_WD2(26,0x0F); //display s8,s9,s10 and s11
383 1 }
384 /*************************************************/
385 /* */
386 /* The function initial the unchangable item in */
387 /* IC1 region */
388 /* Designed by xl.zhang */
389 /* Date 2007-3-28 */
390 /*************************************************/
391 void Init_IC1(void)
392 {
393 1 LCD_WD1(0,0xEB); //display d1 = 0
394 1 LCD_WD1(2,0xEB); //display d2 = 0
395 1 LCD_WD1(4,0xEB); //display d3 = 0
396 1 LCD_WD1(6,0xEB); //display d4 = 0
397 1 LCD_WD1(8,0xEB); //display d5 = 0
398 1 LCD_WD1(10,0xEB); //display d6 = 0
399 1 LCD_WD1(12,0x01); //display s7
400 1 }
401
402 /*************************************************/
403 /* */
404 /* The function display the total number of */
405 /* trouble in D8 */
406 /* Designed by xl.zhang */
407 /* Date 2007-3-26 */
408 /*************************************************/
409 void TotalNumOfTrb(uchar Total_Num)
410 {
411 1 LCD_WD2(0,*(IC2_TB+Total_Num)|0x80); //同时显示S15
412 1 }
413 /*************************************************/
414 /* */
415 /* The function lighting the different bits */
416 /* in D8 */
417 /* Designed by Dr. Kat */
418 /* Date 2007-4-15 */
419 /* */
420 /*************************************************/
421 void LightingBits(uchar *time, uchar mask)
422 {
423 1 uchar i, j, val, k=2, msk;
424 1 msk = 0x40;
425 1 i = 20;
426 1 while(i>6)
427 1 {
C51 COMPILER V6.00i MYLIB 08/21/2007 12:22:11 PAGE 8
428 2 j = *(time+k)/10;
429 2 if(mask&msk) val = *(IC2_TB+j)|0x80;
430 2 else val = *(IC2_TB+j);
431 2 LCD_WD2(i, val);
432 2 j = *(time+k)%10;
433 2 msk>>=1;
434 2 i -= 2;
435 2 if(mask&msk) val = *(IC2_TB+j)|0x80;
436 2 else val = *(IC2_TB+j);
437 2 LCD_WD2(i, val);
438 2 k++;
439 2 i -= 2;
440 2 msk>>=1;
441 2 }
442 1 KickDog();
443 1 }
444 /*************************************************/
445 /* */
446 /* The function display each fault number */
447 /* in D8 */
448 /* Designed by xl.zhang */
449 /* Date 2007-4-12 */
450 /* */
451 /*************************************************/
452 /*void Disp_fault_num(uchar num,uchar *time)
453 {
454 // uint j;
455 switch(num)
456 {
457 case 0:
458 LightingBits(time, 0x7B); //0111 1011
459 break;
460 case 1:
461 LightingBits(time, 0x0A); //0000 1010
462 break;
463 case 2:
464 LightingBits(time, 0x37); //0011 0111
465 break;
466 case 3:
467 LightingBits(time, 0x1F); //0001 1111
468 break;
469 case 4:
470 LightingBits(time, 0x4E); //0100 1110
471 break;
472 case 5:
473 LightingBits(time, 0x5D); //0101 1101
474 break;
475 case 6:
476 LightingBits(time, 0x7D); //0111 1101
477 break;
478 case 7:
479 LightingBits(time, 0x0F); //0000 1111
480 break;
481 case 8:
482 LightingBits(time, 0x7F); //0111 1111
483 break;
484 case 9:
485 LightingBits(time, 0x5F); //0101 1111
486 break;
487 default:
488 break;
489 }
C51 COMPILER V6.00i MYLIB 08/21/2007 12:22:11 PAGE 9
490 }*/
491 /************************************************/
492 /* The function display year ,month ,date ,hour,*/
493 /* minute,second ,Sx represents start(S12) */
494 /* current(S13) ,stop(S14) */
495 /* Designed by xl.zhang */
496 /* Date 2007-3-28 */
497 /************************************************/
498 void DispIC2_time(uchar Sx,uchar *time)
499 {
500 1 uint j;
501 1 //display year
502 1 j = *time/10;
503 1 LCD_WD2(24,*(IC2_TB+j)|0x80); //display S16
504 1 j = *time%10;
505 1 LCD_WD2(22,*(IC2_TB+j)|0x80); //display S17
506 1
507 1 if(!ResetNum)
508 1 {
509 2 switch(IdNum)
510 2 {
511 3 case 0:
512 3 LightingBits(time, 0x7B); //0111 1011
513 3 break;
514 3 case 1:
515 3 LightingBits(time, 0x0A); //0000 1010
516 3 break;
517 3 case 2:
518 3 LightingBits(time, 0x37); //0011 0111
519 3 break;
520 3 case 3:
521 3 LightingBits(time, 0x1F); //0001 1111
522 3 break;
523 3 case 4:
524 3 LightingBits(time, 0x4E); //0100 1110
525 3 break;
526 3 case 5:
527 3 LightingBits(time, 0x5D); //0101 1101
528 3 break;
529 3 case 6:
530 3 LightingBits(time, 0x7D); //0111 1101
531 3 break;
532 3 case 7:
533 3 LightingBits(time, 0x0B); //0000 1011
534 3 break;
535 3 case 8:
536 3 LightingBits(time, 0x7F); //0111 1111
537 3 break;
538 3 case 9:
539 3 LightingBits(time, 0x5F); //0101 1111
540 3 break;
541 3 default:
542 3 break;
543 3 }
544 2 }
545 1 else
546 1 {
547 2 LightingBits(time, 0x7B); //0111 1011
548 2 }
549 1
550 1 /* if(DisUaNumFlag)
551 1 {
C51 COMPILER V6.00i MYLIB 08/21/2007 12:22:11 PAGE 10
552 1 Disp_fault_num(disnum[1],time);
553 1 }
554 1 else if(DisUbNumFlag)
555 1 {
556 1 Disp_fault_num(disnum[2],time);
557 1 }
558 1 else if(DisUcNumFlag)
559 1 {
560 1 Disp_fault_num(disnum[3],time);
561 1 }
562 1 else if(DisIaNumFlag)
563 1 {
564 1 Disp_fault_num(disnum[4],time);
565 1 }
566 1 else if(DisIcNumFlag)
567 1 {
568 1 Disp_fault_num(disnum[6],time);
569 1 }
570 1 else if(DisIpNumFlag)
571 1 {
572 1 Disp_fault_num(disnum[7],time);
573 1 }
574 1
575 1 else
576 1 {
577 1 //display month
578 1 LightingBits(time, 0x7B); //0111 1011
579 1 }*/
580 1
581 1
582 1 j = *(time+5)%10;
583 1 if(Sx == S12)
584 1 LCD_WD2(6,*(IC2_TB+j)|0x80); //display S12
585 1 else
586 1 LCD_WD2(6,*(IC2_TB+j)); //not display S12
587 1
588 1 //display second
589 1 j = *(time+6)/10;
590 1 if(Sx == S13)
591 1 LCD_WD2(4,*(IC2_TB+j)|0x80); //display S13
592 1 else
593 1 LCD_WD2(4,*(IC2_TB+j)); //not display S13
594 1 j = *(time+6)%10;
595 1 if(Sx == S14)
596 1 LCD_WD2(2,*(IC2_TB+j)|0x80); //display S14
597 1 else
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -