HS1101湿度测量电路及程序.doc

  1. 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
  2. 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
  3. 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
HS1101湿度测量电路及程序 ??? HS1101湿度传感器采用专利设计的固态聚合物结构,具有响应时间快、高可靠性和长期稳定性特点,不需要校准的完全互换性。HS1101湿度传感器在电路中等效于一个电容器Cx,其电容随所测空气的湿度增大而增大,在相对湿度为0%-100%RH的范围内,电容的容量由160pF变化到200pF,其误差不大于±2%RH,响应时间小于5s,温度系数为0.04pF/℃。 温度检测采用HS1101型温度传感器,HS1101是HUMIREL公司生产的变容式相对湿度传感器,采用独特的工艺设计。HS1101测量湿度采用将HS1101置于555振荡电路中,将电容值的变化砖换成电压频率信号,可以直接被微处理器采集。 设计的电路如图1所示。 555芯片外接电阻R57,R58与HS1101,构成对HS1101的充电回路。7端通过芯片内部的晶体管对地短路实现对HS1101的放电回路,并将引脚2,6端相连引入到片内比较器,构成一个多谐波振荡器,其中,R57相对于R58必须非常的小,但决不能低于一个最小值。R51是防止短路的保护电阻。 ??? HS1101作为一个变化的电容器,连接2和6引脚。引脚作为R57的短路引脚。HS1101的等效电容通过R57和R58充电达到上限电压(近似于0.67?VCC,时间记为T1),这时555的引脚3由高电平变为低电平,然后通过R58开始放电,由于R57被7引脚内部短路接地,所以只放电到触发界线(近似于0.33?VCC,时间记为T2),这时555芯片的引脚3变为高电平。通过不同的两个电阻R19,R20进行传感器的不停充放电,产生方波输出。 充电、放电时间分别为 输出波形的频率和占空比的计算公式如下: 由此可以看出,空气相对湿度与555芯片输出频率存在一定线性关系。表2给出了典型频率湿度关系(参考点:25℃ 将555OUT接到51单片机的T1脚上,部分程序如下: #include reg51.h #define uchar unsigned char #define uint? unsigned int uchar? tem0 , tem1;?????????????????????????? ?? uchar? temp0 , temp1;?????????????????????? ?? uint?? f=0;?????????????????????????????????????????????? ?? //初值 /**************************************************************************** * 名称: timer0() * 功能: 定时器1,每50000us中断一次。 * 入口参数: ****************************************************************************/ void timer0() interrupt 1 { ?????? EA =0; ?????? TR0=0; ??? TR1=0; ?????? TL0=0xFF;?????????????????? //重装值?? 定时50000us? OX4BFFH ?????? TH0=0x4B; ?????? tem0 = TL1;?? //读数 ?????? tem1 = TH1; ?????? TL1=0x00;??????????? //定时器1清零 ? ??? TH1=0x00; ?????? f=1;?????????????? //作标注位 ?????? TR0=1; ?????? TR1=1; ?????? EA=1; } /**************************************************************************** * 名称: timer1() * 功能: 计数器,用于计数将555输出的频率,以计数相对湿度。 * 入口参数: ****************************************************************************/ void timer1() interrupt 3 ?? //T1中断,表示计数的频率溢出,超出了可测量的频率范围,显然在这里不可能。所以重新启动。 { ?????? EA =0; ?????? TR0=0; ??? TR1=0; ?????? TL0=0x00;?????????????????? //重装值?? 定时50000us ?????? TH0=0x4C; ??? TL1=0x00;???????????

文档评论(0)

ma982890 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档