温度传感器DS18B20的相关介绍以及基于MSP430的驱动程序(附代码)

本文详细介绍了DS18B20温度传感器的工作原理、引脚功能及数据格式,并提供了基于MSP430单片机的初始化、读取温度及数据转换的代码实现。通过发送特定命令序列,实现对DS18B20的控制,并将温度数据显示在LCD1602上。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   阅读本文之前请先找到DS18B20的中文手册

   DS18B20数据手册-中文版 - 知乎 (zhihu.com)

  下面先对DS18B20简单进行一些介绍:

   学校课程设计中常见的DS18B20的引脚一般为3脚封装,如下图左侧所示:

        可以看到,DS18B20的引脚为GND,DQ,VDD。其中GND与VDD的引脚分别接地线和电源就好了,而DQ线是主要的数据传输口,它可以接在P1-P6端口的引脚上,因为数据传输主要靠拉高或者拉低电平,再由单片机判断高低电平,所以接哪个口都可以。

        DS18B20测量完温度后会将数据存在温度寄存器中,储存的格式如下:

        可以看到,高五位是S,即SIGN,符号位,而低11位用来储存数据,DS18B20的精度逐渐调低时,由BIT0到高位会逐渐未定义(即BIT0未定义时,精度会下降,精度再下降的话,就是BIT1未定义,因为BIT0-BIT3负责记录小数点后的数据)。这里需要注意的是,温度寄存器的数据同样在DS18B20的ScratchPad中,关于ScratchPad是什么,接下来我会详细讲解。

 DS18B20的具体操作:

        DS18B20存储温度数据时是分两位字节存储的,两字节16位数据中,高五位为符号位,低十一位为数据位。因此,读取DS18B20的数据需要连续进行两次读一字节的操作,先读低八位,后读高八位。在发送读ScratchPad指令后,传感器会由低到高传送共9字节的数据,我们只需要读取两字节即可读出数据。ScratchPad中默认的字节顺序如下:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值