STC89C52单片机:18b20测温与LCD12864显示与报警实现
版权申诉
178 浏览量
更新于2024-09-08
收藏 18KB DOCX 举报
本资源是一份关于51单片机(如STC89C52)结合DS18B20温度传感器和LCD12864液晶显示器的编程教程文档。主要内容包括以下几个部分:
1. **主程序设计**:这部分代码展示了如何将DS18B20温度传感器的数据读取并转换为可显示的温度值。DS18B20是一种数字温度传感器,通过I2C接口与单片机进行通信。主程序中涉及到与DS18B20的交互、数据处理以及与LCD12864的数据显示。
2. **头文件和库函数**:`lcd.h` 和 `ds18b20.h` 文件包含了一些预定义的类型、宏和常量,例如uchar(无符号字符)、uint(无符号整型)、LCD数据端口寄存器定义等。`lcd.c` 和 `ds18b20.c` 分别是LCD控制和DS18B20驱动的具体实现,可能包含了初始化、数据传输和命令发送等操作。
3. **显示和报警处理**:定义了两个字符数组`Display1`和`Display2`来存储实际温度和报警温度的字符串,用于LCD12864的显示。同时,有标志位`f`用来控制是否触发报警,并使用`sbit`定义了蜂鸣器控制引脚`beep`。整型变量`temp`和`templa`用于存储温度值,`f_temp`则用于浮点型温度的计算。
4. **辅助函数**:如`delay`函数用于实现延时,确保数据稳定后再进行下一步操作,避免干扰。`Key_Scan`函数负责键盘扫描,可能是用于设置报警温度阈值或其他用户输入。
5. **硬件配置**:使用的是11.0592MHz的晶振,开发环境为Keil4.0。该程序旨在演示一个带有温度测量、显示和报警功能的系统,通过LCD12864显示实时温度并在超过预设报警值时启动蜂鸣器。
在阅读这份文档时,学习者可以了解51单片机的基本操作、I2C通信、温度传感器的读取、LCD显示控制以及基本的硬件接口设计。此外,还应关注数据类型定义、函数的实现细节和延时策略,这些都是编写此类程序的基础知识。如果有不明白的地方,可以在文档末尾的注释中找到作者提供的帮助和参考。
2166 浏览量
2023-06-30 上传
111 浏览量
2024-07-05 上传
2022-02-14 上传
2023-06-20 上传
2021-10-07 上传
2022-06-25 上传
2022-07-03 上传
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
qwe818961
- 粉丝: 0
最新资源
- Metronomos电脑定时工具V3.3:免费英文版安装指南
- 使用Ansible自动化Mac设置与配置教程
- 实现ASP.NET网页内容可编辑的技巧与实践
- Vectrosity.v4.0.2 Unity插件:2D/3D画线利器
- 基于ARM平台的PWM LED调光技术解析
- Redis在测试任务中的应用及解决方案探讨
- 解决QTP调试脚本404错误的工具:scd10chs.exe
- TinySox:轻量级C++ Socks5服务器设计,优化嵌入式应用
- React项目创建指南及构建流程
- Spark与MongoDB整合: 利用Spark SQL进行数据交互
- 掌握高效图片缓存管理:picasso-2.3.3.jar与2.4.0.jar
- 深入理解Spring源码:cglib与objenesis依赖解析
- Node.js socket聊天室:实时消息广播与交互
- 专业RMVB修复软件:宏宇向导v2.000.9绿色注册版
- 基于JAVA的StarOA OA系统网站代码解析
- Kube-Scheduler V1.11.1 镜像文件加载指南