下载此文档

(完整word版)DHT22数字温湿度传感器AM2302温湿度模块(带说明).docx


文档分类:通信/电子 | 页数:约12页 举报非法文档有奖
1/12
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/12 下载此文档
文档列表 文档介绍
AM2302温湿度传感器 C程序(测试可以用)
2017-8-13
说明:
DHT22与DHT11程序基本相同,DHT11起始信号拉低18ms, DHT22起始信号拉低是 800us,用户 主机(MCU )发送一次起始信号(把数据总线 SDA拉低至少800 ^s)后,AM2302从休眠模式转换到高速
模式。待主机开始信号结束后, AM2302发送响应信号,从数据总线 SDA串行送出40Bit的数据,先发送
字节的高位;发送的数据依次为湿度高位、湿度低位、温度高位、温度低位、校验位,发送数据结束触发 一次信息采集,采集结束传感器自动转入休眠模式,直到下一次通信来临。
注意事项:
与DHT11相同,一次采集8个位数据,循环4次采集完成所有数据,40位采集完成后,校验数据, 如果数据正确,将高 8位左移8位与低8位相或,再保存到一个 16位变量中,就可以得到一个整数值。 默认采集的数据是实际值的 10倍,例如当前实际温度是 ,采集到的数据是 327,目的是为了编程
时方便分离数据。(详细见后面说明书)
0000 0010 1000 1100 0000 0001 0101 1111
湿度数据 温度数据 校验和
湿度高8位+湿度低8位+温度高8位+温度低8位=的末8位=校验和
如果需要处理零下值,16位的最高位为1表示负数,温度最大量程: -20~80度,分辨率:。
如果用数据码管显示且有中断,采集数据开始需要关中断,采集结束开中断,否则在采集数据过程
中,中断会打断 DHT22时序,造成采集数据不正确。
每次采集间隔大于1秒,否则采集数据不准确。
C程序:
DHT22代码,使用时直接调
为了方便程序阅读,其它器件的初始化及定义都删除掉了,以下代码纯 用RH函数即可。由于程序多次修改,可能有多余的变量,大家自己清理下。
RH函数调用后,以下四个变量会得相应的数据
R_H
湿度咼
8位
R_L
湿度低
8位(包含小数)
T_H
温度咼
8位
T_L
湿度低
8位(包含小数)
如果采集的数据是:0000 0010 1000 1100 0000 0001 0101 1111
由上面四个变量是16位,采集数据是8位,分四次采完,8位放在16位里面应该是这样:
R_H= 00000000 00000010
R_L= 00000000 10001100
所以R_H左移8个位或上R_L才是我们要的数据。 R_H =R_H & R_L
以上采集数据湿度为 652,湿度为351,再除以10就是实际温湿度值。
#include <>
typedef unsigned
char
U8;
typedef signed
char
S8;
*/
typedef unsigned
int
U16;
typedef signed
int
S16;
typedef unsigned
long
U32;
量 */
typedef signed
long
S32;
typedef float
F32;
度) */
typedef double
F64;
度) */
#include <>
//
/* defined for unsigned 8-bits integer variable /* defined for signed 8-bits integer variable
/* defined for unsigned 16-bits integer variable /* defined for signed 16-bits integer variable /* defined for unsigned 32-bits integer variable
/* defined for signed 32-bits integer variable
/* single precision floating point variable (32bits)
/* double precision floating point variable (64bits)
无符号 8 位整型变量 */ 有符号 8 位整型变量
无符号 16 位整型变量 */
有符号 16 位整型变量 */
无符号 32 位整型变
有符号 32 位整型变量 */ 单精度浮点数( 32 位长
双精度浮点数 (64 位长
#define uchar unsigned char
#define uint unsigned in

(完整word版)DHT22数字温湿度传感器AM2302温湿度模块(带说明) 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息