⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd.h

📁 Fujitsu MB89P475的应用实例
💻 H
📖 第 1 页 / 共 3 页
字号:
			j=DisplayDataOrder;
			i=j/16;
			Seg10_Seg11.byte=TableData1[i];         //取出高字节存入低字节
			i=j & 0x0f;
			Seg12_Seg13.byte=TableData1[i];         //取出高字节存入低字节
			return;
		}
	else if (i==DisOutFre)
		{//---------------------------------------->显示频率时
			j=ForceFrequency;//-------------->是强制运行显示强制频率
		}
	else if (i==DisOutValve)	
		{
			if (ForceRunFlag)			
				{//室外阀开度低字节
					j=OutValve/100;
					j=OutValve-j*100;
				}
			else
				{
				   Dobule=makeword(OutValveOpenH,OutValveOpenL);
					j=Dobule/100;
					j=Dobule-j*100;
				}
		}		
	else if (i==DisInValve)
		{//---------------------------------------->
			j=ValveOpenL;//-------------->是室内阀开度低位(十进制)
		}
	else if (i==DisTimerOn)
		{//---------------------------------------->显示定时开机时间 十、个位
			j=TimerOnL; 
		}
	else if (i==DisTimerOff)
		{//---------------------------------------->显示定时关机时间 十、个位
			j=TimerOffL;//-------------->
		}
	else if (i==DisError)
		{//---------------------------------------->显示室外机故障和限频
			if (ErrCode)
				{j=ErrCode;}//有故障显示故障
			else
				{j=0;}
//				{j=LimitFre;}//有限频显示限频因数	
		}
	else if (KeyEnModiInNumberFlag)
		{j=IndoorMacNumBuff;}	//修改机器编号
	else
		{
			if (Mode == HeartMode)
				{j=SetHeartTemp;}
			else
				{j=SetCoolTemp;}
			j += 16;	
			SetTempWord=1;
			TempSymbol2=1;
		}//----------------------------->显示频率以外的数据是显示设定温度		
	i=j/10;
	Seg10_Seg11.byte=TableData1[i];         //取出高字节存入低字节
	Seg12_Seg13.byte=TableData1[j-i*10];         //取出高字节存入低字节
}

