ds18b20程序
以下是一个用于读取DS18B20温度传感器的中文程序示例(基于STM32和HAL库),包含关键步骤说明:
核心步骤
-
单总线初始化
void DS18B20_Init(void) { HAL_GPIO_WritePin(DS18B20_PORT, DS18B20_PIN, 0); // 拉低总线 HAL_Delay(480); // 保持480us以上 HAL_GPIO_WritePin(DS18B20_PORT, DS18B20_PIN, 1); // 释放总线 HAL_Delay(80); // 等待存在脉冲 } -
写一位数据
void DS18B20_WriteBit(uint8_t bit) { HAL_GPIO_WritePin(DS18B20_PORT, DS18B20_PIN, 0); HAL_Delay(bit ? 1 : 50); // 写1:拉低1us后释放;写0:保持60us HAL_GPIO_WritePin(DS18B20_PORT, DS18B20_PIN, 1); HAL_Delay(bit ? 50 : 1); // 恢复时间 } -
读一位数据
uint8_t DS18B20_ReadBit(void) { uint8_t bit = 0; HAL_GPIO_WritePin(DS18B20_PORT, DS18B20_PIN, 0); HAL_Delay(2); // 拉低2us后释放 HAL_GPIO_WritePin(DS18B20_PORT, DS18B20_PIN, 1); HAL_Delay(10); // 等待10us读取电平 bit = HAL_GPIO_ReadPin(DS18B20_PORT, DS18B20_PIN); HAL_Delay(50); // 恢复时间 return bit; } -
读取温度主函数
float DS18B20_GetTemp(void) { uint8_t tempL = 0, tempH = 0; uint16_t temp = 0; DS18B20_Init(); DS18B20_WriteByte(0xCC); // 跳过ROM DS18B20_WriteByte(0x44); // 启动转换 HAL_Delay(750); // 等待转换完成 DS18B20_Init(); DS18B20_WriteByte(0xCC); DS18B20_WriteByte(0xBE); // 读暂存器 tempL = DS18B20_ReadByte(); // 温度低字节 tempH = DS18B20_ReadByte(); // 温度高字节 temp = (tempH << 8) | tempL; // 合成16位温度值 return temp / 16.0; // 转换为浮点温度 }
关键说明
-
电气连接
- 数据线需接4.7KΩ上拉电阻
- VDD接3.3V/5V,GND接地
-
精度说明
- 默认12位精度(最大750ms转换时间)
- 温度格式:16位补码(bit15为符号位)
- 转换公式:
温度 = 原始值 × 0.0625
-
调试技巧
- 确保精确的us级延时
- 使用逻辑分析仪捕获单总线时序
- 检查VDD电压(低于3V可能工作不稳定)
注意:以上代码中的延时需要根据主频调整,实际使用时建议用定时器实现精确延时。完整实现需要补充
DS18B20_WriteByte()和DS18B20_ReadByte()函数(基于位操作逐字节读写)。
DS18B20 数字温度计特点
一.DS18B20特点 DS18B20 数字温度计提供12位(二进制)温度读数的数字型传感器。传感器仅需要单总线接口与CPU连接,实现信号送入 DS18B20
2023-09-11 11:19:55
DS18B20 DS18B20 - (Maxim Integrated) - 温度传感器 - 模拟和数字输出
电子发烧友网为你提供()DS18B20相关产品参数、数据手册,更有DS18B20的引脚图、接线图、封装手册、中文资料、英文资料,DS18B20真
DS18B20驱动根据数据手册编写
DS18B20驱动根据数据手册编写#include<reg51.h>sbit ds18b20=P1^4;void delay_ds
资料下载
佚名
2021-11-21 12:06:07
使用1602LCD显示DS18B20数字温度传感器的温度值程序免费下载
本文档的主要内容详细介绍的是使用1602LCD显示DS18B20数字温度传感器的温度值程序免费下载。关于DS18B20电子温度器件可查看单片机练
资料下载
佚名
2019-09-20 17:19:00
基于DS18B20和LabVIEW的多点温度测量系统
今天我们一起完成一个比较完整的作品,基于DS18B20和LabVIEW的多点温度测量系统。我重点介绍实现多点DS18B20温度驱动模块的思路,具体实现大家可以阅读源码。驱动源码参考了不少资料,在此感谢那些乐于分享的
2022-09-26 10:28:27
DS18B20的特点是什么
范围为 -55 ℃ ~+ 125 ℃ ; 在 -10~+ 85°C 范围内,精度为 ± 0.5°C 。(3)持多点组网功能 多个 DS18B20 可以并联在惟一的单线上,实现多点测温。(4)测量参数可配置 DS18B20
DS18B20的相关资料分享
一、环境介绍编程软件: keil5操作系统: win10STM32编程方式: 寄存器开发 (方便程序移植到其他单片机)温度传感器: DS1820DS18B20是一个数字温度传感器,采用的是单总线时序
ds18b20的特性_ds18b20温度传感器应用
本文首先介绍了ds18b20的特性,其次介绍了DS18B20工作原理,最后介绍了ds18b20温度传感器应用。
2020-04-24 09:10:05
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- dtmb信号覆盖城市查询
- EDA是什么?有什么作用?
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 如何进行编码器的正确接线?接线方法介绍
- 什么是场效应管?它的作用是什么?
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- amoled屏幕和oled区别
- 苹果nfc功能怎么复制门禁卡
- 单片机和嵌入式的区别是什么
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 苹果笔记本macbookpro18款与19款区别
- 通讯隔离作用
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机