DS18B20 数字温度传感器实验
DS18B20
前言
本章,我们将介绍STM32如何读取外部温度传感器的温度,来得到较为准确的环境温度。 我们将学习单总线技术,通过它来实现STM32和外部温度传感器DS18B20的通信,并把从温度传感器得到的温度显示在LCD上。
本实验开机的时候先检测是否有DS18B20存在,如果没有,则提示错误。只有在检测到DS18B20之后才开始读取温度并显示在LCD上,如果发现了DS18B20,则程序每隔100ms左右读取一次数据,并把温度显示在LCD上。 LED0闪烁用于提示程序正在运行。
本实验对应的工程文件夹为:<STM32N647 开发板软件包路径>/Projects/29_DS18B20
。
实验准备
- 将 STM32N647 开发板软件包中提供的示例 FSBL 固件烧录到 STM32N647 开发板上。
FSBL 烧录说明
本实验使用的 FSBL 为 STM32N647 开发板软件包中的示例 FSBL,请根据 示例 FSBL介绍 中的说明烧录对应 fsbl.hex
。
不同的的实验中,若使用相同的 FSBL,则无需重复烧录。
- 将工程文件夹下
Binary
目录下的appli.hex
依次烧录到 STM32N647 开发板上。
烧录说明
烧录顺序不影响烧录结果。
- 将 LCD 通过 FPC 延长线接入 STM32N647 开发板核心板的
RGBLCD
接口。
LCD 适配说明
本实验例程仅支持 正点原子 RGB 触摸屏模块
。
-
将 DS18B20 传感器模块接入 STM32N647 开发板的
U11
接口。 -
将 STM32N647 开发板的 BOOT 模式配置为
Flash boot
模式
STM32N647 开发板 BOOT 模式配置说明
通过 STM32N647 开发板 P6
的跳线帽配置其 BOOT 模式:
Development boot
:B1 接 3V3
Flash boot
:B0、B1 都接 GND
- 将对应接口的电源线接入 STM32N647 开发板底板的 USB Type-C 接口或 DC 接口,为其进行供电,并将
K1
自锁开关切换到开启状态。
实验现象
假定DS18B20传感器已经接上去正确的位置,将程序下载到开发板后,可以看到LED0不停的闪烁,提示程序已经在运行了。LCD显示当前的温度值的内容如下图所示:
该程序还可以读取并显示负温度值,具备零下温度条件可以测试一下。