day07 51单片机-18B20温度检测

18B20温度检测

1.1 需求描述

本案例讲解如何从18B20传感器获取温度信息并显示在LCD上。

1.2 硬件设计

1.2.1 硬件原理图

在这里插入图片描述

1.2.3 18B20工作原理

可以看到18B20有两根引脚负责供电,一根引脚负责数据交换。18B20就是通过数据线和单片机进行数据交换的。

1)18B20工作时序

在这里插入图片描述

2)初始化信号

在这里插入图片描述

#define DQ P44/*** @brief 初始化方法** @return 1代表存在,0代表不存在*/
static bit Int_DS18B20_Init()
{bit result;// 主机拉低DQ = 0;Delay60us(8);// 主机释放DQDQ = 1;Delay60us(1);// 查看18B20状态result = ~DQ;Delay60us(7);return result;
}

3)写数据时序

写‘1’时序

在这里插入图片描述

写‘0’时序

在这里插入图片描述

写字节

在这里插入图片描述

让18B20测量温度,并将温度保存在RAM中。根据说明书第五节“温度测量”,我们需要向18B20发送功能指令0x44,可以触发温度测量动作,根据上面的事件序列,我们可以得知,这一步的通信流程如下:发送初始化信号。发送跳过ROM命令的指令(因为我们不需要ROM命令),查询ROM命令列表可得知,我们需要向18B20发送0xCC。发送温度测量指令,查询功能命令列表可得知,我们需要向18B20发送0x44。

4)读数据时序

在这里插入图片描述

在这里插入图片描述

5)从18B20中读取刚刚测量的温度。

查询说明书的命令指令可得知,如果我们想读取18B20寄存器,需要向18B20发送功能指令0xBE,再从18B20中连续接收9字节数据。这9字节数据中,只有前两个字节是我们需要的温度数据。所以我们在接收两个字节后,需要再发送一次复位(初始化)信号,打断接下来的数据传输。整个通信流程如下:发送初始化信号。发送跳过ROM命令的指令0xCC。发送读取寄存器的命令0xBE。接收两个字节。发送初始化信号打断传输。

1.3软件设计

1)Util.h

在Util.h中加入新的延时函数声明。