//=================================================
//=============室内温度处理程序=====================
//=================================================
Lcd_InDoorTemp()
{
	WDTC.byte=0x05;
	TempSymbol1=0;
	i=DisplayMode & 0xf0;
	if (i==DisNatural)	//----------------------------------------->显示室内温度
		{
			j=InRoomTemp;
			TempSymbol1=1;
			Lcd_InDoorTemp_Dec();//------------------------>室内温度十进制温度显示
			if (TempErrorFlag)
				{//集控器传感器故障时闪烁
					if (f500mSFlashFlag)
						{TempSymbol1 = 1;}
					else
						{TempSymbol1 = 0;}	 		
					Seg1C_Seg1D.byte &=0X08;					//室温十位清零
					Seg1A_Seg1B.byte &=0X08;
				}
			return;
		}
	else if (i==DisMacNumber)	
		{
			j=DisplayMachineOrder+1;
			Lcd_InDoorTemp_Dec();
			return;
		}//------------------>显示当前控制的机器号
	else if (i==DisPrimary)	//--------------------------------->显示外部常用参数
			k=DisplayMode & 0x0f;
			if (k==0)//--------------->显示外环境温度   1
				{j=AIR_T;}
			if (k==1)//--------------->显示热交A温度	2
				{j=HEAT_T_A;}
			if (k==2)//--------------->显示吸气温度		4
				{j=Suck_T;}
			if (k==3)//--------------->显示排气温度		5
				{j=DISCHARGE_T;}
			if (k==4)//--------------->显示开机数目		6
				{j=UNITS;}
			if (k==5)//--------------->显示外机风速		7
				{j=OutFanMotorSpeed;}
			if (k==6)//--------------->显示吸气压力		8
				{j=PressureIn;}
			if (k==7)//--------------->显示排气压力		9
				{j=PressureOut;}
			if (k==8)//--------------->显示外部频率		10
				{j=TargetFrequency;}
			if (k==9)//-------------->显示外部故障		11
				{j=ErrCode;}
			if (k==10)//-------------->显示限频因数		12
				{j=LimitFre;}
	else if (i==DisLineControl)	//--------------------------------->线控器时显示的参数
			k=DisplayMode & 0x0f;
			if (k==0)//--------------->显示室内故障   	1
				{j=InError[DisplayMachineOrder];}
			if (k==1)//--------------->显示室外故障	  	2
				{j=ErrCode;}
			if (k==2)//--------------->显示运行频率		3
				{j=TargetFrequency;}
			if (k==3)//--------------->显示室内温度		4
				{j=InInAirTemp;}
			if (k==4)//--------------->室内出风温度		5
				{j=InOutAirTemp;}
			if (k==5)//--------------->室内进管温度		6
				{j=InInExchangeTemp;}
			if (k==6)//--------------->室内出管温度		7
				{j=InOutExchangeTemp;}
			if (k==7)//--------------->显示外环境温度	8
				{j=AIR_T;}
			if (k==8)//--------------->显示热交温度		9 
				{j=HEAT_T_A;}
			if (k==9)//--------------->显示排气温度		10
				{j=DISCHARGE_T;}
			if (k==10)//-------------->室外高压			11
				{j=HpMPa_H;}
			if (k==11)//-------------->室外低压			12
				{j=HpMPa_L;}
			if (k==12)//-------------->室外电流			13
				{j=OutCurrent;}
			if (k==13)//-------------->室外电子阀状态	14
				{j=OutValveOpenH;}
	else if (i==DisAltitude)	//--------------------------------->显示外部综合数据
		{//室外数据根据设定温度区的数选择要显示的数据,设定区是9*9矩阵
			i=hibyte(DisplayDataOrder);//----------------->取高字节
			k=lobyte(DisplayDataOrder);//----------------->取低字节
			j=ReceivecUart2[i][k];//---------------------->i是高字节,k是低字节
		}	
	else if (i==DisOutFre)	//-------------------------------->显示压缩机实际频率
		{
			j=TargetFrequency;
			Lcd_InDoorTemp_Dec();
			return;	
		}
	else if (i==DisOutValve)	
		{
			if (ForceRunFlag)			
				{j=OutValve/100;}//室外阀开度高字节
			else
				{   Dobule=makeword(OutValveOpenH,OutValveOpenL);
					j=Dobule/100;
				}
			Lcd_InDoorTemp_Dec();
			return;	
		}
	else if (i==DisInValve)	//-------------------------------->显示室内机阀开度高位(十进制)
		{
			j=ValveOpenH;
			Lcd_InDoorTemp_Dec();
			return;
		}
	else if (i==DisTimerOn)
		{//---------------------------------------->显示定时开机时间 十、个位
			j=TimerOnH;
			Lcd_InDoorTemp_Dec();
			return;
		}
	else if (i==DisTimerOff)
		{//---------------------------------------->显示定时关机时间 十、个位
			j=TimerOffH;
			Lcd_InDoorTemp_Dec();
			return;
		}
	else if (i==DisError)
		{//---------------------------------------->显示当前室内机故障
			j=InError[DisplayMachineOrder];
			Lcd_InDoorTemp_Dec();
			return;
		}	
	Lcd_InDoorTemp_Hex();
}

Lcd_InDoorTemp_Dec()
{
	i =j/10;
	if (i==0)
		{SegC_SegD.byte=0;}
	else
		{SegC_SegD.byte=TableData1[i];}
	SegE_SegF.byte&=0x80;
	SegE_SegF.byte|=TableData1[j-i*10];         //取出高字节存入低字节
}






Lcd_InDoorTemp_Hex()
{
	i=j/16;
	SegC_SegD.byte=TableData1[i];

	i=j & 0x0f;

	SegE_SegF.byte&=0x80;
	SegE_SegF.byte|=TableData1[i];         //取出高字节存入低字节
}
//=================================================
//=================================================
//=============LCD复位后要显示的数据================
//=================================================
Lcd_LoadOffData()
{
	if	(AllMacOn_Off.word==0xffff)
		{//如果没有开机,处理
			if  (!RemoteOnFlag)
				{//没有遥控器操作,处理
					if  (LcdAllLightFlag)
						{//0.5秒后应该显示的数据
							Lcd_KeyOffDis();
						}
				}		
		}	
}
//=================================================
Lcd_ClearUp_Down()
{
	if (LcdClear3sFlag)
		{//3秒到清除温度上下限图标
			SetTempUp=0;
			SetTempDown=0;
			RemoteOnFlag=0;
			HaveDisposeTimerOnKeyFlag=0;
			HaveDisposeTimerOffKeyFlag=0;
			DisModeSavedFlag=0;
			DisplayMode=DisplayModeTemporary;
			LcdDisModeSavedFlag=0;
			KeyEnModiInNumberFlag=0;
			if (RemoterOnKeyFlag) return;		//如果有开关机键操作,且处于开机状态,3秒钟到不清屏
			if	(AllMacOn_Off.word==0xffff)
				{LcdOffDisposeFlag=false;}
		}
}


