SHT11温湿度传感器在单片机中的应用复习进程_第1页
SHT11温湿度传感器在单片机中的应用复习进程_第2页
SHT11温湿度传感器在单片机中的应用复习进程_第3页
免费预览已结束,剩余9页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、SHT11温湿度传感器在单片机中的应用郑州航空工业管理学院单片机原理与应用课程设计说明书09级电气工程及其自动化专业72班级题目12C总线数字温.湿度传感器SHT11及其在单片机系统的应用姓名李兴田学号090607215指导教师王义琴职称讲师二O一二年而月28日一、SHT11温湿度传感器的基本原理SHT11的湿度检测运用电容式结构,并采用具有不同保护的“微型结构”检测电极系统与聚合物覆盖层来组成传感器芯片的电容,除保持电容式湿敏器件的原有特性外,还可抵御来自外界的影响。由于它将温度传感器与湿度传感器结合在一起而构成了一个单一的个体,因而测虽精度较高且可精确得出露点,同时不会产生由于温度与湿度传

2、感器之间随温度梯度变化引起的误差。CMOSensTM技术不仅将温湿度传感器结合在一起,而且还将信号放大器、模/数转换器、校准数据存储器、标准I2C谡度传感器温度传感器实KA"总线接口图2SHTH传感器内部结构框图SHT11的每一个总线等电路全部集成在一个芯片内SHT11传感器的内部结构框图如图2所示。传感器都是在极为精确的湿度室中校准的°SHT11传感器的校准系数预先存在OTP内存中。经校准的相对湿度和温度传感器与一个14位的A/D转换器相连,可将转换后的数字温湿度值送给二线I2C总线器件,从而将数字信号转换为符合I2C总线协议的串行数字信号。二、由于将传感器与电路部分结合

3、在一起,因此,该传感器具有比其它类型的湿度传感器优越得多的性能。首先是传感器信号强度的增加增强了传感器的抗干扰性能,保证了传感器的长期稳定性,而A/D转换的同时完成,贝U降低了传感器对干扰噪声的敏感程度。其次在传感器芯片内装载的校准数据保证了每一只湿度传感器都具有相同的功能,即具有100%的互换性。最后,传感器可直接通过I2C总线与任何类型的微处理器、微控制器系统连接,从而减少了接口电路的硬件成本,简化了接口方式。AA计八方3.4系统设计流程图设计SHT11温湿度传感器在单片机中的应用的流程图如下:开始设计温湿度传感选用89C2051单三、硬件设计调整样机硬件调整、修改软Eti-tt4l4ZZ

4、?*H-:<a54耳斡IEKI图5单片机与SHT11接口电路及温湿度显示电路(1)湿度值输出SHT11可通过I2C总线直接输出数字虽湿度值,其相对湿度数字输出特性曲线如图3所示。5001QUOISQ02?10025003CdC图3SHTM传感器相对湿度数字输出特性曲线由图3可看出,SHT11的输出特性呈一定的非线性,为了补偿湿度传感器的非线性,可按如下公式修正湿度值:RH1inear=c1+c2SORH+c3SORH2式中,SORH为传感器相对湿度测虽值,系数取值如下:12位:SORH:c1=4,c2=0.0405,c3=2.8X1068位:SORH:c1=-4,c2=0.648,c37

