display.lst
字号:
772 if(temp>=(100+30))a=49;
773 else a=32;
774 if(temp<30)a='-';
775 WriteASCIIChar(0x94,':',a,0);
776
777 if(temp<30)temp=30-temp;
778 else
779 {
780 if(temp>=130)temp-=130;
781 else temp-=30;
782 }
783
784 a=BCD(temp);
785 WriteOneChar(0x95,a,1);
786 WriteOneChar(0x96,'度',0);
787 }else
788 {
789 WriteASCIIChar(0x94,':',32,0);
790 WriteASCIIChar(0x95,'-','-',0);
791 WriteASCIIChar(0x96,'-','-',0);
792 }
793
794 a=WEEKCHAR[*(p+3)&7];
795 WriteOneChar(0x8b,'星',0);
796 WriteOneChar(0x8c,'期',0);
797 WriteOneChar(0x8d,a,0);
798 a=*(p+2);
799 WriteOneChar(0x9a,a&0x3f,1);
800 WriteOneChar(0x9b,'点',0);
801 a=*(p+1);
802 WriteOneChar(0x9c,a&0X7F,1);
803 WriteOneChar(0x9d,'分',0);
804
805 }
806 if(++*pos>=20)return 0;
807 }
808
809 ////////////////////////////////
810 //function: 找出21条历史报警
811 ////////////////////////////////
812
813 Int16U CHK_ALAMCREG(TIM *p,TIMNOTS *pos)
814 {
815 Int16U i,ii ,iii;
816 pos->Unit=0;
817 for(i=0;i<24;++i)
818 {
819 if(p->Flag[i]==C_TEST_ALA_HIS)
820 {
821 iii=++pos->Unit;
822 pos->Temperature[iii]=p->Tem[i];
823 pos->HOUR[iii]=p->HOUR[i];
824 pos->MIN[iii]=p->MIN[i];
825 pos->PLACE[iii]=i/2;
826
827 }
828 }
829 return 0;
830 }
831 ////////////////////////////////
832 void DISP_ALAMCREG(Int16U a,TIMNOTS *pos,Int16U c)
833 {
834 Int16U b;
835 b=pos->PLACE[a];
836 b=TAB_FAU_D[b];
837 WriteOneChar(c,b,0);
838 b=BCD(pos->Temperature[a]);
839 if(b>=0x100)WriteASCIIChar(c+2,32,'1',0);
840 else WriteASCIIChar(c+2,32,32,0);
841 WriteOneChar(c+3,b,1);
842 WriteOneChar(c+4,'度',0);
843
844 b=pos->HOUR[a]&0x3F;
845 b>>=4;
846 b=ASCII_TAB[b];
847 WriteASCIIChar(c+5,32,b,0);
848 b=pos->HOUR[a]&0x0f;
849 b=ASCII_TAB[b];
850 WriteASCIIChar(c+6,b,':',0);
851 WriteOneChar(c+7,(pos->MIN[a]&0X7F),1);
852 }
853 ////////////////////////////////
854 void CHK_DISP_MODE(Int16U m,Int8U *n)
855 {
856 m=m&0x0f;
857 if(m==0x0f)m=0;
858
859
860 if(*n==C_LCM_Mode0||*n==C_LCM_Mode4||*n==C_LCM_Mode5||*n==C_LCM_Mode6)
861 {
862 if(m&1)
863 {
864 ++*n;
865 if(*n!=(C_LCM_Mode0+1))*n=C_LCM_Mode7;
866 }
867 }
868 if(*n==C_LCM_Mode1||*n==C_LCM_Mode7||*n==C_LCM_Mode8||*n==C_LCM_Mode9)
869 {
870 if(m&2)
871 {
872 ++*n;
873 if(*n!=(C_LCM_Mode1+1))*n=C_LCM_Mode10;
874 }
875 }
876 if(*n==C_LCM_Mode2||*n==C_LCM_Mode10||*n==C_LCM_Mode11||*n==C_LCM_Mode12)
877 {
878 if(m&4)
879 {
880 ++*n;
881 if(*n!=(C_LCM_Mode2+1))*n=C_LCM_Mode13;
882 }
883 }
884 if(*n==C_LCM_Mode3||*n==C_LCM_Mode13||*n==C_LCM_Mode14||*n==C_LCM_Mode15)
885 {
886 if(m&8)*n=C_LCM_TEMRH;
887 }
888
889 }
890 ///////////////////////////////
891 void display(_LCD *D,_yt*Ddata,NOTS *His)
892 {
893 Int16U a,c,d;
894 static Int16U b;
895 D->Comp=100;
896
897 switch(D->Mode)
898 {
899 case C_LCM_ALA_REG0:
900
901 if(D->Timer!=0&&D->FLAG==0)
902 {
903 Display_mode_setion_ALAMC(D,ALAMCREG_History.Unit);
904 break;
905 }
906 D->FLAG=0;
907 LCMCmd(0x30);
908 LCMCmd(0x1);
909 if(ALAMCREG_History.Unit>=1)DISP_ALAMCREG(1,&ALAMCREG_History,0x90);
910 if(ALAMCREG_History.Unit>=2)DISP_ALAMCREG(2,&ALAMCREG_History,0x88);
911 if(ALAMCREG_History.Unit>=3)DISP_ALAMCREG(3,&ALAMCREG_History,0x98);
912 if(ALAMCREG_History.Unit==0)WriteChar(0x90,7,&NOTHISTORY_TAB[0]);
913 if(ALAMCREG_History.Unit!=0)WriteChar(0x80,8,&ALAHISTORY_TAB[0]);
914 Display_mode_setion_ALAMC(D,ALAMCREG_History.Unit);
915 break;
916 case C_LCM_ALA_REG1:
917 case C_LCM_ALA_REG2:
918 case C_LCM_ALA_REG3:
919 case C_LCM_ALA_REG4:
920 case C_LCM_ALA_REG5:
921 case C_LCM_ALA_REG6:
922 if(D->Timer!=0&&D->FLAG==0)
923 {
924 Display_mode_setion_ALAMC(D,ALAMCREG_History.Unit);
925 break;
926 }
927 D->FLAG=0;
928 LCMCmd(0x30);
929 LCMCmd(0x1);
930 a=D->Mode*3+1;
931 if(ALAMCREG_History.Unit>=a)DISP_ALAMCREG(a,&ALAMCREG_History,0x90);
932 if(ALAMCREG_History.Unit>=(a+1))DISP_ALAMCREG((a+1),&ALAMCREG_History,0x88);
933 if(ALAMCREG_History.Unit>=(a+2))DISP_ALAMCREG((a+2),&ALAMCREG_History,0x98);
934 if(ALAMCREG_History.Unit!=0)WriteChar(0x80,8,&ALAHISTORY_TAB[0]);
935 else WriteChar(0x90,7,&NOTHISTORY_TAB[0]);;
936 Display_mode_setion_ALAMC(D,ALAMCREG_History.Unit);
937 break;
938
939 case C_LCM_ALAMC:
940 if(D->Timer!=0&&D->FLAG==0)
941 {
942 Display_mode_setion(D,Ddata);
943 break;
944 }
945 D->FLAG=0;
946 LCMCmd(0x30);
947 LCMCmd(0x1);
948 display_Fault(Ddata->_AlamcOverTem,Ddata->_AlamcFastTem,Ddata->_AlamcRoomTem,
949 Ddata->_AlamcLowVol,Ddata->_AlamcFaultTem);
950 Display_mode_setion(D,Ddata);
951 break;
952 case C_LCM_TEMRH:
953 if(D->Timer==0&&D->FLAG!=0)
954 {
955
956 //LCMCmd(0x30);
957 //LCMCmd(0x1);
958 //LCMCmd(0x2);
959 His->B_DISP=1;
960 }
961 D->FLAG=0;
962 disp_Timer(&Year[0],Ddata->_A_Tembuf,Ddata->_A_RHbuf,&His->B_DISP,1);
963 Display_mode_setion(D,Ddata);
964 break;
965 case C_LCM_Mode3:
966 case C_LCM_Mode2:
967 case C_LCM_Mode1:
968 case C_LCM_Mode0:
969
970 case C_LCM_Mode0_1:
971 if(D->Timer!=0&&D->FLAG==0)
972 {
973 Disp_Table(&(Ddata->Sensor[D->Mode-C_LCM_Mode0].ATem),D->Timer,b);
974 Display_mode_setion(D,Ddata);
975 break;
976 }
977 D->FLAG=0;
978 LCMCmd(0x30);
979 LCMCmd(0x1);
980 //Disp_China_char(Ddata->Sensor[D->Mode-2].Type,0x80);
981 a=Ddata->Sensor[D->Mode-C_LCM_Mode0].Type*3;
982 WriteChar(0x80,3,&LCM_TYPE_TAB[a]);
983 WriteOneChar(0x83,'温',0);
984 WriteOneChar(0x84,'度',0);
985 WriteOneChar(0x86,'电',0);
986 WriteOneChar(0x87,'量',0);
987 a=D->Mode-(C_LCM_TEMRH+1);
988 if(D->Mode==C_LCM_Mode0_1)a=0;
989 else a=a*3+4;
990
991 a=1<<a;
992
993 b=0;
994 d=DISP_ABCD[D->Mode-C_LCM_TEMRH];
995
996 if((a&Ddata->_Channal)==0)
997 {
998 WriteASCIIChar(0X90,d,'A',0);
999 b=1;
1000 }
1001 a<<=1;
1002 if((a&Ddata->_Channal)==0)
1003 {
1004 if(b==1)c=0x88;
1005 else c=0x90;
1006 WriteASCIIChar(c,d,'B',0);
1007 b|=2;
1008 }
1009 a<<=1;
1010 if((a&Ddata->_Channal)==0)
1011 {
1012 if(b==1)c=0x88;
1013 else
1014 if(b==3)c=0x98;
1015 else
1016 if(b==2)c=0x88;
1017 else c=0x90;
1018 WriteASCIIChar(c,d,'C',0);
1019 b|=4;
1020 }
1021
1022 Disp_Table(&(Ddata->Sensor[D->Mode-C_LCM_Mode0].ATem),D->Timer,b);
1023 Display_mode_setion(D,Ddata);
1024 break;
1025 case C_LCM_Mode4:
1026 if(D->FLAG==0)
1027 {
1028 if(His->B_DISP==0)break;
1029 His->B_DISP=disp_Timer(&Year[0],Ddata->_A_Tembuf,Ddata->_A_RHbuf,&His->B_DISP,0);
1030 if(His->B_DISP!=0)break;
1031 }
1032 D->FLAG=0;
1033 His->B_DISP=0;
1034 if(Ddata->_Yorder>=18)Ddata->_Yorder=0;
1035 disp_line(His->SpaceCount,His->ATemper,Ddata->_Yorder,0);
1036
1037 break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -