DS18B20温度传感器与12864 LCD显示实现实例
需积分: 9 23 浏览量
更新于2024-09-18
收藏 35KB DOC 举报
"这篇代码示例展示了如何使用DS18B20温度传感器与12864液晶显示器配合工作,以在LCD上显示温度读数。开发平台基于STC11F32XE系列单片机,该单片机兼容52单片机架构。"
在这段代码中,主要涉及了以下几个关键知识点:
1. **DS18B20温度传感器**:DS18B20是一种数字温度传感器,能够提供精确到0.5°C的温度测量,并且可以通过单总线(One-Wire)接口与微控制器通信。单总线只需要一根数据线即可完成数据传输,简化了硬件设计。
2. **单片机编程**:代码使用了STC11F32XE系列单片机,这是一种基于52系列兼容的单片机。程序语言是基于C语言的,通过包含`reg52.h`头文件,可以直接访问单片机的寄存器进行操作。
3. **12864液晶显示器**:12864是指128x64像素的液晶显示屏,通常用于显示文本或简单的图形。在代码中,通过定义P2口作为LCD的数据线,并设置RS、R/W、E和PSB引脚来控制液晶屏的工作。
4. **I/O端口操作**:代码中定义了一系列sbit变量,如LCD_PSB、LCD_RST等,用于快速访问单片机的输入/输出引脚。通过设置这些引脚的电平,控制LCD的操作,如写入指令、数据,以及复位操作。
5. **函数实现**:
- `resetds()`:对DS18B20进行复位操作,这是与传感器通信的必要步骤。
- `re_one_byte()`:从DS18B20接收一个字节数据,通过检测上升沿读取数据。
- `wr_one_byte(uchardat)`:向DS18B20发送一个字节数据,通过控制DQ引脚实现。
- `get_temp()`:获取DS18B20的温度值,读取高低字节后转换为浮点数表示的温度。
- `delay()` 和 `delay2()`:延迟函数,用于控制操作的时序。
6. **温度显示**:获取到温度值后,将其转换为字符串形式并附加到预定义的字符数组`dis[]`中,最终在12864 LCD上显示。
通过这段代码,开发者可以学习到如何利用单片机处理DS18B20温度传感器的数据,并将结果显示在液晶屏上的基本方法。这对于嵌入式系统开发,尤其是涉及环境监测的应用非常有用。
2018-10-10 上传
2022-09-23 上传
2021-09-28 上传
2023-06-19 上传
2012-05-26 上传
2012-05-26 上传
2011-12-04 上传
点击了解资源详情
点击了解资源详情
QINHAI777
- 粉丝: 0
- 资源: 1
最新资源
- C语言数组操作:高度检查器编程实践
- 基于Swift开发的嘉定单车LBS iOS应用项目解析
- 钗头凤声乐表演的二度创作分析报告
- 分布式数据库特训营全套教程资料
- JavaScript开发者Robert Bindar的博客平台
- MATLAB投影寻踪代码教程及文件解压缩指南
- HTML5拖放实现的RPSLS游戏教程
- HT://Dig引擎接口,Ampoliros开源模块应用
- 全面探测服务器性能与PHP环境的iprober PHP探针v0.024
- 新版提醒应用v2:基于MongoDB的数据存储
- 《我的世界》东方大陆1.12.2材质包深度体验
- Hypercore Promisifier: JavaScript中的回调转换为Promise包装器
- 探索开源项目Artifice:Slyme脚本与技巧游戏
- Matlab机器人学习代码解析与笔记分享
- 查尔默斯大学计算物理作业HP2解析
- GitHub问题管理新工具:GIRA-crx插件介绍