HS1101湿度测量电路及程序

上传人:ni****g 文档编号:473475645 上传时间:2024-02-20 格式:DOC 页数:5 大小:25KB
返回 下载 相关 举报
HS1101湿度测量电路及程序_第1页
第1页 / 共5页
HS1101湿度测量电路及程序_第2页
第2页 / 共5页
HS1101湿度测量电路及程序_第3页
第3页 / 共5页
HS1101湿度测量电路及程序_第4页
第4页 / 共5页
HS1101湿度测量电路及程序_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《HS1101湿度测量电路及程序》由会员分享,可在线阅读,更多相关《HS1101湿度测量电路及程序(5页珍藏版)》请在金锄头文库上搜索。

1、精品文档,仅供学习与交流,如有侵权请联系网站删除HS1101湿度测量电路及程序 HS1101湿度传感器采用专利设计的固态聚合物结构,具有响应时间快、高可靠性和长期稳定性特点,不需要校准的完全互换性。HS1101湿度传感器在电路中等效于一个电容器Cx,其电容随所测空气的湿度增大而增大,在相对湿度为0%-100%RH的范围内,电容的容量由160pF变化到200pF,其误差不大于2%RH,响应时间小于5s,温度系数为0.04pF/。温度检测采用HS1101型温度传感器,HS1101是HUMIREL公司生产的变容式相对湿度传感器,采用独特的工艺设计。HS1101测量湿度采用将HS1101置于555振荡

2、电路中,将电容值的变化砖换成电压频率信号,可以直接被微处理器采集。设计的电路如图1所示。555芯片外接电阻R57,R58与HS1101,构成对HS1101的充电回路。7端通过芯片内部的晶体管对地短路实现对HS1101的放电回路,并将引脚2,6端相连引入到片内比较器,构成一个多谐波振荡器,其中,R57相对于R58必须非常的小,但决不能低于一个最小值。R51是防止短路的保护电阻。 HS1101作为一个变化的电容器,连接2和6引脚。引脚作为R57的短路引脚。HS1101的等效电容通过R57和R58充电达到上限电压(近似于0.67VCC,时间记为T1),这时555的引脚3由高电平变为低电平,然后通过R

3、58开始放电,由于R57被7引脚内部短路接地,所以只放电到触发界线(近似于0.33VCC,时间记为T2),这时555芯片的引脚3变为高电平。通过不同的两个电阻R19,R20进行传感器的不停充放电,产生方波输出。充电、放电时间分别为输出波形的频率和占空比的计算公式如下:由此可以看出,空气相对湿度与555芯片输出频率存在一定线性关系。表2给出了典型频率湿度关系(参考点:25,相对湿度:55%,输出频率:6.208kHz)。可以通过微处理器采集555芯片的频率,然后查表即可得出相对湿度值。为了更好提高测量精度,将采用下位机负责采集频率,将频率值送入上位机进行分段处理。将555OUT接到51单片机的T

4、1脚上,部分程序如下:#include reg51.h#define uchar unsigned char#define uint unsigned intuchar 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

5、=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; /定时器1清零 TH1=0x00; TR0=1; TR1=1; EA=1;void Init_timer()

6、 TMOD=0x51; /0101 0001 定时器0在模式1下工作16位定时器,定时方式 定时器1在模式1下工作16位计数器,T1负跳变加1 TL0=0x00; /定时器0初值 定时50000us TH0=0x4C; TL1=0x00; /定时器1清零 TH1=0x00; ET0=1; /使能定时器0中断 ET1=1; /使能定时器1中断 EA=1; /使能总中断 TR0=1; /开始计时 TR1=1;void tran() f = tem1; f = ( f8 ) | tem0; f = f * 20; /这里f的值是最终读到的频率,不同频率对于不同相对湿度。if( 5623 = f) &

7、 ( f= 6852) ) /相对湿度在有效范围内(0100%) if( 6734 f) & ( f = 6852) ) temp0 = 0; temp1 =(6852 - f)*10/118; if( (6618 f) & ( f = 6734) ) temp0 = 1; temp1 =(6734 - f)*10/116; if( (6503 f) & ( f = 6618 ) ) temp0 = 2; temp1 =(6618 - f)*10/115; if( (6388 f) & ( f = 6503 ) ) temp0 = 3; temp1 =(6503 - f)*10/115; if

8、( (6271 f) & ( f = 6388 ) ) temp0 = 4; temp1 =(6388 - f)*10/117; if( (6152 f) & ( f = 6271 ) ) temp0 = 5; temp1 =(6271 - f)*10/119; if( (6029 f) & ( f = 6152 ) ) temp0 = 6; temp1 =(6152 - f)*10/123; if( (5901 f) & ( f = 6029 ) ) temp0 = 7;temp1 =(6029 - f)*10/128; if( (5766 f) & ( f = 5901 ) temp0 =

9、 8; temp1 =(5901 - f)*10/135; if( (5623 f) & (f = 5766) temp0 = 9; temp1 =(5766 - f)*10/143; else temp0 = 0; temp1 = 0;void main() uchar i,k; uchar count; Init_timer(); count = 0; while(1) for (i=0;i200;i+) for (k=0;k200;k+); /延时 tran(); temp0 &= 0x0F; temp1 &= 0x0F; temp0 = temp0 4; count=temp0 | temp1; Ddisp(count);如图2所示,将该湿敏电容Cx置于555振荡电路之中,将电容的变化转换为与之成反比的电压频率信号,该频率信号可以直接被微控器采集。振荡电路的两个暂稳态输出频率变化的方波信号(图3中U4的3脚输出)的高电平时间为输出低电平时间为因此输出方波信号的周期为即【精品文档】第 页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题 > 初中试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号