江协科技51单片机学习- p29 DS18B20温度传感器

news2024/9/19 10:39:37

   🚀write in front🚀  
🔎大家好,我是黄桃罐头,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流
🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​ 

💬本系列哔哩哔哩江科大51单片机的视频为主以及自己的总结梳理📚 

前言:

本文是根据哔哩哔哩网站上“江协科技51单片机”视频的学习笔记,在这里会记录下江协科技51单片机开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了江协科技51单片机教学视频和链接中的内容。

引用:

51单片机入门教程-2020版 程序全程纯手打 从零开始入门_哔哩哔哩_bilibili

​​​​​c51语言变量语句意思,C51中循环语句-CSDN博客

正文:

0. 🌿概述

在淘宝上购买了江协科技51单片机开发板套件(普中科技STC51单片机A2型号),就上在上一篇博文里说的自己计划学习下江协科技51单片机开发教程,通过STC51单片机这种MCU这种贴近于裸机的开发来增加对于系统硬件层面知识的了解和掌握。

术语和缩略语

缩写全称说明
1-WireOne-Wire Bus单总线
ScratchpadScratchpad暂存器

1. 🚀 DS18B20温度传感器介绍

DS18B20是一种常见的数字温度传感器,其控制命令和数据都是以数字信号的方式输入输出,相比较于模拟温度传感器,具有功能强大、硬件简单、易扩展、抗干扰性强等特点

  • 测温范围:-55°C 到 +125°C
  • 通信接口:1-Wire(单总线)
  • 其它特征:可形成总线结构、内置温度报警功能、可寄生供电

DS18B20是数字温度传感器,其输入输出是数字量,相对于模拟温度传感器,功能强大,使用简单。如果使用模拟温度传感器,例如热敏电阻,那么需要将一个电阻和热敏电阻串联起来,热敏电阻的阻值随着温度而变化,热敏电阻的电压分值也就随着温度而变化,使用AD(模式数字转换器)转换器来采集热敏电阻的电压分值,然后将电压分值转换为温度阻值。可以发现使用模拟温度传感器,需要AD模拟数字转换器,电路复杂。

2. 🚀引脚及应用电路

引脚说明
GND电源地
DQ单总线接口
VDD电源(3.0V ~ 5.5V)

DS18B20支持寄生供电,使用寄生供电可以减少引脚接线的使用,直接使用DQ作为寄生供电

 3. 🚀单总线通信协议

  • 单总线是由Daslas达拉斯公司开发的一种异步通用数据总线
  • 一根通信线:DQ
  • 异步,半双工
  • 单总线只需要一根通信线即可实现数据的双向传输,当采用寄生共供电时,还可以省去设备的VDD线路,此时,供电通信只需要DQ和GND两根线。

单总线使用的时候有一些弊端,其使用和应用范围远没有I2C的使用广泛。几乎是DS18B20托起了单总线协议的一片天。

单总线的电路规范

  • 设备的DQ均要配置为开漏输出模式
  • DQ添加一个上拉电阻,阻值一般为4.7K欧姆左右
  • 若此总线的冲击采用寄生供电,则主机还需要配置一个强上拉输出电路。

单总线时序结构

初始化:当主机将总线拉低至少480us,然后释放总线,等待15-60us后,存在的从机会拉低总线60-240us以响应主机,然后从机将释放总线。

问题:这里的时间都是一个范围,不好估计要等待多长时间,最后程序里都使用一个中间值。

单总线发送一位

发送一位:主机将总线拉低60-120us,然后释放总线,表示发送0;主机将总线拉低1~15us,然后释放总线,表示发送1.从机将在主机法蒂30us后(典型值)读取电平,整个时间应大于60us。

 

单总线读取一位

接收一位:主机将总线拉低1~15us,然后释放总线,并在拉低后15us内读取总线电平(尽量贴近15us的末尾),读取为低电平则为接收0,读取为高电平则为接收1,整个时间拍你应该大于60us。

发送一个字节

发送一个字节:连续调用8次发送一位的时序,依次发送一个字节的8位,低位在前。

接收一个字节:连续调用8次接收一位的时序,依次接受一个字节的8位,低位在前

 4.🚀DS18B20操作流程

每次对DS18B20进行操作都必须按照如下的步骤,每次对DS18B20操作之前都必须进行初始化

  • 初始化:从机复位,主机判断从机是否响应
  • ROM操作:ROM指令+本指令需要的读写操作
  • 功能操作:功能指令+本指令需要的读写操作

ROM操作就是对DS18B20寻址比较,功能操作就是RAM操作, 

 

执行"CONVERT T"功能指令,就会将温度传感器里的转换一次并放到RAM暂存器(ScratchPad)里。

 功能指令:

  • CONVERT T:温度传感器转换一次温度,并更新到ScratchPad暂存器里,即更新一次温度。
  • WRITE SCRATCHPAD :写暂存器
  • READ SCRATCHPAD:读暂存器
  • COPY SCRATCHPAD:将暂存器里的值写入到E2PROM
  • RECALl E2:将E2PROM里的值调到暂存器

5. 🚀DS18B20数据帧

  DS18B20数据帧,读取温度需要进行的操作:

温度转换:初始化->跳过ROM->开始温度转换

温度读取:初始化->跳过ROM->读暂存器->连续的读操作

6. 🚀DS18B20温度存储格式

DS18B20温度传感器中的温度存储格式,实际上是一种二进制的补码格式的形式,第4位的bit[3:0]表示小数,2^(-4)表示最小为0.0625的分辨率。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1957568.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2-49 基于matlab的表面缺陷的自动分割

基于matlab的表面缺陷的自动分割。基于梯度图操作,对得到的梯度图进行开运算去噪,二值化后经过一定的形态学处理得到缺陷轮廓。通过在两个尺度上同时操作,高尺度的图精细,噪点多;低尺度的图粗糙,但包含的噪…

【人工智能】人工智能概述(二)人工智能的关键技术

文章目录 一. 机器学习与深度学习1. 机器学习2. 深度学习 二. 计算机视觉1. 基本概念和分类2. 未来计算机视觉面临的主要挑战 三. 自然语言处理1. 基本概念与分类2. 自然语言处理面临的四大挑战 四. 知识图谱1. 基本概念2. 应用场景 五. SLAM技术1. 基本概念2. 主要分类 六. 人…

Halcon 感兴趣区域

一 感兴趣区域 机器视觉中感兴趣区域是必不可少的,尤其是Halcon。其目的是将集中处理图像中的特定部分。此方法将区域信息与图像矩阵相结合,只与图像中的某些区域保持关联,减少图像处理的像素。使用ROI的优势:第一,减…

Redis学习[1] ——基本概念和数据类型

Redis学习[1] ——基本概念和数据类型 一、Redis基础概念 1.1 Redis是什么,有什么特点? Redis是一个基于**内存的数据库,因此读写速度非常快**,常用作缓存、消息队列、分布式锁和键值存储数据库。支持多种数据结构:…

网络协议二 : 使用Cisco Packet Traceer工具模拟网络环境,集线器,网桥,交换机,路由器,IP,同一网段

1. 安装 Cisco Packet Tracer baidu 网盘地址,感谢大神分享 安装,破解,中文化,都有说明,建议使用7.x的那个版本,感觉比8.x的翻译要完整一点 https://pan.baidu.com/s/18iWBOfhJJRhqgQqdNQcfMQ?pwddcch#…

【C++】实验七

题目: 1、自己找规律利用数组完成下列数据的输出: 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 思路:数据是斐波那契数列的前20项。该数列特点是除第一第二项以…

公交车客流统计产品介绍

在当今智能科技与交通运输融合的背景下,一款新型公交车客流统计产品应运而生。该系统采用先进的双目客流统计算法,实现多通道视频的客流数据统计,以其高实时性和98%的准确性在复杂环境下准确统计人数。 产品特点 双目客流统计算法 该公交车客…

Vscode报错:line too long (84 > 79 characters)

原因:不允许一行超过79个字母,但是该行代码超出该范围。 参考博客:解决Vs CodeFlake8 报错line too long (108 > 79 characters)Flake8(E501)_flake8 line too long-CSDN博客

Git安装以及配置Gitee秘钥

