[原创] STM32F107VC金龙开发板 第十五章 DS18B20(温度传感器)实验

旺宝电子   2015-4-20 15:28 楼主
第十五章 DS18B20(温度传感器)实验


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

【15】金龙107_DS18B20(3.2寸).rar (2.24 MB)
(下载次数: 162, 2015-4-20 15:28 上传)

【15】金龙107_DS18B20(3.2寸).rar (2.24 MB)
(下载次数: 162, 2015-4-20 15:28 上传)



http://openmcu.taobao.com]77[/url]

回复评论 (3)

你好 你QQ多少呢
点赞  2015-4-22 13:23
引用: hongyufa123456 发表于 2015-4-22 13:23
你好 你QQ多少呢
83843725
金龙1070.jpg
http://openmcu.taobao.com]77[/url]
点赞  2015-4-22 17:23
DS18B20温度传感器,是个很牛的芯片啊!单线双向数据传输,还可以一主机多从机,实现单线多点温度采集!
点赞  2015-4-28 14:16
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复