湿度传感器HS1101在智能家居控制系统中的应用

时间:2013-05-15来源:网络


3软件设计

软件设计主要完成对HSl 101在单位时间内的频率测量。软件设计采用端口扫描方式,间隔8S开始测量,测量时间为1S。统计单位时间内脉冲的个数,与表3对照,确定湿度值的范围,并将湿度值通过LCD显示。为了保证测量精度,可以取3次以上测量数据,求平均值后,作为最终送显示数据。微处理器工作晶体选用12.000MHz。程序代码采用嵌入式C语言编写,经在ADSl.2编译环境中进行编译后,移植到微处理器内执行。软件主要测量代码如下,并给出了详细注释。

Do

{

IODIR0=10DIROIRO&OXOfffffbf:

//p0.6设置成输入

d0 //读IO口寄存器

{ if((IOPIN0(10x06))==0x00000000)

break: //检测0电平

} while(1);

Do

{ if((IOPIN0(10x06))!=Ox00000000)

break: //检测l电平

}while(1);

fdat++: //累积1S时间内脉冲个数

} while(pt8s%8==0); //间隔8S测量一次

fdat--;

time(1); //延时必须保留

if((fdat>6033)(fdat6187))rhb=90;

//将测量数值转换为对应百分比,1%一100%

if((fdat>6186)(fdat6331))rhb=80;

if((fdat>6330)(fdat6469))rhb=70;

if((fdat>6468)(fdat6601))rhb=60;

if((fdat>6600)(fdat6729))rhb=50;

if((fdat>6728)(fdat6854))rhb=40;

if((fdat>6853)(fdat6977))rhb=30;

if((fdat>6976)(fdat7101))rhb=20;

if((fdat>7100)(fdat7225))rhb=10;

if(fdat>7224)rhb=00:

lhb=fdat%100: //对测量数值取低两位

time(1); //处理需要等待一段时间,否则lhb=0

if((rhb==60)(rhb==70)(rhb==90))lhb=lhb/

13: //对低两位数值取个位,

else if(rhb==80)lhb=lhb/1 4;

else lhb=lhb/12;

time(1);

rhb=rhb+lhb; //将数据合成一起,送显示

fdat=Ox00000000;//清0,为下次准备

}

4结语

由于HSll01采用独特的电容式单元设计,具有响应速度快、体积小、线性度好、较稳定等优点,我们将HSll01用在智能家居控制系统中,完成对空气湿度的测量,经长期应用,性能达到了稳定可靠,同时也实现了对低成本的要求。

1 2 3

关键词: 湿度传感器 HS1101 智能家居控制系统

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版