C51 - DS18B20

news2024/11/17 19:45:24

Thermometer

  • 1> 实验概述
  • 2> 硬件设计
  • 3> DS18B20
  • 4> 单总线(1-Wire)通讯协议
    • 4.1> 复位时序
    • 4.2> 写-DS18B20时序
    • 4.3> 读-DS18B20时序
    • 4.4> 命令
  • 5> 程序设计
    • 5.1> 编程思路
    • 5.2> 代码实现
  • 6> 联调测试


1> 实验概述

实现51单片机,读写单个DS18B20,并将温度值通过串口输出;


2> 硬件设计

2

DQ引脚必须有上拉电阻;


3> DS18B20

31

DS18B20 内部自带温度传感器,能将温度值转为2Byte的数据,提供单总线接口(1-Wire);
主控制器可以通过简单命令进行读写,从而获取温度值;

1

自己理解:类似于DS18B20的这种功能模块,
他们如同大学食堂的每个窗口,你不需要了内部加工过程,只需简单的,说“老板,刀削面来一碗”这样的命令;


4> 单总线(1-Wire)通讯协议


4.1> 复位时序

1

空闲态: DQ保持高电平;
复位脉冲:主控制器将DQ拉低>=480us后,释放;
延时:DQ保持高电平,15~60us;
存在脉冲:DS18B20将DQ拉低60~240us,释放; // 表示准备好;


4.2> 写-DS18B20时序

42主控制器对DS18B20 : 写‘0’

写0:将总线DQ拉低60~120us;

主控制器对DS18B20 : 写‘1’

第1步:将DQ拉低0~15us;
第2步:将DQ拉高,释放总线;

!注意:写0与写1之间,需要间隔1us;


4.3> 读-DS18B20时序

43 DS18B20 写‘0’

第1步:主控制器将DQ拉低>=1us;
第2步:主控制器将DQ拉高,释放总线;
第3步:DS18B20将DQ拉低,14us内释放总线;完成写0;
注意: 主控制器要读,只能在DS18B20拉低期间去采样;

DS18B20 写‘1’

第1步:主控制器将DQ拉低>=1us;
第2步:主控制器将DQ拉高,释放总线;
第3步:DS18B20将DQ拉高,14us内释放总线;完成写1;
注意: 主控制器要读,只能在DS18B20拉高期间去采样;

!注意:读DS18B20,采样时间段都是在前15us;

为什么后45us无效呢,DS18B20这么设计,可能是为了降低功耗;


4.4> 命令


5> 程序设计


5.1> 编程思路


5.2> 代码实现


6> 联调测试

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

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

相关文章

Redis集合底层实现原理

目录 本章重点简单动态字符串SDS集合底层实现原理zipListlistPackskipListquickListKey 与Value中元素的数量 本章重点 掌握Redis简单动态字符串了解Redis集合底层实现原理 简单动态字符串SDS SDS简介 我们Redis中无论是key还是value其数据类型都是字符串.我们Redis中的字符…

从入门到精通:30天速成黑客教程到底有多狠?

首先我谈下对黑客&网络安全的认知,其实最重要的是兴趣热爱,不同于网络安全工程师,他们大都是培训机构培训出来的,具备的基本都是防御和白帽子技能,他们绝大多数的人看的是工资,他们是为了就业而学习&am…

ShardingSphere学习笔记

目录 1. 概述 1.1 分库分表是什么 1.2 分库分表方式 1.2.1 垂直分表 1.2.2 垂直分库 1.2.3 水平分库 1.2.4 水平分表 1.3 小结 1.3 分库分表带来的问题 1.3.1 事务一致性问题 1.3.2 跨节点关联查询 1.3.3 跨节点分页、排序函数 1.3.4 主键避重 1.3.5 公共表 2. …

JavaSE基础(二)—— 类型转换、运算符、键盘录入

目录 一、类型转换 1. 自动类型转换 1.1 自动类型转换的底层原理: ​1.2 自动类型转换的其他形式​编辑 2. 表达式的自动类型转换 3. 强制类型转换 3.1 强制类型转换底层原理​编辑 3.2 注意事项 二、运算符 1. 算数运算符 1.1 案例:数值拆分…

【群智能算法】一种改进的哈里斯鹰优化算法 IHHO算法[1]【Matlab代码#17】

文章目录 1. 原始HHO算法2. 改进的哈里斯鹰优化算法2.1 动态自适应逃逸能量E2.2 拉普拉斯交叉算子2.3 动态自适应权重 3. 部分代码展示4. 仿真图展示5. 资源获取 1. 原始HHO算法 详细介绍此处略,可参考HHO算法介绍 2. 改进的哈里斯鹰优化算法 2.1 动态自适应逃逸…

【算法】刷题中的位运算

作者:指针不指南吗 专栏:算法篇 🐾人类做题的过程,其实是暴搜的过程🐾 文章目录 1.位运算概述2.位运算符3.位运算应用3.1整数的奇偶性判断3.2有关 2 的幂的应用3.3lowbit(x)返回x的最后一位13.4二进制数中1的个数3.5求…

