51单片机DB18b20温度传感器数据采集与液晶屏显示
需积分: 10 71 浏览量
更新于2024-09-13
收藏 8KB TXT 举报
本资源是一份基于单片机8051(如AT89C51)的程序设计,主要目的是利用温度传感器DB18b20采集环境温度,并通过液晶屏显示。DB18b20是一种模拟数字转换器(ADC),它能将连续的温度信号转换成数字信号,便于单片机处理。
程序开始时引入了必要的头文件,包括<reg52.h>和<intrins.h>,它们包含了51系列单片机的寄存器定义以及一些内建函数。变量定义部分,如uchar、uint用于数据类型声明,数组codetable1存储了要显示在液晶屏上的字符串,如“2011.11.2.20:16Happybirthday!!”。
接下来的函数定义了液晶控制相关的操作,如write_com()用于设置命令,通过控制RS、P0引脚与E引脚的电平来发送命令给液晶模块;write_data()负责发送数据,将温度转换后的数值写入液晶单元;init()函数则是初始化过程,设置液晶模块的起始地址、显示模式和清空屏幕等。
write_sfm()函数用于向特定位置写入字符串和数字的组合,这对于动态显示温度值非常有用。delay1()函数则是一个简单的延时函数,用于在液晶通信过程中适当延长时间以确保稳定传输。
在程序主体部分,首先设置液晶的初始状态,然后读取温度传感器的数据并将其转化为相应的字符代码,通过调用write_data()和write_sfm()逐个写入液晶的指定位置。这部分体现了单片机与外部设备(如温度传感器和液晶屏)的交互过程。
最后,这段代码展示了如何使用单片机的I/O口控制外设,以及如何将温度数据转换为用户可读的形式。对于学习单片机基础应用和嵌入式系统开发的学生或工程师来说,这是一个实用且具有教育价值的示例。
2018-05-12 上传
2011-04-18 上传
2023-04-25 上传
2023-05-29 上传
2023-07-15 上传
2023-05-28 上传
2023-05-29 上传
2023-07-15 上传
wangyu20041016
- 粉丝: 0
- 资源: 3
最新资源
- Fisher Iris Setosa数据的主成分分析及可视化- Matlab实现
- 深入理解JavaScript类与面向对象编程
- Argspect-0.0.1版本Python包发布与使用说明
- OpenNetAdmin v09.07.15 PHP项目源码下载
- 掌握Node.js: 构建高性能Web服务器与应用程序
- Matlab矢量绘图工具:polarG函数使用详解
- 实现Vue.js中PDF文件的签名显示功能
- 开源项目PSPSolver:资源约束调度问题求解器库
- 探索vwru系统:大众的虚拟现实招聘平台
- 深入理解cJSON:案例与源文件解析
- 多边形扩展算法在MATLAB中的应用与实现
- 用React类组件创建迷你待办事项列表指南
- Python库setuptools-58.5.3助力高效开发
- fmfiles工具:在MATLAB中查找丢失文件并列出错误
- 老枪二级域名系统PHP源码简易版发布
- 探索DOSGUI开源库:C/C++图形界面开发新篇章