📄 lcddriver.lst
字号:
556 1 LCD_WByte(i,15,0xc0);
557 1
558 1 for(j=2;j<16;j++)
559 1 {
560 2 LCD_WByte(30,j,0xff);
561 2 LCD_WByte(31,j,0xff);
562 2 }
563 1 for(j=2;j<16;j++)
564 1 {
565 2 LCD_WByte(232,j,0xff);
566 2 LCD_WByte(233,j,0xff);
567 2 }
568 1
569 1 if(EN_ch1<=4&&EN_ch2<=4)
570 1 {
571 2 temp=1;
572 2 LCD_CAstr(4,5,"CH1",0,0);
573 2 LCD_CAstr(4,11,"CH2",0,0);
574 2 }
575 1 else if(EN_ch1<=4&&EN_ch2>4)
576 1 {
577 2 temp=1;
578 2 LCD_CAstr(4,8,"CH1",0,0);
579 2 }
580 1 else if(EN_ch1>4&&EN_ch2<=4)
581 1 {
582 2 temp=2;
583 2 LCD_CAstr(4,8,"CH2",0,0);
584 2 }
585 1 else if(EN_ch1>4&&EN_ch2>4)
586 1 {
587 2 temp=5;
588 2 LCD_CAstr(4,8,"N",0,0);
589 2 }
590 1 LCD_WaveData(temp,1);
591 1 LCD_CAstr(178,0,"暂停 X0",0,0);
592 1
593 1 EM_k1=1;
594 1 EM_k2=1;
595 1 EM_b1=70;
596 1 EM_b2=110;
597 1 EM_speed=4;
598 1
599 1 Em_PtData=0;
600 1 ExSramWrRdAdr=0;
601 1 ExSramTempAdr=0;
602 1 }
603 void LCD_Draw(uint8 i,uint8 y)
604 {
605 1 uint8 t;
606 1 if(y<24&&y>17)
607 1 {
608 2 switch(y)
609 2 {
610 3 case 18:t=7;break;
611 3 case 19:t=11;break;
612 3 case 20:t=19;break;
613 3 case 21:t=35;break;
C51 COMPILER V7.20 LCDDRIVER 01/31/2007 10:20:44 PAGE 11
614 3 case 22:t=67;break;
615 3 case 23:t=131;break;
616 3 default:break;
617 3 }
618 2 LCD_WByte(i+32,2,t);
619 2 }
620 1 else if(y<18)
621 1 LCD_WByte(i+32,2,0x07);
622 1 else if(y>119&&y<126)
623 1 {
624 2 switch(y)
625 2 {
626 3 case 120:t=0xc1;break;
627 3 case 121:t=0xc2;break;
628 3 case 122:t=0xc4;break;
629 3 case 123:t=0xc8;break;
630 3 case 124:t=0xd0;break;
631 3 case 125:t=0xe0;break;
632 3 default:break;
633 3 }
634 2 LCD_WByte(i+32,15,t);
635 2 }
636 1 else if(y>125)
637 1 LCD_WByte(i+32,15,0xe0);
638 1 else
639 1 LCD_WPoint(i+32,y,1);
640 1 }
641 void LCD_ShowWave(void)
642 {
643 1 uint8 i,j,y;
644 1
645 1 for(j=3;j<15;j++)
646 1 for(i=32;i<232;i++)LCD_WByte(i,j,0x00);
647 1 for(i=32;i<232;i++)LCD_WByte(i,2,0x03);
648 1 for(i=32;i<232;i++)LCD_WByte(i,15,0xc0);
649 1
650 1 for(i=0;i<200;i++)
651 1 {
652 2 if(EN_ch1<5)
653 2 {
654 3 y=EM_b1-(unsigned char)(EM_k1*CH1[199-i]);
655 3 LCD_Draw(i,y);
656 3 }
657 2 if(EN_ch2<5)
658 2 {
659 3 y=EM_b2-(unsigned char)(EM_k2*CH2[199-i]);
660 3 LCD_Draw(i,y);
661 3 }
662 2 }
663 1 }
664 void LCD_Wave(void)
665 {
666 1 switch(EN_ch1)
667 1 {
668 2 case 1:CH1[Em_PtData]=AD_DataBuff[2];
669 2 break;
670 2 case 2:CH1[Em_PtData]=AD_DataBuff[3];
671 2 break;
672 2 case 3:CH1[Em_PtData]=AD_DataBuff[0];
673 2 break;
674 2 case 4:CH1[Em_PtData]=AD_DataBuff[1];
675 2 break;
C51 COMPILER V7.20 LCDDRIVER 01/31/2007 10:20:44 PAGE 12
676 2 case 5:break;
677 2 default:break;
678 2 }
679 1 switch(EN_ch2)
680 1 {
681 2 case 1:CH2[Em_PtData]=AD_DataBuff[2];
682 2 break;
683 2 case 2:CH2[Em_PtData]=AD_DataBuff[3];
684 2 break;
685 2 case 3:CH2[Em_PtData]=AD_DataBuff[0];
686 2 break;
687 2 case 4:CH2[Em_PtData]=AD_DataBuff[1];
688 2 break;
689 2 case 5:break;
690 2 default:break;
691 2 }
692 1
693 1 Em_PtData++;
694 1 if(Em_PtData>199)
695 1 {
696 2 Em_PtData=0;
697 2 LCD_ShowWave();
698 2
699 2 if(EM_speed<4)
700 2 {
701 3 if(ExSramTempAdr > 199)
702 3 {
703 4 ExSramTempAdr -= 200;
704 4 }
705 3 else
706 3 {
707 4 ExSramTempAdr=65531;
708 4 ExSramWrRdPag--;
709 4 }
710 3 }
711 2 else if(EM_speed>3)
712 2 {
713 3 if(ExSramTempAdr < 65332)
714 3 {
715 4 ExSramTempAdr += 200;
716 4 }
717 3 else
718 3 {
719 4 ExSramTempAdr=0;
720 4 ExSramWrRdPag++;
721 4 }
722 3 }
723 2
724 2
725 2 ExSramWrRdAdr = ExSramTempAdr;
726 2 if(ExSramWrRdPag>ExSramEndPag||ExSramWrRdPag<ExSramStarPag)
727 2 {
728 3 ExSramWrRdPag=ExSramStarPag;
729 3 ExSramWrRdAdr=0;
730 3 LCD_ClearAll();
731 3 LCD_Coordinate();
732 3 hunt=72;
733 3 }
734 2 }
735 1 DisWave_En=1;
736 1
737 1 }
C51 COMPILER V7.20 LCDDRIVER 01/31/2007 10:20:44 PAGE 13
738 /******************************************************************************************/
739
740 void LCD_RunError(void)
741 {
742 1 uint8 i=4;
743 1
744 1
745 1 if(ErrorRege&0x0001)
746 1 {
747 2 LCD_CAstr(16,i,"缺相A",0,0);
748 2 i=i+2;
749 2 HisFlash(1);
750 2 if(EN_ErrorRec == 1 && Star_EN == 1)
751 2 RecType=3;
752 2 }
753 1 if(ErrorRege&0x0002)
754 1 {
755 2 LCD_CAstr(16,i,"缺相B",0,0);
756 2 i=i+2;
757 2 HisFlash(2);
758 2 if(EN_ErrorRec == 1 && Star_EN == 1)
759 2 RecType=3;
760 2 }
761 1 if(ErrorRege&0x0004)
762 1 {
763 2 LCD_CAstr(16,i,"缺相C",0,0);
764 2 i=i+2;
765 2 HisFlash(3);
766 2 if(EN_ErrorRec == 1 && Star_EN == 1)
767 2 RecType=3;
768 2 }
769 1 if(ErrorRege&0x0008)
770 1 {
771 2 LCD_CAstr(16,i,"投励失败",0,0);
772 2 i=i+2;
773 2 HisFlash(4);
774 2 if(EN_ErrorRec == 1 && Star_EN == 1)
775 2 RecType=4;
776 2 }
777 1 if(ErrorRege&0x0010)
778 1 {
779 2 LCD_CAstr(16,i,"失控",0,0);
780 2 i=i+2;
781 2 HisFlash(5);
782 2 if(EN_ErrorRec == 1 && Star_EN == 1)
783 2 RecType=5;
784 2 }
785 1 if(ErrorRege&0x0020)
786 1 {
787 2 LCD_CAstr(16,i,"失步",0,0);
788 2 i=i+2;
789 2 HisFlash(6);
790 2 if(EN_ErrorRec == 1 && Star_EN == 1)
791 2 RecType=6;
792 2 }
793 1 if(ErrorRege&0x0040)
794 1 {
795 2 LCD_CAstr(16,i,"失步再整步",0,0);
796 2 i=i+2;
797 2 HisFlash(7);
798 2 }
799 1 if(ErrorRege&0x0080)
C51 COMPILER V7.20 LCDDRIVER 01/31/2007 10:20:44 PAGE 14
800 1 {
801 2 LCD_CAstr(16,i,"再整步失败",0,0);
802 2 i=i+2;
803 2 HisFlash(8);
804 2 }
805 1 if(ErrorRege&0x0100)
806 1 {
807 2 LCD_CAstr(16,i,"遥调失败",0,0);
808 2 i=i+2;
809 2 HisFlash(9);
810 2 }
811 1 if(ErrorRege&0x0200)
812 1 {
813 2 LCD_CAstr(16,i,"通信失败",0,0);
814 2 i=i+2;
815 2 HisFlash(10);
816 2 }
817 1 if(ErrorRege&0x0400)
818 1 {
819 2 LCD_CAstr(16,i,"PT断线",0,0);
820 2 i=i+2;
821 2 HisFlash(11);
822 2 if(EN_ErrorRec == 1 && Star_EN == 1)
823 2 RecType=7;
824 2 }
825 1 if(ErrorRege&0x0800)
826 1 {
827 2 LCD_CAstr(16,i,"CT断线",0,0);
828 2 i=i+2;
829 2 HisFlash(12);
830 2 }
831 1 if(ErrorRege&0x1000)
832 1 {
833 2 LCD_CAstr(16,i,"切换失败",0,0);
834 2 i=i+2;
835 2 HisFlash(13);
836 2 }
837 1 if(ErrorRege&0x2000)
838 1 {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -