DS18B20温度传感器与12864液晶显示AT89S52驱动程序

需积分: 9 1 下载量 45 浏览量 更新于2024-09-18 收藏 5KB TXT 举报
该资源是关于使用DS18B20温度传感器、12864液晶显示屏和AT89S52微控制器进行数据采集和显示的项目。代码主要涉及了DS18B20的数据读取、液晶屏的初始化及数据写入以及延时函数的实现。 在该项目中,DS18B20是一种常用的数字温度传感器,它能够直接输出数字信号,具有精度高、接口简单的特点。DS18B20通过单总线(1-Wire)与微控制器通信,只需要一根数据线和电源线即可完成数据交换。这里的"DQ"引脚连接到P3^4,用于与DS18B20交互。 12864液晶显示屏是一种常见的字符型液晶显示器,具有128行和64列的像素点阵,可以用来显示文字、数字等信息。在代码中,LCD的相关控制引脚如RS、RW、EN等被映射到P2口的不同位,用于控制液晶屏的指令发送和数据写入。LCD的初始化和位置设置功能也得到了实现,以便在指定位置显示数据。 AT89S52是一款8位微控制器,属于ATMEL公司的51系列,拥有8KB的Flash存储器、256B的RAM和32个I/O口线,适用于各种嵌入式控制系统。在这个项目中,AT89S52作为主控器负责处理DS18B20的数据,并将结果显示在12864液晶屏上。 项目中的代码还包含了两个延时函数`delay_1ms`,用于确保指令执行的时序正确,特别是在液晶屏操作和通信过程中。这两个延时函数使用了循环计数的方式,根据参数`x`的不同值产生不同长度的延时。 此外,代码中定义了一些变量如`tvalue`用于存储温度值,`tflag`用于标记数据更新状态,以及`codedis1`到`codedis4`用于存储要在液晶屏上显示的字符串。这些字符串包括了固定提示语如"benbaozi"(表示项目名称或设备标识)、"time:"(时间标签)以及分隔线`+--------+`等。 这个项目实现了利用DS18B20获取环境温度,通过AT89S52微控制器处理数据并将其显示在12864液晶屏上的功能。涉及的知识点包括DS18B20的单总线通信协议、液晶显示屏的控制逻辑、微控制器的程序设计以及延时函数的编写。