DS18B20是一种常用的数字温度传感器,特别适合在微控制器如51单片机上实现多点测温应用。这篇程序是针对DS18B20设计的,主要目标是实现在一个系统中同时读取多个DS18B20的温度值,并通过LCD1602液晶屏进行显示。程序分为两个部分:单个DS18B20的序列号读取和多点测温。 首先,程序包含了对DS18B20接口引脚的定义,如DQ、RS、RW和EN,分别对应数据线、读写控制线和使能线。通过这些引脚,单片机可以发送命令和接收数据。程序还定义了一些全局变量,如字符串数组用于存储序列号,fCode数组存储读取的寄存器值,datadisdata数组用于存储温度数据,以及tvalue用来存放最终的温度值,flag用来指示温度的正负。 核心部分是与DS18B20通信的过程,包括延时函数delay1ms,用于稳定通信周期;wr_com函数负责发送通信命令,通过设置RS和EN引脚来完成;wr_dat函数则是发送数据,确保数据线上的正确数据被写入。这部分代码体现了对DS18B20的一致性寻址和命令解析。 然后,程序引入了LCD1602液晶屏的初始化设置,通过一系列的控制指令调整液晶的工作模式,以便正确地显示数据。这一部分需要确保LCD的同步时序,以保证数据的正确显示。 程序一,即单个DS18B20的序列号读取,首先通过命令读取设备的序列号,将其转换为数值并存储在codestr1和codestr2数组中。这部分展示了如何利用DS18B20的特定命令获取传感器的唯一标识。 对于多点测温,关键在于扩展通信流程,处理多个传感器的读取和识别。理论上,只需在主循环中增加相应的逻辑,按照每个DS18B20的序列号逐个发送读取命令,然后处理返回的数据,更新tvalue和flag,最后刷新LCD1602显示温度。这部分代码没有直接给出,但读者可以基于单点读取的原理进行扩展。 这篇程序提供了DS18B20多点测温的基本框架,包括硬件接口配置、通信协议实现和数据处理,对于理解和实现类似应用具有很高的参考价值。开发者可以根据实际需求修改和完善,例如增加错误检测、温度补偿或其他高级功能。
剩余10页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 深入理解23种设计模式
- 制作与调试:声控开关电路详解
- 腾讯2008年软件开发笔试题解析
- WebService开发指南:从入门到精通
- 栈数据结构实现的密码设置算法
- 提升逻辑与英语能力:揭秘IBM笔试核心词汇及题型
- SOPC技术探索:理论与实践
- 计算图中节点介数中心性的函数
- 电子元器件详解:电阻、电容、电感与传感器
- MIT经典:统计自然语言处理基础
- CMD命令大全详解与实用指南
- 数据结构复习重点:逻辑结构与存储结构
- ACM算法必读书籍推荐:权威指南与实战解析
- Ubuntu命令行与终端:从Shell到rxvt-unicode
- 深入理解VC_MFC编程:窗口、类、消息处理与绘图
- AT89S52单片机实现的温湿度智能检测与控制系统