[Kinetis] 【FRDM-K64F开发笔记】DHT11温湿度采集+串口发送

[复制链接]
2238|1
 楼主| yinyue01 发表于 2015-12-2 21:48 | 显示全部楼层 |阅读模式
本帖最后由 yinyue01 于 2015-12-2 21:49 编辑

采用超核的固件库实现DHT11温湿度采集和串口发送,超核库的有许多便捷的设置函数,如delay函数、GPIO位带操作等。
数字温湿度传感器DHT11采用单总线输出数据,单次数据包共5Byte40bit),包括先发送高位,数据格式为:湿度整数+湿度小数+温度整数+温度小数+校验和,各占1 Byte,校验和为前4Byte相加,由此可计算出温湿度的数值。
DHT11通讯过程的时序图如下图所示,空闲状态时总线为高电平,MCU发送开始信号,拉低总线等待DHT11响应(至少18ms),之后拉高总线20~40μsDHT11接收到开始信号,在其结束后发送80μs的低电平响应信号,之后拉高总线40~50μs,再拉低40~50μs,接着输出数据;主机读取到响应信号后开始接收数据;一次数据传输完成,DHT11拉低总线50μs,之后总线进入空闲状态。
8.jpg
根据以上分析,编写DHT11数据采集程序:
7.jpg
DHT11数字输出端Dout连接到K64的PC16口,主程序如下:
9.jpg
运行结果如下:
IMG_20151202_212309.jpg
6.jpg
附程序:
DHT11_UART.rar (2.69 MB, 下载次数: 24)
风逝梦入雨季 发表于 2016-8-10 16:11 | 显示全部楼层
谢谢楼主~~~正好需要用呢,帮大忙咯~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

93

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部