展开

关键词

DS18B20驱动程序调试总结

注意程序工程中DS18B20.H的定义,及DS18B20.C文件,(同文件夹下附件)其内部函数定义根据DS18B20官方手册进行操作,DS18B20为one wire 通讯,对时序的要求相对严格,DS18B20 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. ,具体的微秒延时将有所调整;特别注意在读时序时的延时,针对32MHZ的本机,在DS18B20.C中已做延时调整(参考正点原子DS18B20试验(72MHZ),使用示波器抓取各个阶段波形,结合DS18B20

18510

Linux驱动开发-编写DS18B20驱动

前言 当前文章介绍如何在Linux系统下编写一个DS18B20温度传感器驱动,测量环境温度,并将DS18B20注册成字符设备,通过文件接口将温度数据传递给应用层。 使用的温度传感器是DS18B20,是一个数字温度传感器,非常经典的一款温度传感器,常年应用在各大高校毕设、实验室、毕设、课设场景。 DS1820接线比较简单,只需要一根线就行,加上两根电源线,一共3根线,并且DS18B20支持硬件序列号寻址,支持一个IO口上挂载多个DS18B20。 2. DS18B20介绍 DS18B20特性: (1)全数字温度转换及输出。 (2)先进的单总线数据通信。 (3)最高 12 位分辨率,精度可达土 0.5 摄氏度。 DS18B20引脚功能 GND 电压地 DQ 单数据总线 VDD 电源电压 NC 空引脚 DS18B20读取温度的步骤: 发送复位信号--> 检测回应信号---> 发送0xCC-->发送0x44-> 发送复位信号

17740
  • 广告
    关闭

    开发者专享福利,1988元优惠券限量发放

    带你体验博客、网盘相册搭建部署、视频渲染、模型训练及语音、文字识别等热门场景。云服务器低至65元/年,GPU15元起

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【STM32】stm32f407 + DS18B20 碰出不一样的火花

    为了使DS18B20准确完成温度转换,当温度转换发生时,IO口必须提供足够大的功率。 DS18B20的工作电流高达1mA,5K的上拉电阻使得IO口没有足够的驱动能力。 如果多个DS18B20在同一个IO上而且同时进行温度的变换时,这个问题将特别尖锐。 2. 执行序列 通过单线总线端口访问 DS18B20 的协议如下: 步骤1. 初始化 步骤2. ROM 操作指令 步骤3. DS18B20 功能指令 步骤1. 总线控制器在发起一条 DS18B20 功能指令之前必须先发出一条 ROM 指令。 步骤3. DS18B20 功能指令 在总线控制器发给欲连接的DS18B20一条ROM命令后,跟着可以发送一条 DS18B20 功能指令。

    58410

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

    DS18B20温度传感器 ? DS18B20模块原理图    DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。 DS18B20测温原理如下图所示: ? DS18B20测温原理    图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号发送给计数器1。 DS18B20温度传感器技术性能描述: ①、 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。 ? DS18B20温度传感器实验电路图 ? DS18B20温度传感器实验接线图 第2步:升级操作系统内核。

    71920

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

    DS18B20读出信息或写入信息仅需要一根线(单总线)读写,总线本身也可以向所挂接的设备供电,而无需额外电源。 本篇博文将实现LabVIEW控制Arduino采集多路DS18B20温度数值,关于LabVIEW控制Arduino在基础篇已经讲解过很多种类温度传感器的采集方法。 传感器、Arduino Uno和LabVIEW组成多路温度数字测量系统,多路温度数字测量系统框图如下图所示: 其中,2个DS18B20温度传感器并联接至单总线,Arduino Uno作为下位机,负责DS18B20 项目工程下载请参见:LabVIEW控制Arduino采集多路DS18B20温度数值-单片机文档类资源 3、硬件环境 将DS18B20温度传感器的Vcc和GND分别连接至Arduino Uno控制器的+ 5V和GND,以给DS18B20提供电源,DS18B20的DQ引脚接至Arduino Uno控制器数字引脚D2,且连接4.7KΩ的上拉电阻,因为DS18B20的DQ引脚正常工作需要添加上拉电阻。

    15230

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

    DS18B20管脚定义如下图所示: ? DS18B20采用Maxim公司专有的1-Wire总线协议,该总线协议仅需要一个控制信号进行通信。 此外,DS18B20也可以由外部电源通过VDD供电。DS18B20内部框图如下所示: ? DS18B20可以通过VDD引脚由外部供电,或者可以由“寄生电源”供电,这使得DS18B20可以不采用当地的外部电源供电而实现其功能。 实现DS18B20的驱动主要有三步: 第一步:初始化DS18B20; 第二步:ROM命令(紧跟任何数据交换请求); 第三步:DS18B20功能命令(紧跟任何数据交换请求); 每次对DS18B20的访问都必须遵循这样的步骤来进行 在主设备初始化写时段后,DS18B20将会在15us至60us的时间窗口内对总线进行采样。如果总线在采样窗口期间是高电平,则逻辑1被写入DS18B20;若总线是低电平,则逻辑0被写入DS18B20

    67630

    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是常用的数字温度传感器,其输出的是数字信号,它的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。 4.5.5 DS18B20时序图 (1). 在通信过程中,DS18B20输出的数据是从低位开始传输的。 4.5.6 读取温度的步骤 总线上只有单只DS18B20的情景(读取一次DS18B20的温度): 1. 接着读取温度数据高8位 4.5.7 读取DS18B20温度示例代码(单只DS18B20情景) 下面代码演示了循环读取DS18B20温度的过程,在主函数里1秒的间隔读取一次温度。

    12510

    STM32入门开发: 编写DS18B20温度传感器驱动(读取环境温度、支持级联)

    二、DS18B20介绍 2.1 DS18B20 的主要特征 1. 全数字温度转换及输出。 2. 先进的单总线数据通信。 3. 最高 12 位分辨率,精度可达土 0.5 摄氏度。 2.2 DS18B20 引脚功能 GND 电压地 DQ 单数据总线 VDD 电源电压 NC 空引脚 2.3 DS18B20 工作原理及应用 DS18B20 的温度检测与数字数据输出全集成于一个芯片之上 2.5 DS18B20时序图 2.5.1 DS18B20 复位及应答关系示意图 每一次通信之前必须进行复位,复位的时间、等待时间、回应时间应严格按时序编程。 DS18B20 读写时间隙:DS18B20的数据读写是通过时间隙处理位和命令字来确认信息交换的。 注意: DS18B20读写数据都是从低位开始传输。

    10020

    B蓝桥杯嵌入式之DS18B20、DHT11

    蓝桥杯嵌入式开发板的扩展板提供DS18B20温度传感器和DHT11温湿度传感器。虽然两者有共同的功能,但是DS18B20的功能非常强大,不容忽视的。 不能只学习DHT11,而忽略DS18B20,下面分别以DS18B20和DHT11来讲解它们的使用方法。 DS18B20讲解 DS18B20电路连接 ? ? DS18B20的使用 DS18B20的使用需要包含ds18b20.c和ds18b20.h文件(比赛时会给)。 因为DS18B20的通信方式是利用一根数据线,即一个I/O既做输入又做输出,要不断的改变I/O的工作模式(输入和输出)。 DHT11的使用 DHT11的使用方法与DS18B20的使用方法一样,需要包含dht11.c和dht11.h文件(同DS18B20的情况一样)。

    68851

    51单片机ds18b20温度检测(51单片机lcd1602电子时钟)

    下面说一下怎么才可以给DS18B20里面的数据读出来。 DS18B20的指令: ①33H一读ROM。读DS18B20温度传感器ROM中的编码(即64位地址)。 ②55H一匹配ROM。 读DS18B20的供电模式。 寄生供电时,DS18B20发送0;外接电源供电时,DS18B20发送1 DS18B20 单线通信功能是分时完成的,它有严格的时隙概念,如果出现序列混乱,1-WIRE 器件将不响应主机,因此读写时序很重要 系统对 DS18B20 的各种操作必须按协议进行。 根据 DS18B20 的协议规定,微控制器控制 DS18B20 完成温度的转换必须经过以下三个步骤 : (1)每次读写前对 DS18B20 进行复位初始化。 (2)发送一条 ROM 指令。

    9530

    树莓派综合项目1:智能温度测量系统实验

    二、组件 ★Raspberry Pi 3主板*1 ★树莓派电源*1 ★40P软排线*1 ★有源蜂鸣器模块*1 ★RGB LED 模块*1 ★DS18B20 温度传感器模块*1 ★PCF8591 AD/DA DS18B20温度传感器   我们可以在编程时通过操纵杆PS2调整下限和上限值。操纵杆PS2有五个操作方向:向上、向下、向左、向右和向下按压。 树莓派 T型转接板 DS18B20温度传感器 GPIO7 G4 SIG 5V 5V VCC GND GND GND 树莓派 T型转接板 PCF8591数模转换模块 SDA SDA SDA SCL SCL destroy() 第6步: DS18B20温度传感器模块程序。 #! #将温度数据文件所在的文件夹名赋值给全局变量ds18b20 def read(): location = '/sys/bus/w1/devices/' + ds18b20 + '/w1_slave

    40030

    51 单片机实现温度计

    通过温度感应元件 DS18B20  能感应周围的温度,然后再通过数码管显示当前的温度 它是这个样子的 当前我在室内,我开了取暖器,它显示温度是 下面是这个程序的源代码  /************* *****/ #include #define uchar unsigned char #define uint unsigned int sbit DS=P2^2; //声明DS18B20 >>1); //读出的数据最低位在最前面,这样刚好一个字节在DAT里 } return(dat); } void tmpwritebyte(uchar dat) //把比特数据借给 DS18B20 //write 0 i=8;while(i>0)i--; DS=1; i++;i++; } } } void tmpchange(void) //DS18B20

    10320

    基于STM32设计的指针式电子钟与万年历

    时钟的时间是直接采用STM32本身的RTC时钟,室内的室温数据采用DS18B20温度传感器获取,STM32芯片的具体型号是STM32F103ZET6,只要是STM32F1系列的开发板,代码都是可以通用的 项目实现主要程序讲解 3.1 流程图 3.2 ds18b2.c 代码 下面列出DS18B20温度传感器主要代码. #include "ds18b20.h" #include "delay.h" ​ //复位DS18B20 void DS18B20_Rst(void) { 的回应 //返回1:未检测到DS18B20的存在 //返回0:存在 u8 DS18B20_Check(void) { u8 retry=0; DS18B20_IO_IN( Read_Bit(); dat=(j<<7)|(dat>>1); } return dat; } //写一个字节到DS18B20

    46230

    基于STM32设计的指针式电子钟与日历

    时钟的时间是直接采用STM32本身的RTC时钟,室内的室温数据采用DS18B20温度传感器获取,STM32芯片的具体型号是STM32F103ZET6,只要是STM32F1系列的开发板,代码都是可以通用的 项目实现主要程序讲解 3.1 流程图 [image-20211231112512719] 3.2 ds18b2.c 代码 下面列出DS18B20温度传感器主要代码. #include "ds18b20.h" #include "delay.h" //复位DS18B20 void DS18B20_Rst(void) { 拉低DQ DelayUs(750); //拉低750us DS18B20_DQ_OUT=1; //DQ=1 DelayUs(15); //15US } //等待DS18B20 的回应 //返回1:未检测到DS18B20的存在 //返回0:存在 u8 DS18B20_Check(void) { u8 retry=0; DS18B20_IO_IN(); //SET

    55720

    蓝桥杯嵌入式之比赛总结

    接下来就是看程序设计题了,LCD、按键、LED、数码管、ADC*2、USART、EEPROM、PWM输入捕获、DS18B20,共9个模块。 看到DS18B20后,立马找比赛提供的驱动,发现只有IIC的,再找,还是没有。 看来谁写出DS18B20的代码,谁就国一了,DS18B20的代码至少200行,谁能背的下来,尤其是其中的参数,参考手册又是英文的,看着都心烦,更别说找了。 赶紧打开看看DS18B20的代码,翻到最下面,好像少了一个函数,温度读取函数。感觉还不如不给,少了这个函数,DS18B20只能初始化,有啥意思。

    1.2K21

    软硬件都开源!基于千兆以太网的温度传感应用

    工程使用ZYNQ作为主控芯片,利用ds18b20进行温度采集,内部所涉及的所有OSI均由ZYNQ固有IP构成,无外接芯片,物理层PHY使用1G/2.5G Ethernet PCS/PMA or SGMII 工程示例包含两种情况,分别为单路ds18b20温度采集传输与双路温度采集传输,两者区别不大。 上位机使用Qt软件设计,包含UDP数据发送与接收功能,并设计有接收内容存储功能。 视频讲解 由于视频中已经对硬件与软件工程进行了介绍,最后就再补充一些调试时遇到的bug: 1、上拉电阻的设置 DS18B20为one-wire型通行总线,也就是其通信引脚只有一个,该引脚既做为输出也做为输入使用 ,所以在进行引脚分配时需要对其设置成弱上拉,使用的指令为: set_property PULLUP true [get_ports {DS18B20}] 2、状态机问题 在设计过程中状态机遇到一个问题

    35420

    远距离串口服务器( 适配器)UART 转 1-Wire 应用

    DS18B20 温度传感器DS18B20 是 1Wire 接口的温度传感器,可实现 12 位精度的温度转换和输出功能。 使用方法简要说明如下。 S2S 协议为: [WIRE][START][WT2H]CC BE[RD2N]模块返回: S2SREC C8 010x01C8 转换为 10 进制为 456,根据 DS18B20 数据手册说明,这个数* WT10H]55 28 AA 32 B9 21 20 03 94 BE[RD2N](下划线部分为已知的芯片 ID)模块返回: S2SREC C8 010x01C8 转换为 10 进制为 456,根据 DS18B20

    7510

    基于CC2530(ZigBee设计)的温度报警器

    硬件接线介绍 2.1 DS18B20温度传感器 2.2 ESP8266 WIFI模块 3. B板上接了DS18B20 温度传感器模块,用于给A板传递检测的温度,A板收到DS18B20的温度之后,发送给手机APP显示。 硬件接线介绍 2.1 DS18B20温度传感器 作为B节点的CC2530开发板上接了DS18B20温度传感器,采集温度传递给A节点。 这是B节点的程序,在主函数1秒采集一次DS18B20温度数据,然后传递给A节点。 下面这个是代码主函数里,1秒的频率向APP上传DS18B20的温度。 3.

    34010

    【STM32】STM32F407 + DHT11

    湿度 ±5%RH, 温度 ±2℃ 供电电压:3.3~5.5V DC 输 出:单总线数字信号 分辨率:湿度1%RH, 温度0.1℃ 关于单总线协议可以查看这篇文章:【STM32】stm32f407 + DS18B20 碰出不一样的火花 二、编程思路 温湿度传感器 DHT11 和 温度传感器 DS18B20 均采用 单总线协议,因此两者的编程思路很相似,不过 DHT11 增加了湿度的测量。 ========== #ifndef __DTH11_H #define __DTH11_H #include "stm32f4xx.h" /************************** DS18B20 DQ_H GPIO_SetBits ( DHT11_DQ_GPIO_PORT, DHT11_DQ_GPIO_PIN ) /************************** DS18B20 ) { GPIO_InitTypeDef GPIO_InitStructure; RCC_AHB1PeriphClockCmd(RCC_DHT11, ENABLE); /*开启DS18B20

    16040

    相关产品

    • 腾讯智慧建筑管理平台

      腾讯智慧建筑管理平台

      腾讯智慧建筑管理平台(微瓴)是深度适配智慧建筑场景的物联网类操作系统,针对于建筑内的硬件、应用等资源,提供物联、管理与数字服务,赋予建筑综合协同的智慧能力,并为建筑管理运营者与建筑业主方提供安全、高效、便利的建筑综合管理运营系统……

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券