📄 lcd.lst
字号:
C51 COMPILER V8.02 LCD 01/30/2008 15:09:49 PAGE 9
490 1 for(i=0;i<3;i++) HzDisp1216(i*2,0,hz_space,1);
491 1 for(i=0;i<3;i++) HzDisp1216(i*2,4,hz_space,1);
492 1
493 1 switch(machine_status)
494 1 {
495 2 //故障
496 2 case 0x30:disp_number = (disp_fault_number - 1);
497 2 //显示反白--故障数
498 2 HzDisp1216(0,2,hz_gu, 1);
499 2 HzDisp1216(2,2,hz_zhang,1);
500 2 HzDisp1216(4,2,hz_shu, 1);
501 2 //计算故障数量
502 2 a = fault_number/100;
503 2 b = (fault_number-a*100)/10;
504 2 c = fault_number%10;
505 2 //显示故障数量
506 2 Asc_Disp68(7,0, (asc_num+6*a),0);
507 2 Asc_Disp68(7,6, (asc_num+6*b),0);
508 2 Asc_Disp68(7,12,(asc_num+6*c),0);
509 2 //循环显示报警信息
510 2 for(i=0;i<2;i++)
511 2 {
512 3 //取显示信息在缓冲区的位置
513 3 temp_end_count=disp_number*8;
514 3 //取显示信息的区号,设备类型报警类型
515 3 temp_end_count++;
516 3 temp_qunumber = fault_infor[temp_end_count];
517 3 temp_end_count++;
518 3 temp_devicetype = fault_infor[temp_end_count];
519 3 temp_end_count++;
520 3 temp_alarmtype = fault_infor[temp_end_count];
521 3 temp_end_count++;
522 3 //显示报警时间
523 3 temp_timey = fault_infor[temp_end_count]; //读取报警报警的月
524 3 temp_end_count++;
525 3 temp_timer = fault_infor[temp_end_count]; //读取报警报警的日
526 3 temp_end_count++;
527 3 temp_times = fault_infor[temp_end_count]; //读取报警报警的小时
528 3 temp_end_count++;
529 3 temp_timef = fault_infor[temp_end_count]; //读取报警报警的分钟
530 3 temp_end_count++;
531 3 //在某个位置显示区号设备名称和报警时间
532 3 Disp_Qu_Device(temp_qunumber,temp_devicetype,i,temp_timey,temp_timer,temp_times,temp_t
-imef,temp_alarmtype);
533 3 if(disp_number == 0)break;
534 3 else
535 3 //计算下一条信息显示的位置
536 3 disp_number--;
537 3 }
538 2 break;
539 2 //停止
540 2 case 0x40:disp_number = (disp_stop_number - 1);
541 2 //显示反白停止数
542 2 HzDisp1216(0,2,hz_ting,1);
543 2 HzDisp1216(2,2,hz_zhi1,1);
544 2 HzDisp1216(4,2,hz_shu, 1);
545 2 //计算停止数量
546 2 a = stop_number/100;
547 2 b = (stop_number-a*100)/10;
548 2 c = stop_number%10;
549 2 //显示停止数量
550 2 Asc_Disp68(7,0,(asc_num+6*a),0);
C51 COMPILER V8.02 LCD 01/30/2008 15:09:49 PAGE 10
551 2 Asc_Disp68(7,6,(asc_num+6*b),0);
552 2 Asc_Disp68(7,12,(asc_num+6*c),0);
553 2 //循环显示报警信息
554 2 for(i = 0;i < 2;i++)
555 2 {
556 3 //取显示信息在缓冲区的位置
557 3 temp_end_count=disp_number*8;
558 3 //取显示信息的区号,设备类型报警类型
559 3 temp_end_count++;
560 3 temp_qunumber = stop_infor[temp_end_count];
561 3 temp_end_count++;
562 3 temp_devicetype = stop_infor[temp_end_count];
563 3 temp_end_count++;
564 3 temp_alarmtype = stop_infor[temp_end_count];
565 3 temp_end_count++;
566 3 //显示报警时间
567 3 temp_timey = stop_infor[temp_end_count]; //读取报警报警的月
568 3 temp_end_count++;
569 3 temp_timer = stop_infor[temp_end_count]; //读取报警报警的日
570 3 temp_end_count++;
571 3 temp_times = stop_infor[temp_end_count]; //读取报警报警的小时
572 3 temp_end_count++;
573 3 temp_timef = stop_infor[temp_end_count]; //读取报警报警的分钟
574 3 temp_end_count++;
575 3 //在某个位置显示区号设备名称和报警时间
576 3 Disp_Qu_Device(temp_qunumber,temp_devicetype,i,temp_timey,temp_timer,temp_times,temp_t
-imef,temp_alarmtype);
577 3 if(disp_number == 0)break;
578 3 else
579 3 //计算下一条信息显示的位置
580 3 disp_number--;
581 3 }
582 2 break;
583 2 //火警
584 2 case 0x50:disp_number = (disp_alarm_number - 1);
585 2 //显示反白火警数
586 2 HzDisp1216(0,2,hz_huo, 1);
587 2 HzDisp1216(2,2,hz_jing,1);
588 2 HzDisp1216(4,2,hz_shu, 1);
589 2 //计算火警数量
590 2 a = alarm_number/100;
591 2 b = (alarm_number-a*100)/10;
592 2 c = alarm_number%10;
593 2 //显示火警数量
594 2 Asc_Disp68(7,0,(asc_num+6*a),0);
595 2 Asc_Disp68(7,6,(asc_num+6*b),0);
596 2 Asc_Disp68(7,12,(asc_num+6*c),0);
597 2 //循环显示报警信息
598 2 for(i=0;i<2;i++)
599 2 {
600 3 //取显示信息在缓冲区的位置
601 3 temp_end_count=disp_number*8;
602 3 //取显示信息的区号,设备类型报警类型
603 3 temp_end_count++;
604 3 temp_qunumber = alarm_infor[temp_end_count];
605 3 temp_end_count++;
606 3 temp_devicetype = alarm_infor[temp_end_count];
607 3 temp_end_count++;
608 3 temp_alarmtype = alarm_infor[temp_end_count];
609 3 temp_end_count++;
610 3 //显示报警时间
611 3 temp_timey = alarm_infor[temp_end_count]; //读取报警报警的月
C51 COMPILER V8.02 LCD 01/30/2008 15:09:49 PAGE 11
612 3 temp_end_count++;
613 3 temp_timer = alarm_infor[temp_end_count]; //读取报警报警的日
614 3 temp_end_count++;
615 3 temp_times = alarm_infor[temp_end_count]; //读取报警报警的小时
616 3 temp_end_count++;
617 3 temp_timef = alarm_infor[temp_end_count]; //读取报警报警的分钟
618 3 temp_end_count++;
619 3 //在某个位置显示区号设备名称和报警时间
620 3 Disp_Qu_Device(temp_qunumber,temp_devicetype,i,temp_timey,temp_timer,temp_times,temp_t
-imef,temp_alarmtype);
621 3 if(disp_number == 0)break;
622 3 else
623 3 //计算下一条信息显示的位置
624 3 disp_number--;
625 3 }
626 2 break;
627 2 //反馈
628 2 case 0x60:disp_number = (disp_feedback_number - 1);
629 2 //显示反白反馈数
630 2 HzDisp1216(0,2,hz_fan,1);
631 2 HzDisp1216(2,2,hz_kui,1);
632 2 HzDisp1216(4,2,hz_shu,1);
633 2 //计算反馈数量
634 2 a = feedback_number/100;
635 2 b = (feedback_number-a*100)/10;
636 2 c = feedback_number%10;
637 2 //显示反馈数量
638 2 Asc_Disp68(7,0,(asc_num+6*a),0);
639 2 Asc_Disp68(7,6,(asc_num+6*b),0);
640 2 Asc_Disp68(7,12,(asc_num+6*c),0);
641 2 //循环显示报警信息
642 2 for(i = 0;i < 2;i++)
643 2 {
644 3 //取显示信息在缓冲区的位置
645 3 temp_end_count = disp_number*8;
646 3 //取显示信息的区号,设备类型报警类型
647 3 temp_end_count++;
648 3 temp_qunumber = feedback_infor[temp_end_count];
649 3 temp_end_count++;
650 3 temp_devicetype = feedback_infor[temp_end_count];
651 3 temp_end_count++;
652 3 temp_alarmtype = feedback_infor[temp_end_count];
653 3 temp_end_count++;
654 3 //显示报警时间
655 3 temp_timey = feedback_infor[temp_end_count]; //读取报警报警的月
656 3 temp_end_count++;
657 3 temp_timer = feedback_infor[temp_end_count]; //读取报警报警的日
658 3 temp_end_count++;
659 3 temp_times = feedback_infor[temp_end_count]; //读取报警报警的小时
660 3 temp_end_count++;
661 3 temp_timef = feedback_infor[temp_end_count]; //读取报警报警的分钟
662 3 temp_end_count++;
663 3 //在某个位置显示区号设备名称和报警时间
664 3 Disp_Qu_Device(temp_qunumber,temp_devicetype,i,temp_timey,temp_timer,temp_times,temp_t
-imef,temp_alarmtype);
665 3 if(disp_number == 0)break;
666 3 else
667 3 //计算下一条信息显示的位置
668 3 disp_number--;
669 3 }
670 2 break;
671 2 //总启动
C51 COMPILER V8.02 LCD 01/30/2008 15:09:49 PAGE 12
672 2 case 0x70:disp_number=(disp_start_number-1);
673 2 //显示反白启动数
674 2 HzDisp1216(0,2,hz_qi,1);
675 2 HzDisp1216(2,2,hz_dong,1);
676 2 HzDisp1216(4,2,hz_shu,1);
677 2 //计算启动数量
678 2 a=start_number/100;
679 2 b=(start_number-a*100)/10;
680 2 c=start_number%10;
681 2 //显示启动数量
682 2 Asc_Disp68(7,0,(asc_num+6*a),0);
683 2 Asc_Disp68(7,6,(asc_num+6*b),0);
684 2 Asc_Disp68(7,12,(asc_num+6*c),0);
685 2 //循环显示启动信息
686 2 for(i=0;i<2;i++)
687 2 {
688 3 //取显示信息在缓冲区的位置
689 3 temp_end_count=disp_number*8;
690 3 //取显示信息的区号,设备类型报警类型
691 3 temp_end_count++;
692 3 temp_qunumber=start_infor[temp_end_count];
693 3 temp_end_count++;
694 3 temp_devicetype=start_infor[temp_end_count];
695 3 temp_end_count++;
696 3 temp_alarmtype=start_infor[temp_end_count];
697 3 temp_end_count++;
698 3 //显示启动时间
699 3 temp_timey= start_infor[temp_end_count]; //读取报警报警的月
700 3 temp_end_count++;
701 3 temp_timer = start_infor[temp_end_count]; //读取报警报警的日
702 3 temp_end_count++;
703 3 temp_times = start_infor[temp_end_count]; //读取报警报警的小时
704 3 temp_end_count++;
705 3 temp_timef = start_infor[temp_end_count]; //读取报警报警的分钟
706 3 temp_end_count++;
707 3 //在某个位置显示区号设备名称和报警时间
708 3 Disp_Qu_Device(temp_qunumber,temp_devicetype,i,temp_timey,temp_timer,temp_times,temp_t
-imef,temp_alarmtype);
709 3 if(disp_number==0)break;
710 3 else
711 3 //计算下一条信息显示的位置
712 3 disp_number--;
713 3 }
714 2 break;
715 2 }
716 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 4384 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- 26
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- 4
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -