推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

基于51单片机的温度传感器DS18B20传感器单片机实验报告+程序+proteus

更新时间:2026-09-01 14:44:22 大小:1M 上传用户:有理想666查看TA发布的资源 标签:51单片机温度传感器 下载积分:9分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

屏幕截图 2026-09-01 135727.png屏幕截图 2026-09-01 135650.png

屏幕截图 2026-09-01 135629.png屏幕截图 2026-09-01 135713.png

基于51单片机DS18B20温度采集系统功能描述

本设计以STC89C52单片机为核心,采用DS18B20数字温度传感器采集环境温度,通过单总线协议读取并换算,由LCD1602液晶实时显示温度,配套C语言程序与Proteus仿真电路,适用于单片机温度测量实验。

一、系统总体功能

系统由51单片机最小系统、DS18B20传感器、LCD1602显示及电源组成。DS18B20将温度转为数字信号,单片机通过单总线读取16位原始数据,经符号判断与换算得到实际温度,驱动LCD1602显示温度值与单位,测温范围-55℃至+125℃,精度0.0625℃。

二、DS18B20传感模块

DS18B20是单总线数字温度传感器,仅需一根I/O线通信,内置温度传感、模数转换、温度寄存器与64位ROM序列号。支持9至12位可编程分辨率,默认12位时转换时间最大750ms。采用寄生电源或外部3V至5.5V供电,接线简单、抗干扰强。

三、单总线通信程序

单片机通过I/O口模拟单总线时序,程序含初始化、写时隙、读时隙三个底层函数。初始化时主机拉低总线至少480μs后释放,等待存在脉冲应答;写时隙通过拉低时长区分写0与写1;读时隙由主机发起短脉冲后读取返回电平。上层依次发送跳过ROM、温度转换、读取暂存器指令完成采集。

四、温度数据处理

DS18B20返回16位二进制补码温度值,高5位为符号位,低4位为小数部分。程序先判断符号位区分正负,正数直接换算,负数取补码后加负号。12位分辨率下整数部分除以16得整数温度,小数部分按0.0625℃步进换算,最终合成带一位小数的实际温度值。

五、LCD1602显示模块

采用LCD1602字符液晶,4位并行接口与单片机连接。第一行显示"Temperature:"提示,第二行显示当前温度数值,格式为"XX.X C",依次显示符号、整数、小数点、小数及摄氏度单位。显示刷新周期约1秒,数值清晰稳定,超量程时显示错误提示,界面直观。

六、Proteus仿真验证

在Proteus中搭建完整电路,含51单片机、DS18B20模型、LCD1602、晶振复位及电源,加载Keil编译的HEX文件运行。调节DS18B20模型温度设定值模拟不同环境温度,结果显示系统能准确读取并显示温度,单总线时序正确,换算与显示功能正常,各项指标达标,验证了设计正确性。

部分文件列表

文件名 大小
104.基于51单片机的温度传感器DS18B20传感器单片机实验报告+程序+proteus.zip 1M

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载