当前位置: 首页 > news >正文

实验七:基于89C51和DS18B20的温度采集与显示

      一、实验目的

  1. 学习使用DS18B20数字温度传感器采集温度数据。
  2. 使用4位共阳极数码管显示温度数据,显示精度到小数点后两位。
  3. 熟悉89C51单片机的I/O口操作和位选控制。
  • 二、实验器材

  1. 89C51单片机开发板
  2. DS18B20数字温度传感器
  3. 4位共阳极数码管
  4. 三极管8550(用于位选驱动)
  5. 电阻、电容等辅助元件
  6. 杜邦线若干
  • 三、硬件连接

  • (1)数码管连接:

  1. P1.0 - P1.7:分别连接数码管的A - G段和DP(小数点)。

  2. P2.4P2.5P2.6P2.7:分别控制数码管的不同位显示。

  3. 使用8550(PNP型)作为位选驱动,控制数码管位选通。

(2)DS18B20连接

  1. DQ端连接89c51的P2.3

四、软件设计

DS18B20的工作步骤可以分为三步:

  1. 初始化DS18B20
  2. 执行ROM指令
  3. 执行DS18B20功能指令

      其中第二步执行ROM指令,也就是访问每个DS18B20,搜索64位序列号,读取匹配的序列号值,然后匹配对应的DS18B20,如果我们仅仅使用单个DS18B20,可以直接跳过ROM指令。而跳过ROM指令的字节是0xCC。

五、实验结果

  1. 通过上述代码,数码管应能正确显示温度数值,包括小数点后位,满足实验要求。

 

 

六、注意事项

  1. 确保硬件连接正确,尤其是位选控制(P2.4 - P2.7)和电流放大(8550驱动)。
  2. 定期检查硬件连接,确保功能正常。

提交:(1)C51代码实现  (2)仿真或实验图 (3)实验总结

七、补充材料

 (1)DS18B20温度传感器特点

  1. 使用电压范围更宽,电压范围:3.0V ~ 5.5V,在寄生电源方式下可由数据线供电。

相关文章:

  • 源码角度分析 sync.map
  • C++智能指针滥用带来的性能与内存问题有哪些
  • 阿里云bgp服务器优势有哪些?搭建bgp服务器怎么做?
  • Mangodb基本概念和介绍,Mango三个重要的概念:数据库,集合,文档
  • Python在自动驾驶仿真环境中的应用:构建智能驾驶的虚拟世界
  • MySQL基础关键_001_认识
  • 判断图片url损坏无法展示工具类
  • WEB漏洞--CSRF及SSRF案例
  • UNIAPP项目记录
  • Transformer-LSTM-SVM回归
  • 学习基本咖啡知识
  • C# 中重启程序通常意味着关闭当前运行的应用程序实例
  • 豪越科技消防立库方案:实现应急物资高效管理
  • 基于STM32、HAL库的DS28E15P安全验证及加密芯片驱动程序设计
  • 纯C协程框架NtyCo
  • 智慧交警系统架构设计方案
  • RHCE第七章:SElinux
  • leetcode继续c++10/100
  • NOC科普一
  • 明远智睿SSD2351开发板:开启嵌入式开发新篇程
  • 中办、国办印发《安全生产考核巡查办法》
  • 王沪宁主持召开全国政协主席会议
  • 人社部:一季度全国城镇新增就业308万人,同比增加5万人
  • 五一假期上海推出首批16条“市民健康路线”,这些健康提示请收好
  • 当初没有珍惜巴特勒的热火,被横扫出局后才追悔莫及
  • 众信旅游:去年盈利1.06亿元,同比增长228.18%