汇编语言与接口技术实验报告——单总线温度采集

一、 实验要求

实验目的:

  1. 掌握数码管的使用方式
  2. 掌握DS18B20温度传感器的工作原理
  3. 掌握单总线通信方式实现MCU与DS18B20数据传输

实验内容:

  1.     学习DS18B20温度传感器的单总线传输机制,通过单片机MCU的I/O实现温度采集,并将数据显示在数码管上。

二、 实验设计

1.整体思路

该程序主要实现的功能是读取温度传感器的温度值,并在数码管上显示。首先,需要将温度传感器正确地插入到温度传感器接口处。然后,通过单片机读取温度传感器的数据,经过处理后将结果显示在数码管上。

2.流程图

图 1 算法设计流程图

  1. 主要模块设计思路及分析

延时函数(delay):此函数用于实现延时功能,输入参数为延时时间,单位为毫秒。通过while循环实现延时。

数据处理函数(datapros):此函数用于读取温度值并转换为适合在数码管上显示的数字。首先判断温度值的正负,然后根据正负情况对数据进行处理,最后将数据显示在数码管上。

数码管显示函数(DisplayData):此函数用于控制数码管的显示。通过定义一个字符数组,将处理后的温度值存储在数组中,然后通过调用相关的显示函数将数据显示在数码管上。

  • 总结

该程序通过读取温度传感器的数据,经过处理后将结果显示在数码管上。其中,数据处理是核心部分,需要根据温度值的正负情况进行不同的处理。同时,延时函数的实现也需要特别注意,因为延时时间需要精确控制才能保证程序的正常运行。在编写程序时需要注意变量的类型、数据的精度和数据的格式等问题,以确保程序的正确性和可靠性。

附录:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu配置NFS客户端和服务端详解——手把手配置

Ubuntu配置NFS客户端和服务端 如果您想实现远程访问并修改 ROS 主机中 Ubuntu 上的文件,可以通过 NFS挂载的方式。虚拟机上的 Ubuntu 系统可以通过 NFS 的方式来访问 ROS 主机中Ubuntu 系统的文件,NFS 分为服务器挂载和客户端访问。这里虚拟机上的 Ubun…

KubeSphere 在 vsleem 的落地实践

作者:方忠,苏州威视通智能科技有限公司技术经理,开源技术爱好者,长期活跃于 dromara 开源社区并参与贡献。 公司介绍 公司简介 苏州威视通智能科技有限公司,是一家全球领先的全景 AI 平台提供商,结合极致…

界面控件DevExpress WPF属性网格 - 让应用轻松显示编辑各种属性事件

DevExpress WPF Property Grid(属性网格)灵感来自于Visual Studio,Visual Studio启发的属性窗口(对象检查器)让在WPF应用程序显示和编辑任何对象的属性和事件变得更容易! P.S:DevExpress WPF拥有120个控件和库&#x…

Elasticsearch添加7.17.10IK分词器

Elasticsearch添加7.17.10IK分词器 在https://github.com/medcl/elasticsearch-analysis-ik/tree/7.x中未找到7.17.10版本的发布版本,如歌ik版本和Elasticsearch版本不同安装后无法启动。所以下载git上的源代码,并手动编译指定版本IK分词器。 &#xff…

2. 示例:Spring Boot 入门

1.1 概述 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。习惯优于配置 1.2 为什么使用Spring Boot J2EE笨重的开发、繁多的配置、低下的开发效率、复杂的部署流程、第三方技术集成难度大。 1.3 Spring Bo…

HarmonyOS 通过 animateTo讲解角度动画效果