一、Windows环境GIt安装 1、官网下载git,地址:Git - Downloads 2、安装成功后,点击鼠标右键会有Git GUI Here(图形界面)和Git Bash Here(命令窗口) 3、点击Git Bash Here,分别输入以下命令&…

数据库练习4

建库使用库 修改student 表中年龄(sage)字段属性,数据类型由int 改变为smallint 为Course表中Cno 课程号字段设置索引,并查看索引 为SC表建立按学号(sno)和课程号(cno)组合的升序的主键索引,索引名为SC_INDEX 创建一视图 stu info,查询全体学生的姓名&am…

Lingo求解器百度云下载 ling 8.0/lingo 18安装包资源分享

如大家所熟悉的,Lingo是Linear Interaction and General Optimizer的缩写,中文名称为“交互式线性和通用优化求解器”,是一套专门用于求解最优化问题的软件包。 在大部分人认知里,Lingo可用于求解线性规划、二次规划、整数规划、…

【中项】系统集成项目管理工程师-第7章 软硬件系统集成-7.3软件集成

前言:系统集成项目管理工程师专业,现分享一些教材知识点。觉得文章还不错的喜欢点赞收藏的同时帮忙点点关注。 软考同样是国家人社部和工信部组织的国家级考试,全称为“全国计算机与软件专业技术资格(水平)考试”&…

交通数据处理-计算途径某些路段的车辆数

根据车辆的运行轨迹,计算先经过某些路段,再经过某些路段的车辆数。 欢迎关注本人公众号--交通数据探索师 如下表, 其中:vehicle: 车辆编号;route: 车辆轨迹。 以第一行为例,车辆car1按顺序经过了路段123…

从0开始搭建vue + flask 旅游景点数据分析系统(三):开发header部分

这一期开始开发header部分&#xff0c;预期实现两个目标&#xff1a; 右侧显示用户名、退出按钮和头像左侧显示系统的访问的路径 1 修改Layout.vue 先修改el-header部分, <el-header class"header"> <!-- <div class"logo">My Ad…

【leetcode 详解】生成特殊数字的最少操作【中等】(C++思路精析)

题目见下&#xff1a; 测试数据: 解题思路笔记&#xff1a; 最初拿到这道题是很蒙的&#xff0c;联想不到什么数据结构的模型&#xff08;肯定是笔者积累太少了&#xff09;&#xff0c;甚至惯性地想怎么实现“删除数字”的操作&#xff1a;在原字符串中抽出一个字符然后将剩…

趋动科技与天数智芯携手构筑全场景高效算力底座

近日&#xff0c;趋动科技与天数智芯正式推出联合解决方案&#xff0c;该方案基于趋动科技OrionX AI算力资源池化软件以及天数智芯通用GPU产品构建AI算力资源池&#xff0c;实现异构算力资源的统一纳管。 经测试&#xff0c;OrionX AI算力资源池化软件与天数智芯通用GPU产品相…

数据结构·红黑树

1. 红黑树的概念 红黑树&#xff0c;是一种搜索二叉树&#xff0c;但在每个节点上增加一个存储位表示节点的颜色&#xff0c;可以是Red或Black。通过对任意一条从根到叶子的路径上各个节点着色方式的限制&#xff0c;红黑树确保没有一条路径会比其他路径长出两倍&#xff0c;因…

【C++11】C++11新纪元:深入探索右值引用与移动语义

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ ⏩收录专栏⏪&#xff1a;C “ 登神长阶 ” &#x1f921;往期回顾&#x1f921;&#xff1a;位图与布隆过滤器 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀C11 &#x1f4d2;1. C11简介…

sentinel的使用以及springcloud整合sentinel

一、为什么要用到sentinel 首先我们要知道的是一个微服务项目如果一个服务挂载掉了&#xff0c;会出现什么情况&#xff0c;是不是回出现一个服务挂载而另一个服务还需要一直调用此服务就很容易导致和它有关联的服务不能被访问到&#xff0c;这也就是我们常常在生活中说到的雪崩…

关于 NASA 航空公司 cmapss 数据集剩余寿命(Rul)预测数据预处理的疑问。

&#x1f3c6;本文收录于《CSDN问答解惑-专业版》专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收…