AT89X51控制的液晶冰箱温控器源代码详解

需积分: 31 5 下载量 134 浏览量 更新于2025-01-07 1 收藏 67KB DOC 举报
本文档详细介绍了液晶显示电冰箱温控器的源程序,适用于基于AT89X51单片机的电冰箱控制系统。程序包含了硬件引脚定义,如液晶显示屏的RS、RW、EN接口以及控制继电器和温度传感器的接线,以及相关的数据类型和宏定义。 1. **硬件配置与引脚定义**: - LCM_RS、LCM_RW和LCM_EN分别定义了液晶显示器的行选、列选和使能控制引脚。 - OUT引脚用于控制继电器,实现电冰箱内部的温度调节。 - TSOR引脚连接到温度传感器,用于实时检测冰箱内的温度变化。 2. **数据类型和常量定义**: - 定义了uchar(无符号字符型)、uint(无符号整型)以及DATAPORT P1(数据端口P1的别名)。 - 使用Busy0x80定义了一个忙标志位,可能在数据通信或处理过程中使用。 - reset()宏定义了一个看门狗定时器的复位和启动操作,确保系统的稳定性。 3. **变量声明**: - temp1和temp2为温度计数值变量,cnt表示计数器,用于计时。 - min、hour用于保存时间信息,T为字符数组,用于存储温度值。 - uchardatabuff数组用于临时存储从液晶屏读取的数据。 - 函数参数如ucharcodestr0、ucharcodestr1和ucharcodestr2是字符串常量,用于显示不同的提示信息。 4. **功能函数声明**: - 函数如fun0、fun1、fun2和fun3可能涉及到按键处理、温度设置调整、按键增减操作以及温度传感器读取等核心功能。 - set_adj()和key()函数可能分别处理温度设置调整和按键输入。 - gettempTS()和initTS()负责获取和初始化温度传感器数据。 - readBTS()和writeBTS()用于液晶显示屏的读写操作,涉及字符数据的传输。 - resetTS(), readTS(), write1TS(), write0TS()与温度传感器相关的操作,可能是读取或设置温度值。 5. **时间处理**: - charmin和hour变量用于存储分钟和小时信息,可能与定时器配合实现自动调节或计时功能。 6. **延迟函数**: - delay15us()是一个延迟15微秒的函数,用于在程序中插入适当的时间间隔,以保证操作的稳定性和准确性。 整个源程序的核心内容围绕着电冰箱温控器的硬件接口操作、数据处理和用户交互,通过这些函数实现了温度监测、设置和显示,旨在提供一个清晰、易于理解和实现的代码基础。