DS18S20和DS18B20的区别

时间: 2023-08-10 13:05:13 浏览: 132
DS18S20和DS18B20都是数字温度传感器,由Maxim Integrated公司生产。它们在功能和使用上有一些区别,下面是它们的主要区别: 1. 测量范围:DS18S20的测量范围为-55°C到+125°C,而DS18B20的测量范围更广,为-55°C到+125°C。 2. 分辨率:DS18S20的分辨率固定为12位,而DS18B20具有可配置的分辨率,可以选择9位、10位、11位或12位。 3. 供电电压:DS18S20的工作电压范围为3V到5.5V,而DS18B20可以在3V到5.5V的工作范围内供电。 4. 引脚数量:DS18S20具有3个引脚:供电引脚(VDD)、地引脚(GND)和数据引脚(DQ)。而DS18B20则有3个或4个引脚,其中一个是写保护引脚(DQ),可用于保护EEPROM数据。 5. EEPROM 存储:DS18B20具有内部EEPROM存储器,可以存储设备标识和用户可编程配置寄存器。而DS18S20没有内部EEPROM存储器。 需要注意的是,虽然它们有一些区别,但在通信协议和使用方法上,DS18S20和DS18B20是相同的。它们都使用1-Wire总线协议进行通信,并且可以通过读取温度寄存器来获取温度值。 在选择使用哪种传感器时,你可以根据具体的应用需求和功能要求进行选择。 希望这些信息对你有所帮助!如果你还有其他问题,请随时提问。
相关问题

ds18b20温度转换指令_STM32接口DS18S20温度传感器

DS18B20和DS18S20都是数字温度传感器,但两者在协议上略有不同。下面是关于如何在STM32上使用DS18S20的温度转换指令的步骤: 1. 配置GPIO引脚:将DS18S20的数据线连接到STM32的GPIO引脚上,然后在代码中配置该引脚为输入模式。 2. 重置DS18S20:发送一个初始化序列,即向DS18S20发送一个低电平脉冲,持续至少480微秒,然后等待DS18S20的响应。 3. 发送温度转换指令:向DS18S20发送一个温度转换指令,即向DS18S20发送一个高电平脉冲,持续不少于60微秒,然后等待DS18S20的响应。 4. 读取温度数据:等待DS18S20完成温度转换后,向DS18S20发送读取温度数据的指令,并从DS18S20接收温度数据,并进行计算和解码,以得到实际温度值。 下面是一个示例代码,演示如何在STM32上使用DS18S20的温度转换指令: ```c #include "stm32f10x.h" #define DS18S20_GPIO_PORT GPIOB #define DS18S20_GPIO_PIN GPIO_Pin_12 void delay_us(uint32_t us) { uint32_t i; for(i=0; i<us*8; i++); } void DS18S20_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); GPIO_InitStructure.GPIO_Pin = DS18S20_GPIO_PIN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(DS18S20_GPIO_PORT, &GPIO_InitStructure); } void DS18S20_Reset(void) { GPIO_ResetBits(DS18S20_GPIO_PORT, DS18S20_GPIO_PIN); delay_us(500); GPIO_SetBits(DS18S20_GPIO_PORT, DS18S20_GPIO_PIN); delay_us(60); GPIO_ResetBits(DS18S20_GPIO_PORT, DS18S20_GPIO_PIN); delay_us(500); } void DS18S20_WriteBit(uint8_t bit) { GPIO_ResetBits(DS18S20_GPIO_PORT, DS18S20_GPIO_PIN); delay_us(5); if (bit) { GPIO_SetBits(DS18S20_GPIO_PORT, DS18S20_GPIO_PIN); delay_us(90); } else { delay_us(90); GPIO_SetBits(DS18S20_GPIO_PORT, DS18S20_GPIO_PIN); } delay_us(5); } uint8_t DS18S20_ReadBit(void) { uint8_t bit; GPIO_ResetBits(DS18S20_GPIO_PORT, DS18S20_GPIO_PIN); delay_us(5); GPIO_SetBits(DS18S20_GPIO_PORT, DS18S20_GPIO_PIN); delay_us(10); bit = GPIO_ReadInputDataBit(DS18S20_GPIO_PORT, DS18S20_GPIO_PIN); delay_us(80); return bit; } void DS18S20_WriteByte(uint8_t byte) { uint8_t i; for (i=0; i<8; i++) { DS18S20_WriteBit(byte & 0x01); byte >>= 1; } } uint8_t DS18S20_ReadByte(void) { uint8_t i; uint8_t byte = 0; for (i=0; i<8; i++) { byte >>= 1; if (DS18S20_ReadBit()) { byte |= 0x80; } } return byte; } void DS18S20_StartConvert(void) { DS18S20_Reset(); DS18S20_WriteByte(0xCC); DS18S20_WriteByte(0x44); } float DS18S20_ReadTemperature(void) { uint8_t temp[2]; int16_t raw_temp; float cel_temp; DS18S20_Reset(); DS18S20_WriteByte(0xCC); DS18S20_WriteByte(0xBE); temp[0] = DS18S20_ReadByte(); temp[1] = DS18S20_ReadByte(); raw_temp = ((int16_t)temp[1] << 8) | temp[0]; cel_temp = (float)raw_temp / 16.0f; return cel_temp; } int main(void) { float temperature; DS18S20_Init(); while (1) { DS18S20_StartConvert(); delay_us(750000); temperature = DS18S20_ReadTemperature(); // do something with the temperature value } } ```

ds18b20工作原理

DS18B20是一种数字温度传感器,它基于热电偶效应工作原理。其内部包含一个温度传感器和一个8位存储器,能够以数字方式输出温度值,并且具有单总线接口,可以方便地与微处理器等其他数字系统连接。其工作原理具体如下: 1. 温度传感器:DS18B20采用的是温度传感器芯片DS18S20,其原理是基于热电偶效应。温度传感器由两个不同金属的导体组成,当两个导体的接触点处温度发生变化时,会产生一定的电压差。这个电压差与温度成正比,通过测量电压差就能得到温度值。 2. 存储器:DS18B20内部包含一个8位存储器,用于存储传感器的唯一序列号、温度数据和控制命令等信息。 3. 单总线接口:DS18B20采用单总线接口,即数据线、地线和电源线三根线都集成在一起,方便与其他数字系统连接。 4. 工作流程:DS18B20采样温度的流程如下:首先,主控芯片向DS18B20发送开始转换命令;然后DS18B20开始采样温度,并将温度值以数字信号的形式发送给主控芯片;最后,主控芯片读取并处理温度值。

相关推荐

最新推荐

recommend-type

华为OD机试D卷 - 在字符串中找出连续最长的数字串(含“+-”号) - 免费看解析和代码.html

私信博主免费获取真题解析以及代码
recommend-type

node-v6.11.0-linux-armv7l.tar.xz

Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
recommend-type

23-22.渗透测试-敏感信息收集工具汇总.mp4

23-22.渗透测试-敏感信息收集工具汇总.mp4
recommend-type

ZCANPRO安装包ZCANPRO-Setup-V2.2.6(20230327)

ZCANPRO安装包
recommend-type

单片机外文翻译at89s52单片机单片机.doc

单片机外文翻译at89s52单片机单片机.doc
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

spring添加xml配置文件

1. 创建一个新的Spring配置文件,例如"applicationContext.xml"。 2. 在文件头部添加XML命名空间和schema定义,如下所示: ``` <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。