6.S081——陷阱部分(一篇读懂Xv6系统调用)——xv6源码完全解析系列(5)

0.briefly speaking 这篇博客将要开始尝试阅读和研究与Xv6陷阱机制相关的代码,主要有以下文件,最重要的是结合Xv6 book将Xv6处理陷阱的相关逻辑和流程弄透。在Xv6的语境中所谓陷阱的触发有以下三种情况: 系统调用严重错误(比如除…

设备仪器仪表盘读数识别算法 yolov5

设备仪器仪表盘读数识别系统基于YoLov5网络模型分析技术,设备仪器仪表盘读数识别算法模型自动识别指针型仪表读数。Yolo算法采用一个单独的CNN模型实现end-to-end的目标检测,核心思想就是利用整张图作为网络的输入,直接在输出层回归 bounding…

【Maven笔记2】Maven安装与配置

1、前置准备 maven是使用Java语言进行开发的,因此在安装maven之前,先需要有java运行环境。如何确认本机是否安装了JDK环境呢?打开终端运行如下命令: java -version如下图显示说明已经安装了JDK环境。 备注:如何安装J…

Intel Xeon(Ice Lake) Platinum 8369B阿里云CPU处理器

阿里云服务器CPU处理器Intel Xeon(Ice Lake) Platinum 8369B,基频2.7 GHz,全核睿频3.5 GHz,计算性能稳定。目前阿里云第七代云服务器ECS计算型c7、ECS通用型g7、内存型r7等规格均采用该款CPU。 Intel Xeon(Ice Lake) Platinum 8369B Intel …

OSI七层网络参考模型

七层模型的诞生 深夜中,在一家美国酒吧坐着几个正在谈论迪斯尼电影里的7个小矮人,他们把小矮人的名字写在餐巾纸上,有人开玩笑说7对于网络分层是个好数字,这几个人就是制定OSI标准小组的成员,后来OSI真的就设计成了七…

TensorFlow入门图像分类-猫狗分类-MobileNet优化

在上一篇文章中《Tensorflow入门图像分类-猫狗分类-安卓》,介绍了使用TensorFlow训练一个猫狗图像分类器的模型并在安卓应用上使用的全过程。 在这一篇文章中,将采用 MobileNet 来重新训练一个猫狗图像分类器。 一、 MobileNet 介绍 MobileNet是一种轻量…

服务(第十六篇)mysql①基础

什么是数据库? 数据: ①描述事物的符号记录称为数据(Data),数字、文字、图形、图像、声音、档案记录等; ②数据是以“记录”的形式按照统一的格式进行存储的,而不是杂乱无章的。 行&#xf…

35岁以10亿美元身价登上《财富》杂志亿万富豪榜的电商传奇谢家华

Zappos的介绍 Zappos可谓是电商的传奇,国内同类电商是乐淘。Zappos是一家在线卖鞋和服装的公司,1999年创立,2009年被亚马逊以12亿元收购, 多次入选财富杂志最佳雇主公司top100。 Zappos的创始人及CEO 提到Zappos就不得不介绍下…

SQL知识汇总

什么时候用存储过程合适 当一个事务涉及到多个SQL语句时或者涉及到对多个表的操作时就要考虑用存储过程;当在一个事务的完成需要很复杂的商业逻辑时(比如,对多个数据的操作,对多个状态的判断更改等)要考虑&#xff1b…

05.rabbitMQ之搭建的各种坑

1.持久化需要重新设置队列 2.异步发布确认的坑, 生产者发消息太快只会确认最大的编号 1.消费者还是要确认消息 channel.basicAck(message.getEnvelope().getDeliveryTag(), false); 因为你发送的太快了,只会返回成功接收的最大的编号 3.消费者消息堆积(开启了消息手…

InnoDB 磁盘结构之数据字典和双写缓冲区

数据字典(InnoDB Data Dictionary) MySQL中,数据字典包括了: 表结构、数据库名或表名、字段的数据类型、视图、索引、表字段信息、MySQL版本信息、存储过程、触发器等内容 InnoDB数据字典由内部系统表组成,这些表包含用于查找表…

7万字水利数字孪生工程解决方案(word可编辑)

本资料来源公开网络,仅供个人学习,请勿商用,如有侵权请联系删除。 1.1 系统开发方案 1.1.1 系统设计开发思路 (1)基于层次分解的设计 xxx水利数字孪生工程将采用基于层次分解的系统模型,系统采用这种方式进行层次划…

【P5】JMeter CSV Data Set Config(CSV 数据文件设置)

文章目录 一、测试计划演示二、CSV Data Set Config(CSV 数据文件设置)主要参数说明2.1、忽略首行:True2.2、是否允许带引号?:False2.3、遇到文件结束符再次循环?:False2.4、遇到文件结束符停止…

Apache 可能会出手接盘 Google Wave

尽管Google计划在明年终止Google Wave项目,但他们提供Wave in a Box开源项目允许你在自己的服务器上跑一个Google Wave服务玩。据The Register报道,Apache Software Group正在试图将Wave in a Box移植到目前的管理系统里。尽管目前还处于早期孵化阶段&am…