12864显示温度程序:热释电传感器,电机控制,温度上下限调整

需积分: 10 2 下载量 159 浏览量 更新于2024-09-13 收藏 48KB DOC 举报
该资源提供了一个完整的程序,用于实现基于单片机的温度监测系统,具备热释电感应、温度上下限调节、电机驱动以及12864液晶显示屏显示功能。程序涉及到的关键技术包括: 1. **温度测量**:程序中提到了`ds18b20`传感器,这是一款常用的数字温度传感器,能够直接输出数字信号,精确测量环境温度。它通过单总线(One-Wire)通信协议与单片机连接,由`DQ`引脚进行数据交换。 2. **热释电感应**:`sensor`引脚用于连接热释电传感器,这种传感器能检测红外辐射变化,常用于人体接近检测。在系统中,可能被用来触发某些特定操作,比如当有人靠近时开启显示或提醒。 3. **12864液晶显示屏**:12864是显示器的分辨率,表示有128列和64行的显示点,通常用于显示文本信息。程序中使用了`RS`、`RW`、`E`和`PSB`等引脚来控制LCD,这些是标准的液晶显示模块接口。 4. **键盘输入**:程序中定义了`number=4`,表明可以输入4位数的温度值,如xx.x形式,用于设定目标温度。通过`key`变量获取键盘输入,并用`count`记录按键次数。 5. **数据处理**:`tvalue`变量存储原始温度值,`tflag`用于标记温度正负。`new_t`是将温度转换为十进制后的实时温度,`target`是设定的目标温度。`display7`函数可能用于将温度值转化为7段数码管显示格式。 6. **电机驱动**:虽然没有详细说明,但程序中提到“电机带动”,可能涉及到电机控制电路,可能用于驱动风扇或其他设备以调节环境温度。 7. **程序流程**:`flag1`和`enterflag`等标志变量用于控制程序流程,例如判断是否已读取到温度数据,或者确认键是否已被按下。`time_flag`可能是用于计时或延时的。 8. **用户交互**:程序还包含了用户友好的字符串显示,如`codestr1`、`codestr2`等,用于在LCD上显示温度信息和设定提示。 9. **头文件与库**:`reg51.h`是51系列单片机的寄存器定义头文件,`stdlib.h`和`stdio.h`提供了基本的数据类型和输入输出函数,使得C语言编程更方便。 10. **并行与串行通信**:通过`Lcd_BusP0`定义,显示数据通过P0口并行传输到LCD。同时,`PSB`引脚用于切换并行和串行模式,适应不同的通信需求。 以上就是程序涉及的主要知识点,通过这个程序,我们可以了解到一个基本的温度监控系统如何运作,以及如何集成各种传感器、显示设备和用户交互功能。