ds18b20实时温度监控与LCD12864显示程序详解

需积分: 9 1 下载量 81 浏览量 更新于2024-09-11 收藏 7KB TXT 举报
本篇文章主要介绍了如何使用DS18B20温度传感器配合LCD12864液晶显示器实现温度的实时显示。DS18B20是一种常用的数字温度传感器,它能将温度转化为数字信号,方便进行精确测量和控制。文章的核心内容围绕以下几个部分展开: 1. **头文件包含**: - 包含了`hidef.h`,其中定义了一些通用的编译器宏和类型。 - `derivative.h`,这是针对特定硬件平台的定义文件,可能包含了针对特定引脚(如数据线DQ、RS、RW和E)的配置。 2. **定义变量**: - 定义了几个用于存储数据的变量,如`uchar A1`, `A2`, 和 `A3`,以及一个用于存储温度值的`uint temp`。 - `DQPORTA_PA0`定义了DQ引脚,用于数据通信。 3. **延迟函数**:`delay2(uint i)`和`delay(unsigned int t)`,用于在数据传输时引入适当的时间间隔,确保通信稳定。 4. **DS18B20初始化函数**:`void Init_Ds18b20()`,用于设置DS18B20的工作模式和地址,以及准备进行后续的通信。 5. **读写函数**: - `Read_One_Byte()`:读取DS18B20的一字节数据。 - `Write_One_Byte(uchar dat)`:向DS18B20发送一字节的数据,如命令或配置信息。 6. **获取温度函数**:`uint Get_Tmp()`,此函数负责从DS18B20读取并处理温度数据。 7. **温度显示函数**:`DisplayTemp(uint temp)`,将获取的温度值格式化后显示在LCD12864上。 8. **LCD12864驱动函数**: - `lcd12864_write_cmd(unsigned char command)`:用于发送LCD指令,控制屏幕的显示模式和位置。 - `lcd12864_write_data(unsigned char data)`:发送数据到LCD,用于显示字符或数字。 9. **LCD屏幕定位函数**:`void lcd12864_pos(unsigned char x, unsigned char y)`,用来设置LCD的显示位置。 文章的主要流程是首先通过初始化函数设置DS18B20的通信,然后读取温度数据,将其转换为字符串形式,并通过LCD驱动函数显示在指定的位置。整个过程利用了适当的延时来确保通信的正确性和稳定性。这对于那些想要在嵌入式系统中监控温度的应用来说,提供了实用且易于理解的代码示例。