ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:45.56KB ,
资源ID:3908478      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3908478.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SHT11程序代码.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

SHT11程序代码.docx

1、SHT11程序代码SHT11程序代码#ifndef _SHT11_H_#define _SHT11_H_/*SHT11相关命令*/#define TEM_TEST 0x03/温度检测命令#define HUM_TEST 0x05/湿度检测命令#define REG_READ 0x07/读寄存器#define REG_WRITE 0x06/写寄存器#define FUNCTION_SET 0x01/设置SHT11的工作精度为8位/湿度 12位温度/*SHT11端口定义*/sbit SHT11_DATA=P20;sbit SHT11_SCK=P22;uchar flag_tempeture=0;

2、/显示温度位置的标志uchar flag_humidity=0; /显示湿度位置的标志uchar code */void Delay_Ms(uint ms) uint i,j; for(i=ms;i0;i-) for(j=112;j0;j-);/*函数功能:SHT11启动时序*/void SHT11_Start() SHT11_SCK=1; SHT11_DATA=1; Delay(); SHT11_DATA=0; Delay(); SHT11_SCK=0; Delay(); SHT11_SCK=1; Delay(); SHT11_DATA=1;/*函数名称:SHT11_Sendbyte(uch

3、ar dat)函数功能: 向SHT11发送8bite数据*/void SHT11_Sendbyte(uchar dat) uchar i; SHT11_SCK=0; Delay(); for(i=0;i8;i+) if(dat&0x80) SHT11_DATA=1; Delay(); else SHT11_DATA=0; Delay(); dat=dat1; SHT11_SCK=1; Delay(); SHT11_SCK=0; /*函数名称SHT11_Answer():函数功能:检测SHT11的响应信号(在第九个时钟周期)*/void SHT11_Answer() SHT11_SCK=1; D

4、elay(); while(SHT11_DATA=1); SHT11_SCK=0; SHT11_DATA=1;/*函数名称:SHT11_Test_Finish()函数功能:检测SHT11温湿度检测是否完毕*/void SHT11_Test_Finish() while(SHT11_DATA=1);/*函数名称:SHT11_Receivebyte()函数功能:从SHT11接收8bite数据*/uchar SHT11_Receivebyte() uchar i; uchar dat; SHT11_SCK=0; Delay(); for(i=0;i8;i+) SHT11_SCK=1; Delay()

5、; dat=dat2.47V 当位6为1时表明VDD2.47V即电量不足 位0表明当前的测量分辨率 当位0为1时表明测量精度:8位/湿度 12位温度 当位0为0时表明测量精度:12位湿度 14位温度 默认为0*/uchar SHT11_Read_Register(uchar command) uchar dat; SHT11_Start(); SHT11_Sendbyte(command); SHT11_Answer(); dat=SHT11_Receivebyte(); SHT11_End(); return(dat);/*函数名称:SHT11_Measure(uchar command,u

6、int time);函数功能:设置SHT11检测功能,并返回相应的检测结果函数说明:command形参用于设定温度检测还是湿度检测,time形参用于设定检测过程中的等待时间,以确定检测结果的位数11ms/55ms/210ms 分别对应8位/12位/14位 */uint SHT11_Measure(uchar command,uchar time) uint dat=0; uchar data_high,data_low; SHT11_Start(); SHT11_Sendbyte(command); SHT11_Answer(); Delay_Ms(time); SHT11_Test_Fini

7、sh(); data_high=SHT11_Receivebyte(); MCU_Answer(); data_low=SHT11_Receivebyte(); SHT11_End(); dat=(dat|data_high); dat=(dat100.0) flag_tempeture=1; else if(tempeture10.0) flag_tempeture=1; else flag_tempeture=0; return(tempeture1);/*函数名称:SHT11_Convert_Humidity(uint dat,float temp)函数功能:将检测到的数据转化为相应的湿

8、度数据函数说明:相对湿度转换公式-RHline=C1+C2*SOrh+C3*SOrh*SOrh(检测数据的线性化 SOrh为单片机接收到的数据) -RHtrue=(tempeture-25)*(t1+t2*SOrh)+RHline 公式中的参数:C1=-4,C2=0,0405,C3=-0.0000028 t1=0.01,t2=0.00008 适用于12位测量精度*/float SHT11_Convert_Humidity12bit(uint dat,float temp) float RHline,RHtrue; RHline=-4+0.0405*dat-0.0000028*dat*dat;

9、RHtrue=(temp-25)*(0.01+0.00008*dat)+RHline; if(RHtrue100.0) flag_tempeture=1; else flag_tempeture=0; return(tempeture1);*/*函数名称:SHT11_Convert_Humidity8bit(uint dat,float temp)函数功能:将检测到的数据转化为相应的湿度数据函数说明:相对湿度转换公式-RHline=C1+C2*SOrh+C3*SOrh*SOrh(检测数据的线性化 SOrh为单片机接收到的数据) -RHtrue=(tempeture-25)*(t1+t2*SOr

10、h)+RHline 公式中的参数:C1=-4,C2=0,648,C3=-0.00072 t1=0.01,t2=0.00128 适用于12位测量精度float SHT11_Convert_Humidity8bit(uint dat,float temp) float RHline,RHtrue; RHline=-4+0.648*dat-0.00072*dat*dat; RHtrue=(temp-25)*(0.01+0.00128*dat)+RHline; if(RHtrue10.0) flag_humidity=1; else flag_humidity=0; return(RHtrue);*/#endif

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1