Lcd_KeyOffDis()
{
	if (HaveTimerOnFlag || RemoterOnKeyFlag) return;
	point= &Seg0_Seg1.byte;
	for (i=0;i<16;i++)
		{*point++ =0;}
}
//*****************暂时无用程序********************
//=================================================
//=============风速处理程序========================
//=================================================
Lcd_FanSpeed()
{
	WDTC.byte=0x05;
	FanAxixWordIcon=0;
	FanAxixIcon0=1;
	
	i=FanSpeed;
	
	if (i==8)	
		{
			FanAxixWordIcon=1;
			SegA_SegB.byte &=0xf0;
			SegA_SegB.byte |=0x0f;
			return;
		}
	else if (i==1)	
		{FanSpeedComp=50;}
	else if (i==2)	
		{FanSpeedComp=30;}
	else 	
		{FanSpeedComp=15;}

	if	(LCDChangeSpeedFlag)	
		{
			LCDChangeSpeedFlag=false;
//			if (i==4)
			FanSpeed1();
//				{FanSpeed1();}
//			else
//				{FanSpeed1();}	
		}

}

FanSpeed2()
{
	if (FanVaneIcon3==0)
		{FanVaneIcon1=0;FanVaneIcon2=1;FanVaneIcon3=1;}
	else if (FanVaneIcon1==0)
		{FanVaneIcon1=1;FanVaneIcon2=0;FanVaneIcon3=1;}
	else if (FanVaneIcon2==0)
		{FanVaneIcon1=1;FanVaneIcon2=1;FanVaneIcon3=0;}
	else
		{FanVaneIcon1=1;FanVaneIcon2=1;FanVaneIcon3=0;}	
}


FanSpeed1()
{
	if (FanVaneIcon1)
		{FanVaneIcon1=false;FanVaneIcon2=true;}
	else if (FanVaneIcon2)
		{FanVaneIcon2=false;FanVaneIcon3=true;}
	else if (FanVaneIcon3)
		{FanVaneIcon1=true;FanVaneIcon3=false;}
	else
		{FanVaneIcon1=true;FanVaneIcon2=false;FanVaneIcon3=false;}	
}





//=================================================
//=============风门处理程序=========================
//=================================================
Lcd_FanDoor()
{
	WDTC.byte=0x05;
	InductDoor1=true;
	i=FanDoor;
	if  (i==0)
		{Seg8_Seg9.byte=0xbb;}
	else if	(i==7)
		{
			Seg8_Seg9.byte&=0x88;
			InductDoor2=true;			
		}
	else if	(i==6)
		{
			Seg8_Seg9.byte&=0x88;
			InductDoor3=true;			
		}
	else if	(i==5)
		{
			Seg8_Seg9.byte&=0x88;
			InductDoor4=true;			
		}
	else if	(i==4)
		{
			Seg8_Seg9.byte&=0x88;
			InductDoor5=true;			
		}
	else if	(i==3)
		{
			Seg8_Seg9.byte&=0x88;
			InductDoor6=true;			
		}
	else if	(i==2)
		{
			Seg8_Seg9.byte&=0x88;
			InductDoor7=true;			
		}
	else
		{
			if	(LcdFanDoorFlag)
				{
					WDTC.byte=0x05;
					LcdFanDoorFlag=false;
					if	(InductDoor2)					
						{Seg8_Seg9.byte&=0xC8;InductDoor2=false;InductDoor3=true;LcdFanDoorAspectFlag=false;}
					else if	(InductDoor3)					
						{	
							Seg8_Seg9.byte&=0xC8;
							if (LcdFanDoorAspectFlag)
								{InductDoor3=false;InductDoor2=true;}
							else
								{InductDoor3=false;InductDoor4=true;}	
						}		
					else if (InductDoor4)	
						{
							Seg8_Seg9.byte&=0xC8;
							if (LcdFanDoorAspectFlag)
								{InductDoor4=false;InductDoor3=true;}
							else
								{InductDoor4=false;InductDoor5=true;}	
						}
					else if (InductDoor5)	
						{
							Seg8_Seg9.byte&=0xC8;
							if (LcdFanDoorAspectFlag)
								{InductDoor5=false;InductDoor4=true;}
							else
								{InductDoor5=false;InductDoor6=true;}	
						}
					else if (InductDoor6)	
						{
							Seg8_Seg9.byte&=0xC8;
							if (LcdFanDoorAspectFlag)
								{InductDoor6=false;InductDoor5=true;}
							else
								{InductDoor6=false;InductDoor7=true;}	
						}
					else if (InductDoor7)	
						{Seg8_Seg9.byte&=0xC8;InductDoor7=false;InductDoor6=true;LcdFanDoorAspectFlag=true;}
					else
						{Seg8_Seg9.byte&=0xC8;InductDoor2=true;LcdFanDoorAspectFlag=false;}	
				}
		}	
}       









⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -