51单片机核心钉子户——温度采集模块

之前的学习中我们了解到了一些基本外设的使用,今天我们将利用DS18B20 这款芯片来实现外设的温度采集与主控之间的数据交互

首先我们先来了解一下什么是DS18B20

DS18B20 介绍

1.基本概念

DS18B20 : 数字温度传感器

数据交互模式:

  • 半双工:双方都可以做发送/接收,但同一时刻只能有一方作为发送端/接收端
  • 异步:无时钟线规定发送与接收时间
  • 串行:一根数据线逐个bit 发送数据

2.传感器参数

传感器名称 功能 量程 精度 工作电压 分辨率
DS18B20 温度采集 -55 - 135 ± 0.5 3V - 5.5V 12位 0.0625
  • 分辨率
位数 分辨率
9位 0.5
10位 0.25
11位 0.125
12位 0.0625
  • 默认 12 位 0.0625 的分辨率
  • 最终读取到的数值需要 * 分辨率才可以得到真实的温度数据

3.操作DS18B20 的 ROM 的 指令

  1. 读ROM :向DS18B20 写入(0x33);
  2. 匹配ROM :向DS18B20 写入(0x55);
  3. 搜索ROM :向DS18B20 写入(0xF0);
  4. 跳过ROM :向DS18B20 写入(0xCC);
  5. 报警搜索:向DS18B20 写入(0xEC);

4.外设与主控同时控制串口时的线与特性

1.线与特性:

概念:通信时,一方为低电平,两方都表现为低电平,必须两方都为高电平,在外部强上拉电阻的作用下,双方才能同时表现为高电平

上拉电阻:

  1. 给单总线提供 "稳定高电平"
  2. 保证通信时序正确
  3. 给 DS18B20 供电

执行过程:

释放总线:一方将电平拉高,引脚电平由另一方控制

  • 想要读取DS18B20 数据时,主控需要释放总线,检查引脚电平变化读取DS18B20 给主控的输入

5.DS18B20时序

1.复位时序:

  1. 主机先将总线拉低至少480us,再释放总线,代表主机发送复位脉冲;
  2. 主机如果在60 - 240 us 检测到总线中发出低电平,代表DS18B20 回复了一个存在脉冲
  3. PS18B20 最终释放总线

2.写时序:

1.写0时序:

  1. 主机将总线拉低大于60us
  2. DS18B20 在60us内进行采样,如果采到低电平,则代表发送了一个0;
  3. 主机释放总线,将引脚拉高

2.写1时序

  1. 主机将总线拉低大于1us
  2. 主机释放总线,将引脚拉高
  3. DS18B20 在45 s内,进行采样,如果采到高电平,代表主机发送了一个1;

3.读时序:

  1. 主机将总线拉低大于1us,释放总线,引脚变为高电平
  2. 主机在15us内进行采样
  3. 若采到1个高电平,代表读到,若采到低电平,则读到0
  4. 最终DS18B20释放总线
相关推荐
芯岭技术郦7 小时前
32 位 ARM® Cortex®-M0+ 内核MCU普冉MS32C001-C
单片机·嵌入式硬件
骑着毛驴数星星8 小时前
STM32 CAN波特率与采样点计算,基于HAL库
stm32·单片机·嵌入式硬件
zhangrelay9 小时前
Arduino-MEGA-ESP单片机理论课笔记02-硬件-2026
笔记·单片机·嵌入式硬件
艾芯微科技9 小时前
钰泰 ETA5055V330DD1E|SOT-223 3.3V LDO,低压差、大电流线性稳压选型分享
网络·单片机·嵌入式硬件·集成测试·51单片机
新晨单片机设计10 小时前
S023A-基于STM32单片机智能插座【Proteus仿真+Keil程序+原理图】
stm32·单片机·proteus·单片机智能插座
威嵌神州10 小时前
恩智浦 T1022 性能怎么样?QorIQ 架构中端工业嵌入式优势解析
嵌入式硬件
weixin_6906547410 小时前
龙迅#LT9611EX 现MIPI转HDMI1.4功能主推型号,分辨率高达4K30HZ,IC内置I2C无需外部12C控制。
嵌入式硬件·音视频·信号处理
EatFans11 小时前
全栈自造 Status Deck(四):硬件终于到了,从点亮屏幕到跑通第一个 Demo
单片机·物联网
qq_4017004111 小时前
STM32 GPIO 精讲|推挽 / 开漏 / 上拉浮空,工程选型避坑
stm32·单片机·嵌入式硬件
创界工坊工作室11 小时前
19-基于单片机的宠物喂养控制系统设计
stm32·单片机·嵌入式硬件·proteus·宠物