DS18B20多点测温程序与1602 LCD显示

5星 · 超过95%的资源 需积分: 12 17 下载量 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显示器实时显示,对于初学者来说,这是一个很好的学习实践项目,涵盖了硬件接口、通信协议以及简单的用户界面设计。