欢迎来到虫虫下载站 | 资源下载 资源专辑 关于我们
虫虫下载站

display.lst

完成数据的采集
LST
第 1 页 / 共 5 页
字号:
    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 + -