DS18B20温度控制与1602LCD液晶显示原理及代码

需积分: 10 11 下载量 22 浏览量 更新于2024-07-29 收藏 84KB DOC 举报
"液晶显示计算器的原理图及DS18B20温度控制与1602LCD显示的代码" 这篇资源主要涉及的是一个液晶显示计算器的实现原理,其中包括了与DS18B20温度传感器的接口以及1602LCD显示器的数据控制。这个系统不仅能够进行基本的计算功能,还能实时监测并显示环境温度,同时具备高温和低温报警功能。 首先,液晶显示(LCD)是计算器用户界面的重要组成部分,1602LCD是一种常见的字符型液晶显示器,它能显示两行16个字符。在这个设计中,LCD的相关控制引脚如RS(数据/命令选择),RW(读写信号),和E(使能信号)分别被定义为P2.0,P2.1和P2.2。这些引脚的电平变化决定了数据传输的方向和显示器的操作状态。 接着,DS18B20是一个单线数字温度传感器,它可以提供精确的温度测量数据。在代码中,DS18B20的存在标记被存储在20H寄存器的低位置(flag1equ20H.0),而温度数据则被存储在TEMP_ZHDATA24H到TEMP_TLDATA28H等特定的内存单元。DS18B20的初始化和通信过程由名为"RE_18B20start"的子程序处理,其中包括复位操作。 此外,系统还包含了温度报警功能,高温报警值(TEMPHDATA27H)和低温报警值(TEMPLDATA28H)可以预先设置,当实际测量温度超过这些阈值时,系统可能通过蜂鸣器(BEEPEQUP3.7)或继电器(RELAYEQUP1.3)给出报警提示。用户可以通过键盘输入(如KEY_UDEQU20H.1标记的UP和DOWN键)来设定这些报警值。 程序的执行流程始于主函数(MAIN),其中设置了堆栈指针,并对20H-2FH内存区间进行了清零操作,这是为了初始化系统。然后调用了"SET_LCD"子程序配置LCD,以及"RE_18B20start"来启动与DS18B20的通信。在18B20复位后,如果检测到DS18B20存在(JNB FLAG1, START1),则继续执行后续的温度读取和显示操作。 这个系统集成了计算器、温度监测和报警功能,通过优化的代码实现了与硬件的有效交互,为用户提供了一个实用且具有扩展性的平台。