STC89C52单片机:18b20测温与LCD12864显示与报警实现
版权申诉
29 浏览量
更新于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显示控制以及基本的硬件接口设计。此外,还应关注数据类型定义、函数的实现细节和延时策略,这些都是编写此类程序的基础知识。如果有不明白的地方,可以在文档末尾的注释中找到作者提供的帮助和参考。
2191 浏览量
2023-06-30 上传
121 浏览量
2024-07-05 上传
2022-02-14 上传
2023-06-20 上传
2021-10-07 上传
2022-06-25 上传
2022-07-03 上传

qwe818961
- 粉丝: 0
最新资源
- VB实现Excel数据导入到ListView控件技术
- 触屏版wap购物网站模板及多技术源码大全
- ZOJ1027求串相似度解题策略与代码分析
- Excel表格数据合并工具:高效整合多个数据源
- MFC列表控件:实现下拉选择与编辑功能
- Tinymce4集成Powerpaste插件即用版使用教程
- 探索QMLVncViewer:Qt Quick打造的VNC查看器
- Mybatis生成器:快速自定义实体类与Mapper文件
- Dota 2插件开发:TrollsAndElves自定义魔兽3地图攻略
- C语言编写单片机控制蜂鸣器唱歌教程
- Ansible自动化脚本简化Ubuntu本地配置流程
- 探索ListView扩展:BlurStickyHeaderListView源码解析
- 探索traces.vim插件:Vim的范围选择与模式高亮预览
- 快速掌握Ruby编译与安装的神器:ruby-build
- C语言实现P1口灯花样控制源代码及使用指南
- 会员管理系统:消费激励方案及其源代码