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

📄 hs1101.h

📁 温湿度监视系统
💻 H
字号:
/**
*  文件说明:HS1101处理头文件,将已经获取的频率转成湿度
*  作   者:
*  时   间:2009-05-03
*/

#ifndef _HS1101_H_
#define _HS1101_H_

/*经典湿度与频率的转换表*/
/*注:湿度与频率的关系是近似线性的!!!*/
//unsigned int HStable[11][2]={{0,7351},{10,7224},{20,7100},{30,6976},{40,6853},{50,6728},{60,6600},{70,6468},{80,6330},{90,6186},{100,6033}};


unsigned char gethumidity(unsigned int freq)
{
	unsigned int t[11][2]={{0,7351},{10,7224},{20,7100},{30,6976},{40,6853},{50,6728},{60,6600},{70,6468},{80,6330},{90,6186},{100,6033}};
	unsigned char i, himi;
	float a, b, c, d, f, h;
	
	/*找出频率所在段*/
	for (i = 0; i < 11; i++)
	{
		if (freq > t[i][1])
			break;
	}
	
	if (i == 0)
		return 0;
	else if (i > 10)
		return 100;
	
	/*频率在(i-1)~i之间,开始计算湿度*/
	/*公式: (h_i-1 - h_i)/(f_i-1 -f_i)  =  (h - h_i)/(f -f_i)
	*
	*       h = h_i + (f -f_i)*(h_i-1 - h_i)/(f_i-1 -f_i)
	*/
	f = freq;
	a = t[i-1][0];
	b = t[i-1][1];
	c = t[i][0];
	d = t[i][1];
	h = a + (b - f)*(c- a)/(b - d);
	
	himi = (unsigned char)h;
	return h;
}

void himi_to_str(unsigned char * h,unsigned char himi)   //湿度数据转换成液晶字符显示
{
  h[0] = himi/100+'0';  //百位
  himi %= 100;
  h[1] = himi/10+'0';  //十位
  h[2] = himi%10+'0';  //个位
  h[3] = '\0';
}

#endif

⌨️ 快捷键说明

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