STC89C52单片机:18b20测温与LCD12864显示与报警实现
版权申诉
139 浏览量
更新于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显示控制以及基本的硬件接口设计。此外,还应关注数据类型定义、函数的实现细节和延时策略,这些都是编写此类程序的基础知识。如果有不明白的地方,可以在文档末尾的注释中找到作者提供的帮助和参考。
2022-01-18 上传
2023-06-30 上传
2024-07-05 上传
2023-06-07 上传
2023-04-02 上传
2023-06-28 上传
2023-09-03 上传
2023-06-03 上传
2024-11-13 上传
qwe818961
- 粉丝: 0
- 资源: 5万+
最新资源
- vatsak_sk
- big-data-demo:此存储库是为大数据,mongodb和sql研究而创建的
- SpringTranscationManagerDemo:Spring事务管理实例(编程式、声明式)
- 计步器matlab代码-Pedometer:数字信号处理小项目
- Python库 | datahaven-rev7448.tar.gz
- 扑克手
- job4j_hibernate
- RatsimaharisonFetra_2_18032021:将样机变成网站
- Website
- 普鲁巴斯
- clientsideperfmetriccollection:客户端绩效指标收集
- Python库 | dataframe_diff-0.5.tar.gz
- atom:atom.el -- 用于创建 Atom 提要的 elisp 库
- PhpLiveForms:创建简单的表格
- Olaf:Html
- 骗子