DS18B20单总线多点测温系统实现及代码解析
4星 · 超过85%的资源 需积分: 9 41 浏览量
更新于2024-07-30
5
收藏 22KB DOCX 举报
"DS18B20单总线多点式测温系统是一个基于DS18B20传感器的温度测量解决方案,该系统能够通过单总线接口连接多个传感器,实现分布式温度检测。文中提供的内容是针对这个系统的两个程序,帮助用户更好地理解和应用。其中一个程序段展示了如何在液晶屏上显示测量到的温度值。"
在这个系统中,DS18B20传感器是关键组件,它具有数字输出功能,能够在一根线上同时连接多个传感器,大大简化了硬件布线。每个DS18B20都能独立测量温度,并将结果通过单总线传输给微控制器。单总线的特点是只需要一根数据线,加上电源线和地线,即可实现数据通信,非常适合于资源有限的嵌入式系统。
程序段中展示的代码是用于处理DS18B20传感器数据并显示在1602液晶屏上的部分。首先,`#include<reg51.h>`和`#include<xuanze.h>`引入了必要的头文件,`reg51.h`通常包含51系列单片机的寄存器定义,而`xuanze.h`可能包含了与单总线通信相关的函数声明。`unsignedintshu[]`数组存储了0-9的ASCII码,用于转换温度值的十进制数字到字符显示。
`flcd_1602()`函数初始化液晶屏并写入温度数据。`init(0x80)`等语句设置液晶屏的控制命令,如设置显示位置、开启显示、清屏等。`write_data()`函数用于向液晶屏写入数据,如温度单位符号、"is:"等提示文本以及实际的温度值。
温度值`t`被转换为适合显示的格式。如果温度值为负,代码会处理负号的显示。例如,当`t/1000`不为0时,表示温度值的百位不为0,此时会显示负号(ASCII码为0x2D)和百位数字。否则,若温度值小于100,会显示一个负号前的填充字符(ASCII码为0xFE),然后显示十位数字。
通过这个程序,我们可以了解到DS18B20单总线多点式测温系统的数据处理流程,包括读取传感器数据、转换温度值、以及在液晶屏上直观呈现这些信息的方法。这样的系统广泛应用于环境监测、智能家居、工业自动化等领域,提供了一种高效、经济的温度测量方案。
2013-11-04 上传
2012-10-10 上传
2011-08-25 上传
2011-08-25 上传
2021-05-14 上传
2011-04-05 上传
2009-06-30 上传
2022-11-30 上传
zhangjixiang76046355
- 粉丝: 6
- 资源: 71
最新资源
- AEDSI_Practical_Works:毕业时我们在UFV制作的实用作品
- Uart_C51串口_
- openapi_parser:使用 OpenAPI3 定义验证和强制参数
- 司守奎《数学建模与算法应用》 matlab代码的python重编 .zip
- terminal-working-env:该项目包括一些bash脚本,以提高终端的工作效率
- 基于LSTM实现的写诗“机器人”.zip
- Python库 | aws_cdk.aws_eks_legacy-1.84.0-py3-none-any.whl
- Remote_Jobs:查找远程开发工作的网站列表
- 较为周全的Asp.net提交验证方案_C#_
- java芋道源码-ThinkInTechnology:用技术思考
- 常用异常检测算法(Isolation Forest、CBLOF、KNN)
- ElvUI_WindTools:ElvUI的可定制增强
- ListView 实现点击侧边A-Z快速查找(实用1).zip
- Chat:在https中进行实时聊天访问
- 基于 LSTM 的 DGA(Domain Generation Algorithms)域名分类,
- 记事本_especially44v_记事本_