5、.2X10-(2)温度值输出由于SHT11温度传感器的线性非常好,故可用下列公式将温度数字输出转换成实际温度值:T=d1+d2SOT当电源电压为5V,且温度传感器的分辨率为14位时,d1=40d2=0.01,当温度传感器的分辨率为12位时,d1=40d2=0.04o(3)露点计算空气的露点值可根据相对湿度和温度值来得出,具体的计算公式如下:LogEW=(0.66077+7.5T/(237.3+T)+log10(RH)2Dp=(0.66077logEW)X237.3/(logEW8.16077)3.2命令与接口时序SHT11传感器共有5条用户命令,具体命令格式见表1所列。下面介绍一下具体的命令顺

6、序及命令时序。表1SHT11传感器命令列表命令编码说明测虽温度00011温度测虽测虽湿度00101湿度测虽读寄存器状态00111“读”状态寄存器写寄存器状态00110“写”状态寄存器软启动11110里启芯片,清除状态记录器的错误记录11毫秒后进入下一个命令(1)传输开始初始化传输时,应首先发出“传输开始”命令,该命令可在SCK为高时使DATA由高电平变为低电平,并在下一个SCK为高时将DATA升高。接下来的命令顺序包含三个地址位(目前只支持“000)和5个命令位,当DATA脚的ack位处于低电位时,表示SHT11正确收到命令。(2)连接复位顺序如果与SHT11传感器的通讯中断,下列信号顺序会使

7、串口复位:即当DATA线处于高电平时,触发SCK9次以上(含9次),此后应接着发一个“传输开始”命令。表2SHT11状态寄存器类型及说明位类型说明缺省7保留06读工检限(低电压检杳)X5保留04保留03只用于试验,不可以使用02读/写加热0关读/写不从OTP至下载0至下载0读/写'1'=8位相对湿度,12位温度分辨率。0=12位相对湿012位相对湿度,14位度,14位湿度分辨率湿度(3)温湿度测虽时序当发出了温(湿)度测虽命令后,控制器就要等到测虽完成。使用8/12/14位的分辨率测虽分别需要大约11/55/210ms的时间。为表明测虽完成,SHT11会使数据线为低,此时控制器

8、必须更新启动SCK,然后传送两字节的测虽数据与1字节CRC校验和。控制器必须通过使DATA为低来确认每一个字节,所有的虽均从右算,MSE列于第一位。通讯在确认CRC数据位后停止。如果没有用CRC-8校验和,则控制器就会在测虽数据LSB后保持ack为高来停止通讯,SHT11在测虽和通讯完成后会自动返回睡眠模式。需要注意的是:为使SHT11的温升低于0.1C此时的工作频率不能大于标定值的15%(如:12位精确度时,每秒最多进行3次测虽)。3.3寄存器配置SHT11传感器中的一些高级功能是通过状态寄存器来实现的,寄存器各位的类型及说明见表2所列。Q的上拉电阻,四、软件设计(要求有程序流程框图,源程序

9、清单)图5是AT89C2051单片机与SHT11的接口电路。由于AT89C2051不具备I2C总线接口,故使用单片机通用I/O口线来虚拟I2C总线,并利用P1.0来虚拟数据线DATA,禾I用P1.1口线来虚拟时钟线,并在DATA端接入一只4.7k同时,在VDD及GND端接入一只0.1yF的去耦电容。下面给出软件设计流程图:各变虽初始化,赋写“测虽湿度命令”子程将传感器传输到单片机中根据SHT11的写时序编写命令孑1F编写“动态显示接口程序”了程序写“温湿度值变换及温度补偿”子程序编与控制程序,与测温写“测量温度命令”子程序卜面给出与上述硬件电路配套的C51应用程序:#definedatap1-

10、1#definesckp1-0#defineack1#definenoack0#definemeasure_temp0x03/测虽温度命令#definemeasurehumi0x05/测虽湿度命令/读温湿度命令chars-measure(unsignedchar*p-value,unsignedchar*p-checksum,unsignedcharmode)(unsignedcharerror=0;unsignedinti;s_transstart();/传输开始switch(mode)(casetemp:error+=s_write_byte(measure_temp);break;cas

11、ehumi:error+=s_write_byte(measure_humi);breakdefaultbreak;for(i=0;i<65535;i+)if(data=0)break;if(data)reeor+=1;*(p_value)=s_read_byte(ack);*(p_value+1)=s_read_byte(ack);*p_checksum=s_read_byte(noack);returnerror;/温湿度值变换及温度补偿voidcalc_sth15(float*p_humidity,float*p_temperature)(constfloatc1=-4.0;con

12、stfloatc2=0.0405;constfloatc3=-0.0000028;constfloatt1=-0.01;constfloatt2=0.00008;floatrh=*p_humidity;floatt=*p_temperature;floatrh_lin;floatth_ture;floatt_c;t_c=t*0.01-40;rh_lin=c3*rh*rh+c2*rh+c1;trh_ture=(t_c-25)*(t1+t2*rh)+rh_lin;*p_temperature=t-c;*p_humidity=rh_ture;/从相对温度和湿度计算露点charcalc_dewpoin

13、t(floath,floatt)floatlogex,dew_point;logex=0.66077+7.5*t/(237.3+t)+log10(h)-2;dew_point=(logex-0.6607)*237.3/(0.66077+7.5-logex);returndew_point;/动态显示接口程序DIR:MOVR0,#79HMOVR3,#01HMOVA,R3LD0:MOVDPTR,#0101HMOVXDPTR,AINCDPTRMOVA,R0ADDA,#12HMOVXA,A+PCMOVXDPTR,AACLLDL1INCR0MOVA,R3JBACC.5,LD1RLAMOVR3,AAJMP

14、LD0LD1:RETDSEGDB3FH,06H,5BH,4FH,66H,6DHDSEG1:DB7DH,07H,7FH,6FH,77H,7CHDSEG2:DB39H,5EH,79H,71H,73H,3EHDSEG3:DB31H,61H,1CH,23H,40H,03HDSEG4:DB18H,00H,00H,00HDL1:MOVR7,#02HDWDL:MOVR6,#0FFHDL6:DJNZR6,DL6DJNZR7,DLRET限于篇幅,上述程序中未给出传输开始、写字节数据、读字节数据函数五、结论SHT11数字式温湿度传感器由于将温度传感器、湿度传感器、信号调理、模/数转换器、标定参数及I2C总线接口全

15、部集成到传感器内部,因此,既提高了传感器的性能,又降低了成本、减少了体积,同时也非常便丁和微控制器接口,由此可见,该传感器是嵌入式系统温湿度测试的理想选择。六、参考资料11龚运新,胡长胜?单片机实用技术教程【Ml.北京师范大学出版社,2006.【21朱善君,孙新亚,吉吟东.单片机接口技术与应用【M.北京:清华大学出版社,2005何立民.MCS-51系列单片机应用系统设计【M1.北京:北京航空航天大学出版社,1990设计总结:经过进一个星期的设计,这篇单片机结课设计终于告一段落,再这过程中我学到了很多东西,现在我就把它同大家分享。首先,我掌握了单片机中很多我以前没有掌握的东西,比如说单片机与其它器件接口电路的联

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论