ct.c

来自「air-contronin controning air in or out,b」· C语言 代码 · 共 55 行

C
55
字号


#include "MATH.H"
#include "STC12.H"
#include "pin.h"
#include "function.h"
#include "evariable.h"
//cwf2:temperature sensor character --
//Dv=10/(10+R)*1024
//output voltage 2.8532v~0.8807v  :  0C~50C
const float code cwf2[51]={
							13.29,
							12.74,12.22,11.72,11.25,10.8,10.37,9.962,9.571,9.197,8.839,//1~10 C
							8.476,8.168,7.854,7.553,7.266,6.992,6.73,6.48,6.241,6.013, //11~20 C
							5.794,5.584,5.382,5.188,5,4.819,4.646,4.48,4.324,4.179,	   //21~30 C
							4.018,3.878,3.749,3.627,3.508,3.392,3.28,3.17,3.064,2.962, //31~40 C
							2.864,2.77,2.68,2.593,2.512,2.43,2.353,2.279,2.207,2.138	   //41~50 C
						  };
byte ct(word DV)
{
	float k1=0,k2=0;
	unsigned int DV2;
	byte i;
	i=0;
	while(1)
	{ 
	   	k1=cwf2[i]+10;
	    k1=cwf2[i]*1024/k1;
		DV2=(unsigned int)k1;
 		if((DV >= DV2)&&(i!=0))
		{
			k2=cwf2[i-1]+10;
	    	k2=cwf2[i-1]*1024/k2;
			k2=k1+k2;
			k2=k2/2;
			DV2=(unsigned int)k2;
			if(DV >= DV2)
			{
				i-=1;
			}
			break;
		}
		if((DV>= DV2)&&(i==0))
		{	
		   break;
		}
		i++;
		if(i >= 51)
		{
			break;
		}
	}
	return(i);
 }

⌨️ 快捷键说明

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