第十五章 DS18B20(温度传感器)实验
15.1 DS18B20S数字温度传感器:DS18B20 是由 DALLAS 半导体公司推出的一种的“单总线”接口的温度传感器。与传统的热敏电阻等测温元件相比,它是一种新型的体积小、适用电压宽、与微处理器接口简单的数字化温度传感器。测量温度范围为-55~+125℃ ,精度为±0.5℃。它能直接读出被测温度,并且可根据实际要求通过简单的编程实现 9~12 位的数字值读数方式。它工作在 3—5.5 V 的电压范围,采用多种封装形式,从而使系统设计灵活、方便,设定分辨率及用户设定的报警温度存储在 EEPROM 中,掉电后依然保存。
15.2实验说明:由于开发板上标准配置是没有 DS18B20 这个传感器的,只有接口,所以要做本章的实验,大家必须找一个 DS18B20 焊接到预留的 18B20 接口上。本节实验是读取DS18B20的温度并显示在 LCD 上。
15.3硬件说明: 从上图可以看出,我们使用的是 STM32 的 PB10 来连接 U6 的 DQ 引脚,将 DS18B20 传感器焊接到这个上面就可以通过 STM32 来读取 DS18B20 的温度了。
15.4程序说明:打开我们的DS18B20实验的工程,可以看到工程里添加了 DS18B20.c 文件以及其
头文件 DS18B20.h 文件,所有 DS18B20 驱动代码和相关定义都分布在这两个文件中。
这部分代码就是根据单总线操作时序来读取 DS18B20 的温度值的, DS18B20
的温度通过 DS18B20_Get_Temp 函数读取,该函数的返回值为带符号的短整形数据,返回值的范围为-550~1250,其实就是温度值扩大了 10 倍。然后我们打开 ds18b20.h,该文件下面主要是一些 IO 口位带操作定义以及函数申明,没有什么需要特别讲解的地方。最后打开 main.c,
主函数代码比较简单,一系列初始化之后,判断18b20初始化是否成功,成功则把读取的温度显示在 LCD 上。到这里,我们本章的软件设计就讲到这儿了。
15.5实验现象: