慧净HJ-2G开发板上的DS18B20温度传感器详解
需积分: 50 18 浏览量
更新于2024-09-18
收藏 341KB PDF 举报
DS18B20是一款专用于实时温度传感的数字温度传感器,其在AVR单片机的学习笔记中占据重要地位。本章节详细介绍的是如何利用HJ-2GAVR开发板上的DS18B20进行温度测量和控制。
14.1 概念:
DS18B20内部设计独特,包含64位的ROM单元,存储着设备的唯一序列号,这使得每个传感器都有其独一无二的标识。此外,它还配备了一个9字节的暂存器,用于存储温度数据、报警设置和配置信息。
2. 引脚及供电:
DS18B20共有三个引脚:VCC(电源)、DQ(数据线)和VDD(电源备份)。HJ-2G开发板采用外部供电,并通过上拉电阻确保总线在空闲时保持高电平。
3. 内部结构:
内部的9字节暂存单元包括:
- 字节0和1:存储转换后的温度,用16位(分辨率0.0625℃)表示,符号位位于BIT15至BIT11,判断温度正负。
- 字节2和3:用户可以设置最高报警和最低报警值,支持软件编程。
- 字节4:用于配置转换精度,允许设定9到12位的分辨率。
- 字节5至8:通常用于高级功能,如校准或特殊配置,但在一般应用中通常不需直接操作。
4. 温度读取与计算:
要获取温度值,首先从字节0和1读取LSB(最低有效位)和MSB(最高有效位),然后进行整合处理。例如,如果字节0为0xD0,字节1为0x07,温度计算公式为:
```c
unsigned int Temp1 = 0xD0; // LSB
unsigned int Temp2 = 0x07; // MSB
// 方法1
unsigned int Temperature = ((Temp2 << 8) | Temp1) * 0.0625;
// 方法2
unsigned int Temperature = (Temp1 + Temp2 * 256) * 0.0625;
```
通过这些步骤,开发者能够准确地获取并处理DS18B20传感器采集的温度数据,将其应用于各种温度监控和控制应用中。了解并掌握DS18B20的工作原理和使用方法对于理解和开发基于单片机的温度控制系统至关重要。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2022-07-14 上传
2022-09-21 上传
2022-09-21 上传
2021-10-11 上传
2022-07-15 上传
qq649031206
- 粉丝: 0
- 资源: 3
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析