1971|0

71

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

RISC-V MCU开发实战(一) :DHT11 [复制链接]

软件平台 MounRiver Studio(MRS),硬件平台:CH32V103开发板、DHT11温度传感器。

  1. DHT11简介

DHT11是一款有已校准数字信号输出的温湿度传感器。 其精度湿度±5%RH 温度±2℃,量程湿度5-95%RH,温度-20~+60℃。该传感器包括一个电阻式测湿元件和一个NTC测温元件,可通过单片机等微处理器简单的电路连接就能够实时的采集本地湿度和温度。 DHT11与单片机之间能采用简单的单总线进行通信,仅仅需要一个I/O口。单总线是美国DALLAS公司推出的外围串行扩展总线技术。与SPII²C串行数据通信方式不同.它采用单根信号线,既传输时钟又传输数据,而且数据传输是双向的,具有节省I/O口线、资源结构简单、成本低廉、便于总线扩展和维护等诸多优点。传感器内部湿度和温度数据40Bit的数据一次性传给单片机,数据采用校验和方式进行校验,有效的保证数据传输的准确性。
关于DHT11具体信息,可参考其产品手册

  1. 硬件连接

DHT11VCCGND引脚与单片机VCCGND引脚连接

DHT11Dout引脚与单片机PA1连接(用户可自定义)

 

3MRS中开发流程

  1. 首先新建一个CH32V103C8T6 的工程,流程与之前文章中操作相同,新建hardware文件夹,外设DHT11文件夹,DHT11.c源文件以及DHT11.h头文件,添加头文件路径,

如图:

 

 

 

 

 

在头文件定义两个确定IO传输方向的宏,以及IO操作函数的宏备用,其他就是函数声明,代码如下:

 

源文件中实现DHT11初始化函数,复位函数,检测函数,通信函数,其中DHT11一次完整的数据传输为40BIT,高位先出,数据格式为:8位湿度整数数据+8位湿度小数数据+8位温度数据+8位温度小数据+8位校验位,根据DHT11手册说明,小数位为预留位,现在全为0,校验位为8位湿度整数数据+8位湿度小数数据+8位温度数据+8位温度小数据结果的末8位,校验位正确时,再将温湿度数据输出。

具体函数代码如下:

 

   

 

主函数逻辑实现循环读和打印即可

 

  1. 成功编译之后,可进入调试来观察寄存器的值(不要在读取数据过程中打断点)  

3)调试无误之后,将程序下载到板子,用串口打印助手观察输出

 

此帖出自单片机论坛
点赞(1) 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表