ds18b20实时温度监控与LCD12864显示程序详解
需积分: 9 81 浏览量
更新于2024-09-11
收藏 7KB TXT 举报
本篇文章主要介绍了如何使用DS18B20温度传感器配合LCD12864液晶显示器实现温度的实时显示。DS18B20是一种常用的数字温度传感器,它能将温度转化为数字信号,方便进行精确测量和控制。文章的核心内容围绕以下几个部分展开:
1. **头文件包含**:
- 包含了`hidef.h`,其中定义了一些通用的编译器宏和类型。
- `derivative.h`,这是针对特定硬件平台的定义文件,可能包含了针对特定引脚(如数据线DQ、RS、RW和E)的配置。
2. **定义变量**:
- 定义了几个用于存储数据的变量,如`uchar A1`, `A2`, 和 `A3`,以及一个用于存储温度值的`uint temp`。
- `DQPORTA_PA0`定义了DQ引脚,用于数据通信。
3. **延迟函数**:`delay2(uint i)`和`delay(unsigned int t)`,用于在数据传输时引入适当的时间间隔,确保通信稳定。
4. **DS18B20初始化函数**:`void Init_Ds18b20()`,用于设置DS18B20的工作模式和地址,以及准备进行后续的通信。
5. **读写函数**:
- `Read_One_Byte()`:读取DS18B20的一字节数据。
- `Write_One_Byte(uchar dat)`:向DS18B20发送一字节的数据,如命令或配置信息。
6. **获取温度函数**:`uint Get_Tmp()`,此函数负责从DS18B20读取并处理温度数据。
7. **温度显示函数**:`DisplayTemp(uint temp)`,将获取的温度值格式化后显示在LCD12864上。
8. **LCD12864驱动函数**:
- `lcd12864_write_cmd(unsigned char command)`:用于发送LCD指令,控制屏幕的显示模式和位置。
- `lcd12864_write_data(unsigned char data)`:发送数据到LCD,用于显示字符或数字。
9. **LCD屏幕定位函数**:`void lcd12864_pos(unsigned char x, unsigned char y)`,用来设置LCD的显示位置。
文章的主要流程是首先通过初始化函数设置DS18B20的通信,然后读取温度数据,将其转换为字符串形式,并通过LCD驱动函数显示在指定的位置。整个过程利用了适当的延时来确保通信的正确性和稳定性。这对于那些想要在嵌入式系统中监控温度的应用来说,提供了实用且易于理解的代码示例。
2013-08-10 上传
2013-08-10 上传
2022-09-21 上传
2009-10-24 上传
2022-07-15 上传
微软体育
- 粉丝: 0
- 资源: 1
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析