RISC-V MCU开发实战(一) :DHT11

简介: DHT11是一款有已校准数字信号输出的温湿度传感器。 其精度湿度±5%RH, 温度±2℃,量程湿度5-95%RH,温度-20~+60℃。该传感器包括一个电阻式测湿元件和一个NTC测温元件,可通过单片机等微处理器简单的电路连接就能够实时的采集本地湿度和温度。

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

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

关于DHT11具体信息,可参考其产品手册。

2、硬件连接
DHT11的VCC、GND引脚与单片机VCC、GND引脚连接
DHT11的Dout引脚与单片机PA1连接(用户可自定义)

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

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

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

4.png

5.png

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

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

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

9.png

相关文章
|
4月前
|
存储 算法 编译器
|
2月前
stm32f407探索者开发板(十六)——串行通信原理讲解-UART
stm32f407探索者开发板(十六)——串行通信原理讲解-UART
102 0
|
4月前
|
传感器 物联网 开发工具
STM32:微控制器技术探索与实践
STM32:微控制器技术探索与实践
95 5
|
4月前
|
开发工具 C++ 异构计算
Xilinx ZYNQ的应用开发介绍
Xilinx的ZYNQ系列是首款可扩展处理平台,以其高性能和计算能力适用于高端嵌入式应用如视频监控和汽车辅助系统。ZYNQ结合了双ARM Cortex-A9 MPCore处理器系统与28nm FPGA技术,提供高度灵活性和配置选项。开发环境包括Xilinx Platform Studio、ARM工具链及第三方软件,支持C/C++和系统C综合。ZYNQ由处理系统(PS)和可编程逻辑(PL)组成,PS是ARM SOC,PL是FPGA。开发工具推荐使用Vivado,Zynq 7000 XC7Z100作为旗舰型号提供丰富的资源。
67 0
|
4月前
|
存储 安全 物联网
MCU
MCU
36 1
|
4月前
|
vr&ar 图形学 Android开发
嵌入式小项目ESP32和STC51芯片制作一个光立方
嵌入式小项目ESP32和STC51芯片制作一个光立方
87 0
|
存储 传感器 数据采集
单片机架构
单片机架构
185 0
|
数据处理 数据安全/隐私保护 SoC
DSP+ZYNQ硬件说明手册-XQTyer【开源】
XQ6657Z35/45-EVM 高速数据处理评估板(XQTyer 评估板)由广州星嵌电子科技有限公司自主研发,包含一片TI DSP TMS320C6657和一片Xilinx ZYNQ-7000 SoC 处理器XC7Z035-2FFG676I。适用于无人机蜂群、软件无线电系统,基带信号处理,无线仿真平台,高速图像采集、处理等领域。
DSP+ZYNQ硬件说明手册-XQTyer【开源】
|
传感器 数据安全/隐私保护 异构计算