/**

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

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

相关文章

Leetcode-69.x的平方根

题目描述 给你一个非负整数 x ,计算并返回 x 的 算术平方根 。 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。 注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。 示例 …

node.js-模块化

定义:CommonJS模块是为Node.js打包Javascript代码的原始方式。Node.js还支持浏览器和其他Javascript运行时使用的ECMAScript模块标准。 在Node.js中,每个文件都被视为一个单独的模块。 概念:项目是由很多个模块文件组成的 好处&#xff1a…

文件流详细介绍

文件流 使用IO操作文件时,要注意流关闭和释放问题! FileAccess,访问权限(只读,只写,可读可写) 1)FileAccess.Read: 用法:获得对文件的读取访问权限,进而可以从文件中读取数据(只读)…

找不到msvcp140dll,无法继续执行代码的详细解决方法

在我们日常使用计算机进行各类工作任务的过程中,时常会遭遇一些突发的技术问题。比如,有时在运行某个重要程序或应用软件时,系统会突然弹出一个令人困扰的错误提示:“电脑提示找不到msvcp140.dll文件,因此无法继续执行…

AI预测福彩3D第9套算法实战化测试第1弹2024年4月22日第1次测试

经过前面多套算法的测试,总结了一些规律,对模型优化了一些参数,比如第8套算法的测试,7码的命中率由最开始的20%提高到了50%。虽然命中率有了很大的提高,但是由于咱们之前的算法只是为了测试和记录,提供的方…

20.Unity飞机大战游戏

1任务:使背景图动起来 2任务:飞机换帧动画 3任务:让飞机发射子弹 4任务:敌机出现 5任务:控制飞机 6任务:游戏碰撞逻辑 7任务:另外两种类型的敌机 8任务:拾取奖励物品换枪 9…

C语言中与内存操作有关的一些函数

前提 最近在使用C语言在开发项目时,要对内存进行操作。刚开始写的时候有一点迷糊,看了一些东西后才发现为什么说指针是C语言的灵魂,因为它可以对内存直接进行操作,多么帅的事情,真的是太帅了。 malloc 声明在头文件…

YOLOv9改进策略 | Conv篇 | 利用 Haar 小波的下采样HWD替换传统下采样(改变YOLO传统的Conv下采样)

一、本文介绍 本文给大家带来的改进机制是Haar 小波的下采样HWD替换传统下采样(改变YOLO传统的Conv下采样)在小波变换中,Haar小波作为一种基本的小波函数,用于将图像数据分解为多个层次的近似和细节信息,这是一种多分…

Spring AI 教程(一)概述

前言 我在23年11月那会儿关注了Spring AI项目,当时我恰好正热衷于大语言模型的开发,然而当时主流的开发语言只有Python,Java生态中并没有强大的框架供我们使用。 我当时也是靠一些封装OpenAI接口的SDK包来玩ChatGPT的,但是整体的体…

Pytorch 的数据处理 学习笔记

一. 数据集Dataset Dataset是一个抽象类,用于表示数据集。可以创建自定义的Dataset类来加载和准备好的数据,无论数据是存储在何处(例如磁盘、内存或其他位置)。PyTorch提供了一些内置的Dataset类,例如TensorDataset、…

【Interconnection Networks 互连网络】Flattened Butterfly 扁平蝶形拓扑

Flattened Butterfly 扁平蝶形拓扑 1. 传统蝶形网络 Butterfly Topology2. 扁平蝶形拓扑 Flattened Butterfly3.On-Chip Flattened Butterfly 扁平蝶形拓扑应用于片上网络 Flattened Butterfly 扁平蝶形拓扑 扁平蝶形拓扑是一种经济高效的拓扑,适用于高基数路由器…

Linux:Win10平台上,用VMware安装centos7.x及系统初始化的相关配置

一、安装过程的配置 1、配置分区 2、配置固定的IP地址 二、系统初始化配置 1、关闭防火墙 2、配置NAT网络环境 3、检查网络 4、配置国内yum源 5、卸载自带的JDK 6、安装JDK8

【机器学习】《机器学习建模基础》笔记

文章目录 单元0 前言单元1 数学建模与机器学习学习目标(一)什么是模型(二)数学模型的分类(三)数学建模的一般步骤(四)机器学习的概念(五)机器学习的分类&…

数据安全中的存储安全包含哪些内容,如何实现数据存储安全

数据安全中的存储安全主要包括以下几个核心内容: 数据备份与恢复: 定期对重要数据进行备份,确保在发生意外删除、破坏或灾难事件时能够快速恢复数据。使用冗余备份策略,如全备、增量备和差异备份,以及异地备份或云备份…

【C++】友元--最全解析(友元是什么?我们应该如何理解友元?友元可以应用在那些场景?)

目录 一、前言 二、友元是什么&#xff1f; 三、友元的感性理解和分类 &#x1f95d;友元的感性理解 &#x1f34b;友元的三种分类 ✨友元 --- 全局函数 ✨友元 --- 成员函数 ✨友元 --- 类 四、友元函数的应用场景 &#x1f34d;操作符重载 :"<<" 与…

Oracle 可传输表空间(Transportable Tablespace)

在数据归档、备份、测试等场景&#xff0c;我们经常需要将数据从一个系统移动到另一个系统&#xff0c;一个较常用的方案是数据的导出/导入&#xff08;export/import&#xff09;&#xff0c;但是在数据量较大的场景&#xff0c;此方案可能比较耗时。而可传输表空间是一种以文…

在Linux系统中搜索当前路径及其子目录下所有PDF文件中是否包含特定字符串

目录标题 方法一&#xff1a;pdfgrep方法二&#xff1a;使用find和xargs与pdftotext&#xff08;将PDF转换为文本&#xff09;组合&#xff0c;然后用grep搜索 方法一&#xff1a;pdfgrep pdfgrep -ri "rockchip" .方法二&#xff1a;使用find和xargs与pdftotext&am…

消息队列选型(RabbitMq、RocketMq、Kafaka)

文章目录 前言RabbitMq优点缺点 RocketMq优点缺点 Kafaka优点缺点 总结 前言 当引入消息队列时&#xff0c;常见的选择包括ActiveMQ、Kafka、RabbitMQ和RocketMQ。然而&#xff0c;近年来&#xff0c;ActiveMQ的活跃度已经下降&#xff0c;很多公司已经不再使用这款消息队列中…

wangEditor集成Word导入(富文本编辑器)

wangEditor集成Word导入(富文本编辑器)&#xff0c;wangEditor – 支持word上传的富文本编辑器&#xff0c;WANGEDITOR实现WORD图片自动转存&#xff0c;JAVA中将WORD转换为HTML导入到WANGEDITOR编辑器中&#xff08;解决图片问题&#xff0c;样式&#xff0c;非常完美&#xf…

视频怎么做成二维码分享?微信扫码播放视频的操作技巧

随着互联网的快速发展&#xff0c;现在大家喜欢通过扫描二维码的方式来获取信息&#xff0c;比如现在通过扫码看视频就是很常见的一种方式。生成二维码的方式可以实现内容传递的简单化&#xff0c;而且可以有效的降低制作者的成本&#xff0c;提升用户的体验效果。 现在使用比…