本文 我们依旧来说动画 这次 我们来说角度 我们先写一个这样的代码模板 Entry Component struct Index {build() {Column({space: 30}) {Text("修改元素尺寸").fontSize(38).margin({top:188})Image("https://img2.baidu.com/it/u1814561676,2470063876&f…

gradle版本中-bin与-all区别

打开android studio下载的gradle文件,发现-all比-bin多了一个docs文件夹和一个src文件夹。-bin是编译后的二进制发布版,-all还包含了源码和文档,比-bin大了几十兆,两者其余没有区别。 android开发只关注gradle功能不关注实现的情况…

Rust-借用检查

Rust语言的核心特点是:在没有放弃对内存的直接控制力的情况下,实现了内存安全。 所谓对内存的直接控制能力,前文已经有所展示:可以自行决定内存布局,包括在栈上分配内存,还是在堆上分配内存;支…

虾皮广告数据:​如何利用广告数据优化虾皮(Shopee)销售业绩

在虾皮(Shopee)平台上,广告数据对于卖家来说是至关重要的,它可以帮助卖家了解广告的效果并进行相应的优化。通过监控和分析这些广告数据,卖家可以更好地理解广告的表现,调整广告策略,提高广告的…

网站监测工具的极与极,Site24x7 与百川云

今天我们聊聊我用 Site24x7 的感受。对于有网站监测有需求的站长们来说,Site24x7 确实是个很强大的应用。但是它与百川云网站监测完全不一样,百川云网站监测是适合用中小微企业的交互极简的saas 应用,Site24x7 完全是另一个极端,适…

【我与Java的成长记】之继承详解(二)

系列文章目录 能看懂文字就能明白系列 C语言笔记传送门 Java笔记传送门 🌟 个人主页:古德猫宁- 🌈 信念如阳光,照亮前行的每一步 文章目录 系列文章目录🌈 *信念如阳光,照亮前行的每一步* 前言一、super关…

跨境电商账号频繁?你的IP可能“不干净”了

疫情促进了跨境电商行业的加速发展,许多卖家也抓住了这波流量红利,跨境电商月入数万,数十万甚至数百万的造福神话也不断在上演,但由于国内外电商运营模式不同,多店运营、用户数据收集、刷单等行为都受到了国外平台的严…

【复现】Tenda信息泄露漏洞_19

目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一: 四.修复建议: 五. 搜索语法: 六.免责声明 一.概述 Tenda远端WEB管理是为了在外网(其他网络)可以访问路由器,从而进行管理。 电脑可以通过网线连接…

关于K8S组件,你真正了解多少?

Kubernetes架构图 Kubernetes系统用于管理分布式节点集群中的微服务或容器化应用程序,并且其提供了零停机时间部署、自动回滚、缩放和容器的自愈(其中包括自动配置、自动重启、自动复制的高弹性基础设施,以及容器的自动缩放等)等…

SpringBoot源码分析

一:简介 由Pivotal团队提供的全新框架其设计目的是用来简化新Spring应用的初始搭建以及开发过程使用了特定的方式来进行配置快速应用开发领域 二:运行原理以及特点 运行原理: SpringBoot为我们做的自动配置,确实方便快捷&#…

鸿蒙开发之如何使用ios的页面布局方式开发鸿蒙app

创建一个页面,使用 Stack() 设置其宽高都是 100% 背景颜色设置为粉色,方便查看 Entry Component struct Page {State message: string Hello World 2build() {Row() {Column() {Stack() {Text(this.message).fontSize(50).f…

【python】进阶--->MySQL数据库(四)

一、主键约束 primary key : 唯一标识数据库中的每一条记录. 被主键的值唯一 主键列不能为null 每个表应该都要设置主键添加主键约束 在创建表时,直接在字段后面添加主键约束 create table 表名 (字段名 类型(长度) primary key )创建表时,不直接在字段后面添加主键…

mysql8 源码编译 客户端连接运行 报段异常解决

mysql8 源码编译 客户端连接运行 报段异常解决。解决方案:删除之前编译的文件。先安装libncurses-dev依赖,在重新编译。原因:第一次编译没有libncurses-dev依赖,编译告警,再次编译有缓存,没有引入声明头文件…

选择安全数据交换系统时 要考虑哪些因素?

安全数据交换系统是一种专门设计用于在不同的网络环境(如内部不同网络,内部网络和外部网络)之间安全传输数据的解决方案。它通常包括一系列的技术和流程,旨在确保数据在传输过程中的完整性、机密性和可用性。 安全数据交换系统可以…

基于Apache POI-操作Excel数据-读写

实现: 读(获取) 写(导入) 2.1 介绍 Apache POI 是一个处理Miscrosoft Office各种文件格式的开源项目。简单来说就是,我们可以使用 POI 在 Java 程序中对Miscrosoft Office各种文件进行读写操作。 一般情…