DS18B20多点测温程序与1602 LCD显示
5星 · 超过95%的资源 需积分: 12 79 浏览量
更新于2024-09-18
收藏 66KB DOC 举报
"DS18B20多点测温(51_C程序),使用51系列单片机实现,包含DS18B20传感器的序列号读取及温度测量,通过LCD1602显示器展示数据。"
这篇描述涉及的知识点包括:
1. **DS18B20传感器**:DS18B20是一款数字温度传感器,能够直接输出数字信号,无需A/D转换,简化了系统设计。它支持一线总线(1-Wire)通信协议,只需要一个数据线就能完成数据传输。
2. **1-Wire协议**:这是一种串行通信协议,由Dallas Semiconductor(现Maxim Integrated)开发,允许在单根线上进行数据传输,适合于设备数量多、布线简单的场合。DS18B20就是1-Wire协议的一个典型应用。
3. **51系列单片机**:这是一种广泛应用的微控制器,如AT89C51,具备低功耗、高性能的特点,适用于各种嵌入式系统。在这个项目中,51单片机作为主控器,负责处理DS18B20的数据并控制LCD1602显示器。
4. **C语言编程**:程序是用C语言编写的,C语言是一种通用的、面向过程的编程语言,适合编写这种底层的硬件控制程序。
5. **序列号读取**:每个DS18B20传感器都有唯一的64位序列号,程序通过特定命令读取这些序列号,以便识别和区分不同的传感器。
6. **温度测量**:DS18B20可以测量-55℃至+125℃范围内的温度,精度可达±0.5℃。程序能够读取传感器的温度数据,并进行处理。
7. **LCD1602显示器**:这是一种常用的字符型液晶显示器,用于显示文本信息。在这个项目中,LCD1602用于显示DS18B20的序列号和测量的温度值。
8. **LCD1602控制函数**:`wr_com`和`wr_dat`是用于向LCD1602发送指令和数据的函数,`lcd_init`则是初始化LCD1602的函数,它们是控制LCD1602显示的基础。
9. **延时函数**:`delay1ms`用于提供延时,确保通信时序的正确性。这里的延时函数通过循环实现,可能不是非常精确,但能满足基础应用需求。
10. **温度正负标志**:`tflag`变量用于表示温度是正还是负,这在显示温度时很重要,因为LCD1602通常无法直接显示符号。
通过以上描述,我们可以看出这个程序实现了DS18B20传感器的多点温度测量,并且使用LCD1602显示器实时显示,对于初学者来说,这是一个很好的学习实践项目,涵盖了硬件接口、通信协议以及简单的用户界面设计。
2013-11-04 上传
2012-07-17 上传
2013-03-14 上传
2010-10-10 上传
点击了解资源详情
点击了解资源详情
zhangjixiang76046355
- 粉丝: 6
- 资源: 71
最新资源
- Fisher Iris Setosa数据的主成分分析及可视化- Matlab实现
- 深入理解JavaScript类与面向对象编程
- Argspect-0.0.1版本Python包发布与使用说明
- OpenNetAdmin v09.07.15 PHP项目源码下载
- 掌握Node.js: 构建高性能Web服务器与应用程序
- Matlab矢量绘图工具:polarG函数使用详解
- 实现Vue.js中PDF文件的签名显示功能
- 开源项目PSPSolver:资源约束调度问题求解器库
- 探索vwru系统:大众的虚拟现实招聘平台
- 深入理解cJSON:案例与源文件解析
- 多边形扩展算法在MATLAB中的应用与实现
- 用React类组件创建迷你待办事项列表指南
- Python库setuptools-58.5.3助力高效开发
- fmfiles工具:在MATLAB中查找丢失文件并列出错误
- 老枪二级域名系统PHP源码简易版发布
- 探索DOSGUI开源库:C/C++图形界面开发新篇章