首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏小点点

    (36)STM32——DS18B20温度传感器

    的回应 //返回1:未检测到DS18B20的存在 //返回0:存在 u8 DS18B20_Check(void) { u8 retry=0; DS18B20_IO_IN();//SET 读取一个位 //返回值:1/0 u8 DS18B20_Read_Bit(void) // read one bit { u8 data; DS18B20_IO_OUT();//SET PG11 读取一个字节 //返回值:读到的数据 u8 DS18B20_Read_Byte(void) // read one byte { u8 i,j,dat; dat=0 return dat; } //写一个字节到DS18B20 //dat:要写入的字节 void DS18B20_Write_Byte(u8 dat) { u8 j; u8 testb; DS18B20_IO_OUT();//SET PG11 OUTPUT; for (j=1;j<=8;j++) { testb=dat

    86930编辑于 2022-12-12
  • 来自专栏全栈程序员必看

    DS18B20温度传感器的工作原理_基于ds18b20的温度报警仿真

    数字温度传感器DS18B20DS18B20是一款常用的高精度的单总线数字温度测量芯片。具有体积小,硬件开销低,抗干扰能力强,精度高的特点。 传感器参数 测温范围为-55℃到+125℃,在-10℃到+85℃范围内误差为±0.4°。 传感器引脚及原理图 DS18B20传感器的引脚及封装图如下: DS18B20一共有三个引脚,分别是: GND:电源地线 DQ:数字信号输入/输出端。 VDD:外接供电电源输入端。 高速暂存器包含: 温度传感器 一个字节的温度上限和温度下限报警触发器(TH和TL) 配置寄存器允许用户设定9位,10位,11位和12位的温度分辨率,分别对应着温度的分辨率为:0.5°C,0.25°C,0.125 开始的8位是产品类型编码(DS18B20是28H),接着的48位是每个器件唯一的序号,最后的8位是CRC校验码。 一线总线系统使用单总线主控来控制一个或多个从机设备。

    2.6K21编辑于 2022-09-30
  • 来自专栏FPGA技术江湖

    基于FPGA的温度传感器ds18b20)驱动设计

    本篇主要讨论基于FPGA的温度传感器ds18b20)驱动设计---第一版 设计实现:利用FPGA驱动DS18b20,读取到温度数值显示到数码管上。 首先介绍DS18b20DS18B20是常用的数字温度传感器,其输出的是数字信号,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。 ft=t&id=862024382902 设计实现:利用FPGA驱动DS18b20,读取到温度数值显示到数码管上。 1. 温度传感器DS18B20。 2. 8. 利用LED显示是否初始化成功,LED点亮表示初始化成功,LED熄灭表示初始化失败。 使用平台:本次设计应用Altera的平台设计(芯片:EP4CE10F17C8)、使用的DS18B20板卡为市面上常见的,如果没有的同学,可以联系笔者购买。

    1.2K10编辑于 2025-01-16
  • 来自专栏嵌入式项目开发

    4.5 51单片机-DS18B20温度传感器

    4.5 DS18B20温度传感器 4.5.1 原理图介绍 图4-5-1 图4-5-2 实验板上的DS18B20模块接在单片机的P3.5 IO口上,在插入DS18B20芯片时,圆弧朝上插入,具体效果可以看上面图片 4.5.2 DS18B20温度传感器介绍 DS18B20是常用的数字温度传感器,其输出的是数字信号,它的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。 DS18B20 共 64 位 ROM(8+48+8)。 (2) RAM数据暂存器:用于内部计算和数据存取,数据在掉电后丢失,DS18B20 共 9 个字节 RAM,每个字节为 8 位。 接着读取温度数据高8位 4.5.7 读取DS18B20温度示例代码(单只DS18B20情景) 下面代码演示了循环读取DS18B20温度的过程,在主函数里1秒的间隔读取一次温度。 DS18B20_ReadByte(void) 函数功能:从DS18B20读取一个字节的数据 返 回 值:读到的数据 */ u8 DS18B20_ReadByte(void) { u8 byte=

    2.8K22编辑于 2022-01-12
  • 来自专栏张国平_玩转树莓派

    树莓派基础实验25:DS18B20温度传感器实验

    一、介绍    温度传感器DS18B20是一款常用的数字温度传感器,具有体积小,硬件成本低,抗干扰能力强,精度高的特点。 DS18B20温度传感器 ? DS18B20温度传感器技术性能描述: ①、 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。 ? 在摄氏度-10 ° C至+85 ° C范围内精度为±0.5 ° C ③、支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定 DS18B20温度传感器实验接线图 第2步:升级操作系统内核。

    2.8K20发布于 2020-09-27
  • 来自专栏嵌入式

    STM32驱动DS18B20温度传感器例程(OLED显示)

    效果展示:DS18B20温度显示效果第一部分:DS18B20温度模块驱动代码头文件(DS18B20.h)展开代码语言:TXTAI代码解释#ifndef__DS18B20_H__#define__DS18B20 nbsp;//读电源的供电方式:0为寄生电源供电;1为外部电源供电​​voidds18b20_init(void);unsignedshortds18b20_read(void);​​#endif第二部分:DS18B20 i>0;i--){ ResetDQ();  //在15u内送数到数据线上,DS18B20在15-60u读数 Delay_us(5);  //5us ();​return Temperature;//返回16位数据bit0-bit7为小数位,bit8-bit14为整数位,bit15为正负位}经过测试,通讯正常,温度读取正确。。 vd_source=544771c3a0efd4ea1dba16527ea8cd52源码获取:公众号后台发送:STM32-DS18B20例程

    62410编辑于 2025-12-11
  • 来自专栏嵌入式项目开发

    【CC2530开发基础篇】DS18B20温度传感器

    一、前言 1.1 开发背景 在本项目中,我们使用德州仪器(TI)的CC2530单片机搭建一个简单的温度检测系统,通过接入数字温度传感器DS18B20,实现实时环境温度的采集和监测。 DS18B20是一种单总线数字温度传感器,具有高精度和易于使用的特点。它支持单线通信协议,仅需要一个数据线即可完成温度数据的采集和传输,从而简化了硬件设计。 为了便于实验调试,本项目将DS18B20的信号引脚连接至CC2530的P0.7引脚,利用单片机的软件功能实现与传感器的通信和数据读取。 本设计的简单架构和高可扩展性不仅适合初学者学习,还为后续的无线传输或其他传感器扩展提供了良好的基础。 温度传感器的环境温度检测系统。

    63210编辑于 2025-05-27
  • 来自专栏嵌入式项目开发

    DS18B20温度传感器完整使用介绍(配合51单片机)

    DS18B20是一款由Maxim Integrated(原Dallas Semiconductor)生产的数字温度传感器,以其高精度、低功耗、灵活的接口方式和易于使用的特性,在各种温度监测应用中被广泛采用 以下是DS18B20的详细介绍: 基本特性 数字输出:DS18B20直接输出数字信号,与传统的模拟温度传感器相比,它简化了与微控制器的接口设计,减少了对模数转换器(ADC)的需求。 此外,多个DS18B20可以通过这条单线总线连接在一起,每个传感器都有一个唯一的64位序列号,使得系统能够识别并单独寻址每个传感器。 汽车电子(发动机温度监控) 医疗设备温度监控 水族箱和养鱼场的水温控制 使用方法 使用DS18B20通常需要遵循一定的通信协议,包括初始化、搜索传感器、读取或设置寄存器等步骤。 DS18B20 共 64 位 ROM(8+48+8)。 (2) RAM数据暂存器:用于内部计算和数据存取,数据在掉电后丢失,DS18B20 共 9 个字节 RAM,每个字节为 8 位。

    1.8K20编辑于 2025-05-27
  • 来自专栏AIoT技术交流、分享

    LabVIEW控制Arduino采集多路DS18B20温度数值(进阶篇—3)

    本篇博文将实现LabVIEW控制Arduino采集多路DS18B20温度数值,关于LabVIEW控制Arduino在基础篇已经讲解过很多种类温度传感器的采集方法。 DS18B20传感器、Arduino Uno和LabVIEW组成多路温度数字测量系统,多路温度数字测量系统框图如下图所示: 其中,2个DS18B20温度传感器并联接至单总线,Arduino Uno作为下位机 项目工程下载请参见:LabVIEW控制Arduino采集多路DS18B20温度数值-单片机文档类资源 3、硬件环境 将DS18B20温度传感器的Vcc和GND分别连接至Arduino Uno控制器的+ Arduino Uno控制器负责读取LabVIEW上位机发来的温度采集命令,并读取对应的DS18B20传感器从而获取温度数据,通过串口发送回上位机LabVIEW软件。 传感器1和传感器2对应的程序框图如下图所示: 项目工程下载请参见:LabVIEW控制Arduino采集多路DS18B20温度数值-单片机文档类资源

    2.5K40编辑于 2022-06-12
  • 来自专栏TopSemic嵌入式

    DS18B20驱动程序调试总结

    DS18B20是一款精度比较好的温度传感器,最重要的是它通过一根导线,既完成通讯,又给芯片供电,在MCU引脚数量比较紧张的时候,确实是个不错的选择。 DS18B20初始化 2. DS18B20接入自检 3. DS18B20写0xcc(SKIP ROM) 4. 写0x44(通知传感器进行温度数据采集与转换) 5. DS18B2再次初始化 6. DS18B20再次接入自检 7. DS18B20写0xcc(SKIP ROM)(倒序即0011 0011,如下图左) 8. DS18B20写0xbe(通知传感器进行数传)(倒序0111 1101,下图右) 9. DS18B20读一个字节 10. DS18B20再读一个字节 11. 数据的预处理 3. 传感器选用DS18B20,因外部封装种类繁多,在此不放链接。 相关代码见链接:https://cowtransfer.com/s/eb589c879ed94a

    1.3K10编辑于 2022-03-31
  • 来自专栏嵌入式项目开发

    基于STM32的智能饮水机系统设计

    【6】水温测量:采用DS18B20实现水温测量,能够准确地测量水温。 【7】出水开关控制:采用SG90电机实现出水开关控制,可以精准地控制出水量。 【8】本地有2个指示灯,绿色和红色灯。 【2】温度测量模块 温度测量采用DS18B20数字温度传感器,通过单总线协议与主控芯片进行通信,实现对水温的精准测量。 4.2 DS18B20温度传感器 DS18B20是一种数字温度传感器,它可以直接测量环境温度并转换为数字信号输出。 DS18B20温度传感器采用一线式总线接口(也叫单总线接口),具有精度高、抗干扰能力强、可靠性高和使用方便等优点。 DS18B20温度传感器的测量范围为-55℃~+125℃,精度为±0.5℃。 传感器内置了温度补偿电路,可以自动补偿温度影响导致的测量误差。 DS18B20温度传感器有多种封装形式,包括TO-92封装、SOIC封装和TO-263封装。

    1.6K21编辑于 2023-07-08
  • 来自专栏嵌入式项目开发

    Linux驱动开发-编写DS18B20驱动

    前言 当前文章介绍如何在Linux系统下编写一个DS18B20温度传感器驱动,测量环境温度,并将DS18B20注册成字符设备,通过文件接口将温度数据传递给应用层。 使用的温度传感器DS18B20,是一个数字温度传感器,非常经典的一款温度传感器,常年应用在各大高校毕设、实验室、毕设、课设场景。 (8)64 位光刻 ROM,内置产品序列号,方便多机挂接。 (9)多样封装形式,适应不同硬件系统。 —> 检测回应信号—> 写0xcc---> 写0xbe---> 循环8次读取温度低字节---> 循环8次读取温度高字节----> 打印温度信息 DS18B20温度转换示例: u16 temp; u8 TL _Read_Byte(); //读取温度高8位MSB temp=((u16)TH<<8)|TL; //将读出的温度高低位组合成16位的值 intT = temp >>

    1.8K40编辑于 2022-04-08
  • 来自专栏嵌入式项目开发

    读取DS18B20温度、测量环境温度信息(单只DS18B20写法)

    DS18B20是一款高精度、高可靠性的数字温度传感器,它以其独特的单线接口和直接输出数字信号的特点,简化了温度测量系统的设计。 1.2 DS1820介绍 DS1820是一款由美国Dallas半导体公司(后被Maxim半导体公司收购)推出的数字化温度传感器,它是世界上第一片支持“一线总线”接口的温度传感器。 DS18B20_Init(void) 函数功能:向DS18B20发送复位脉冲,并检测应答信号 返 回 值:1表示失败,0表示成功 说明: 51单片机IO口默认输出高电平 */ u8 DS18B20_ResetSignal //失败,大概240us } return 0;//初始化成功 } /* 函数名称:u8 DS18B20_WriteByte(void) 函数功能:向DS18B20写入一个字节的数据 函数形参 DS18B20_ReadByte(void) 函数功能:从DS18B20读取一个字节的数据 返 回 值:读到的数据 */ u8 DS18B20_ReadByte(void) { u8 byte=0;

    35810编辑于 2025-05-27
  • 来自专栏嵌入式项目开发

    STM32F407开发板DS18B20应用案例

    【1】DS18B20介绍 DS18B20是一种数字温度传感器,由Maxim Integrated公司生产。 以下是DS18B20温度传感器的主要特点和操作时序: (1)特点: 单总线接口:DS18B20使用单一的数据线进行通信,简化了连接和控制。 内部存储:传感器可内部存储温度数据和配置信息。 低功耗:在非活动状态下,传感器可以进入睡眠模式以降低功耗消耗。 (2)操作时序: DS18B20的操作时序包括复位、写入指令、读取温度等过程。 初始化IO模式*/ DS18B20_OUTPUT(); } /* 函数功能:等待DS18B20的回应 返回1:未检测到DS18B20的存在 返回0:存在 */ u8 DS18B20_Check (void) { u8 retry=0; DS18B20_INPUT() //设置DS18B20输入模式 while(DS18B20_IN&&retry<200) {

    82020编辑于 2023-07-08
  • 来自专栏知识分享

    2.7-Air302(NB-IOT)-基础外设-DS18B20温度传感器实验

    说明 测试 1.注意 传感器当前只支持原装的.原装的背后圆圈里面有个清晰的P 2.安装传感器 3.原理图上也是使用的GPIO17连接的传感器,直接把官方程序下载到开发板以后打开串口调试助手

    25830发布于 2021-12-01
  • 来自专栏嵌入式项目开发

    基于STM32的花卉温室控温系统设计

    该系统利用STM32F103C8T6作为主控芯片,通过与DS18B20温度传感器和0.96寸OLED显示屏等硬件模块的连接,实现对温室内温度的监测和控制。 【2】温度传感器DS18B20 DS18B20是一款数字温度传感器,采用单总线接口进行通信。 具有高精度、防水防尘等特点,非常适合测量温室内的温度。 【3】循环读取DS18B20温度传感器的数据,并将读取到的温度值与阀值进行比较。 【4】如果当前温度低于阀值,则控制继电器闭合,热风机开始加热;否则,打开继电器,停止加热。 四、代码实现 4.1 读取温度显示 下面是使用STM32F103C8T6读取DS18B20温度传感器数据,并将温度显示到OLED显示屏上的实现代码: #include "stm32f10x.h" #include 在主函数中,初始化延迟函数和OLED显示屏,初始化DS18B20温度传感器。然后进入无限循环,在循环中读取DS18B20温度传感器的温度数据,将温度显示到OLED显示屏上。

    89820编辑于 2023-09-28
  • 来自专栏嵌入式项目开发

    基于单片机的数字温度计设计

    该设计采用DS18B20温度传感器进行温度采集,使用LCD1602显示屏进行温度显示,通过按键设置温度的上限和下限阀值,并通过蜂鸣器进行报警。 四、整体设计 4.1 硬件设计 【1】主控芯片选择:STC89C52,具有较好的性能和丰富的外设资源,适合作为数字温度计的核心处理器; 【2】温度传感器:采用DS18B20温度传感器,利用其一线通信功能实现温度采集 4.2 软件设计 【1】GPIO配置:配置主控芯片的GPIO引脚,包括DS18B20温度传感器的引脚、LCD1602显示屏的引脚、按键的引脚和蜂鸣器的引脚; 【2】DS18B20通信:利用主控芯片的IO 然后是一些函数的定义和实现,包括延时函数、DS18B20温度传感器初始化函数、写字节函数、读字节函数等。 通过集成DS18B20温度传感器、LCD1602显示屏、按键和蜂鸣器等功能,实现了温度的采集、显示和报警功能。

    1.4K31编辑于 2023-09-01
  • 来自专栏IT界的小白帽

    B蓝桥杯嵌入式之DS18B20、DHT11

    蓝桥杯嵌入式开发板的扩展板提供DS18B20温度传感器和DHT11温湿度传感器。虽然两者有共同的功能,但是DS18B20的功能非常强大,不容忽视的。 不能只学习DHT11,而忽略DS18B20,下面分别以DS18B20和DHT11来讲解它们的使用方法。 DS18B20讲解 DS18B20电路连接 ? ? DS18B20的使用 DS18B20的使用需要包含ds18b20.c和ds18b20.h文件(比赛时会给)。 >>24); LCD_DisplayStringLine(Line6,str); snprintf((char *)str, sizeof(str), " Temperature:%3d", (z>>8) &0xff); LCD_DisplayStringLine(Line7,str); SEG_DisplayValue(((z>>8)&0xff)/10, ((z>>8)&0xff)%10, 12);

    1.8K51发布于 2019-08-01
  • 来自专栏AIoT技术交流、分享

    DS18B20温度传感器的特性、原理、驱动(华大半导体HC32L136、ESP32驱动)

    ---- 言归正传,说大事分割线~ ---- 1、模组简介 DS18B20的数字温度传感器,可以用来对环境温度进行定量的检测。 DS18B20数字温度传感器是美国DALLAS公司生产的一总线数字温度传感器。 应用于温度控制系统,工业系统,民用产品,温度传感器,或者任何温度检测系统中。 DS18B20管脚定义如下图所示: ? } //等待DS18B20的回应 //返回1:未检测到DS18B20的存在 //返回0:存在 uint8_t DS18B20_Check(void) { uint8_t retry 读时段代码如下所示: //从DS18B20读取一个位 //返回值:1/0 uint8_t DS18B20_Read_Bit(void) { uint8_t data; DS18B20_IO_OUT

    4.3K30发布于 2021-01-20
  • 来自专栏嵌入式项目开发

    基于单片机的太阳能热水器控制器设计

    主控芯片STC89C52与传感器模块、驱动模块和用户界面模块通过IO口进行连接。温度传感器采用DS18B20数字温度传感器,光照传感器采用光敏电阻。 【2】确定传感器类型:选择DS18B20温度传感器和液位传感器作为检测太阳能热水器水温、水位的传感器。 三、代码实现 3.1 DS18B20读取温度 以下是基于STC89C52单片机和DS18B20温度传感器实现读取温度值并打印到串口的示例: #include <reg52.h> #include <intrins.h 3.2 PID算法控制温度 以下是使用STC89C52单片机和DS18B20温度传感器通过PID算法实现热水器恒温控制的代码: #include <reg52.h> #include <intrins.h > #define uchar unsigned char #define uint unsigned int sbit Relay = P1^0; // 继电器控制引脚 // 温度传感器DS18B20

    1K20编辑于 2023-09-06
领券