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

📄 airtemp.h

📁 Fujitsu MB89P475的应用实例
💻 H
字号:
#include "Sersor.c"
unbyte ReadADValue(unbyte CheckAins);   //返回i=十六进制温度值  CheckAins 是当前要使用的通道
byte LetHexToTemp(unbyte AD_Hex,unbyte AllDot,unbyte StartDot,unbyte Tables,byte Remove);//返回k=十进制温度值
			//AD_Hex---->AD采样的十六进制数          AllDot---->当前通道总点数 
			//StartDot--->查表起始点                 Tables-->当前采样通道排号(0,1,2.....)
			//Remove---->(当前通道排号为n)以每组表格120点为基准,当前要查的表格以前所有点与((n-1)*120)的差值
byte LoadTemp(void);//返回k=十进制温度值

//=======================================

void AirTemp()
{
	if (Eenble_A_D_WorkFlag==0) return;
	Eenble_A_D_WorkFlag=0;
	AD_STARTBIT=true;	
	
	A_DSampleValue[A_DCounter]=ReadADValue(0);
	
	if (A_DSampleValue[13]==0)
		{
			A_DCounter=13;
			for  (i=1;i<14;i++)
				{A_DSampleValue[i]=A_DSampleValue[0];}
		}

	A_DCounter++;
	if (A_DCounter==14)	
		{

			for (i=1;i<14;i++)
				{
					if (A_DSampleValue[0]<A_DSampleValue[i])
						{
							WDTC.byte=0x05;
							j=A_DSampleValue[0];
							A_DSampleValue[0]=A_DSampleValue[i];
							A_DSampleValue[i]=j;
						}	
				}

			for (i=2;i<14;i++)
				{
					if (A_DSampleValue[1]>A_DSampleValue[i])
						{
							WDTC.byte=0x05;
							j=A_DSampleValue[1];
							A_DSampleValue[1]=A_DSampleValue[i];
							A_DSampleValue[i]=j;
						}	
				}

			for (i=3;i<14;i++)
				{
					if (A_DSampleValue[2]<A_DSampleValue[i])
						{
							WDTC.byte=0x05;
							j=A_DSampleValue[2];
							A_DSampleValue[2]=A_DSampleValue[i];
							A_DSampleValue[i]=j;
						}	
				}

			for (i=4;i<14;i++)
				{
					if (A_DSampleValue[3]>A_DSampleValue[i])
						{
							WDTC.byte=0x05;
							j=A_DSampleValue[3];
							A_DSampleValue[3]=A_DSampleValue[i];
							A_DSampleValue[i]=j;
						}	
				}



			Dobule=0;
			for (i=4;i<14;i++)			
				{Dobule +=A_DSampleValue[i];}
				
			A_DAverageValue= Dobule/10;	
			A_DCounter=0;
			if (LcdAllLightFlag)
				{
					if (A_DAverageValue<10)
						{TempErrorFlag=1;InRoomTemp=0;return;}
					else if (A_DAverageValue>240)
						{TempErrorFlag=1;InRoomTemp=60;return;}
					else
						{TempErrorFlag=0;}	
				}
			
			InRoomTemp=LetHexToTemp(A_DAverageValue,120,j,0,0);
		}
}




unbyte ReadADValue(unbyte CheckAins)
{
	AD_ANS=CheckAins;
	while (AD_ADMV)	{;}
	i=ADDV.word/4;
	return i;
}





byte LetHexToTemp(unbyte AD_Hex,unbyte AllDot,unbyte StartDot,unbyte Tables,byte Remove)
{
	j=0;
	if (!Channels1TransingFlag)
		{
			Channels1TransingFlag=true;
			if (SersorTable[j+Tables*120+Remove]>=AD_Hex)
				{
					LoadTemp();
					return SignedData;
				}
		}
	for (j=1;j<=AllDot;j++)
		{
			WDTC.byte=0x05;
			if (SersorTable[j+Tables*120+Remove]>AD_Hex)
				{
LoopLoadTemp:					
					j--;
					LoadTemp();
					nop;
					return SignedData;
				}
		}	
	goto LoopLoadTemp;	
}
//---------------------------------------------------------------------
byte LoadTemp()
{
	SignedData=j-30;

	LcdAllLightFlag=true;		

	if (LcdAllLightFlag)
		{
			if (SignedData<0)
				{SignedData=0;}
			else if (SignedData>60)
				{SignedData=60;}
		}
	Channels1TransingFlag=false;	
	return SignedData;
}




⌨️ 快捷键说明

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