dht22 数字温湿度 传感器 am2302温湿度模块(带说明)

dht22 数字温湿度 传感器 am2302温湿度模块(带说明)

ID:21051121

大小:394.50 KB

页数:11页

时间:2018-10-19

dht22 数字温湿度 传感器 am2302温湿度模块(带说明)_第1页
dht22 数字温湿度 传感器 am2302温湿度模块(带说明)_第2页
dht22 数字温湿度 传感器 am2302温湿度模块(带说明)_第3页
dht22 数字温湿度 传感器 am2302温湿度模块(带说明)_第4页
dht22 数字温湿度 传感器 am2302温湿度模块(带说明)_第5页
资源描述:

《dht22 数字温湿度 传感器 am2302温湿度模块(带说明)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、AM2302温湿度传感器C程序(测试可以用)2017-8-13说明:DHT22与DHT11程序基本相同,DHT11起始信号拉低18ms,DHT22起始信号拉低是800us,用户主机(MCU)发送一次起始信号(把数据总线SDA拉低至少800µs)后,AM2302从休眠模式转换到高速模式。待主机开始信号结束后,AM2302发送响应信号,从数据总线SDA串行送出40Bit 的数据,先发送字节的高位;发送的数据依次为湿度高位、湿度低位、温度高位、温度低位、校验位,发送数据结束触发一次信息采集,采集结束传感器自动转入休眠模式,直到下一次通信

2、来临。注意事项:与DHT11相同,一次采集8个位数据,循环4次采集完成所有数据,40位采集完成后,校验数据,如果数据正确,将高8位左移8位与低8位相或,再保存到一个16位变量中,就可以得到一个整数值。默认采集的数据是实际值的10倍,例如当前实际温度是32.7度,采集到的数据是327,目的是为了编程时方便分离数据。(详细见后面说明书)0000001010001100000000010101111111101110湿度数据温度数据校验和湿度高8位+湿度低8位+温度高8位+温度低8位=的末8位=校验和如果需要处理零下值,16位的最高位为

3、1表示负数,温度最大量程:-20~80度,分辨率:0.1度。如果用数据码管显示且有中断,采集数据开始需要关中断,采集结束开中断,否则在采集数据过程中,中断会打断DHT22时序,造成采集数据不正确。每次采集间隔大于1秒,否则采集数据不准确。C程序:为了方便程序阅读,其它器件的初始化及定义都删除掉了,以下代码纯DHT22代码,使用时直接调用RH函数即可。由于程序多次修改,可能有多余的变量,大家自己清理下。RH函数调用后,以下四个变量会得相应的数据:R_H湿度高8位R_L湿度低8位(包含小数)T_H温度高8位T_L湿度低8位(包含小数)

4、如果采集的数据是:00000010100011000000000101011111由上面四个变量是16位,采集数据是8位,分四次采完,8位放在16位里面应该是这样:R_H=0000000000000010R_L=0000000010001100所以R_H左移8个位或上R_L才是我们要的数据。R_H=R_H&R_L以上采集数据湿度为652,湿度为351,再除以10就是实际温湿度值。#include#includetypedefunsignedcharU8;/*definedforunsigne

5、d8-bitsintegervariable无符号8位整型变量*/typedefsignedcharS8;/*definedforsigned8-bitsintegervariable有符号8位整型变量*/typedefunsignedintU16;/*definedforunsigned16-bitsintegervariable无符号16位整型变量*/typedefsignedintS16;/*definedforsigned16-bitsintegervariable有符号16位整型变量*/typedefunsignedlo

6、ngU32;/*definedforunsigned32-bitsintegervariable无符号32位整型变量*/typedefsignedlongS32;/*definedforsigned32-bitsintegervariable有符号32位整型变量*/typedeffloatF32;/*singleprecisionfloatingpointvariable(32bits)单精度浮点数(32位长度)*/typedefdoubleF64;/*doubleprecisionfloatingpointvariable(64

7、bits)双精度浮点数(64位长度)*///#defineucharunsignedchar#defineuintunsignedint#defineData_0_time4//----------------------------------------------////----------------IO口定义区--------------------////----------------------------------------------//sbitP2_0=P3^2;//-------------------

8、---------------------------////----------------定义区--------------------////----------------------------------------------//U8

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。