ds18b20温度转换指令_【原创】基于单片机的DS18B20温度显示

本文详细介绍了如何使用单片机控制DS18B20温度传感器,包括电路解析、程序流程、时序图以及关键操作步骤。强调了复位脉冲、写读时序、数据读写的低位在前原则和延迟时间的重要性。还讨论了分辨率调整、数据采集的临界条件以及在不同延迟设置下的行为。
摘要由CSDN通过智能技术生成

DS18B20电路解析

一:功能要求

(1)DS18B20正确测量温度,小数点后保留一位;

(2)数码管显示芯片测得的数据,然后每2秒一次,发送给串口;

二:原理图

三:程序流程图及流程解析

四:时序图

(1)初始化时序图

是不是觉得DS8B20程序好简单,轻轻松松就能解决?

也许现在的你看到该时序认为极为简单,但是写文档的我之前是何等的纠结

首先讲讲芯片复位的问题

主机发送复位脉冲:

(A)480us≤Master_TX≤960us

(B)数据线SDA释放后慢慢回升时间; 15us≤T_SDA≤60us

(C)60us之后,从机自动拉低,表示从机回应了主机(如果从机没有拉低,可能芯片坏了)

(D)第三步骤操作:SDA=1;delayus(100);present=SDA; //此时从机肯定拉低了,我们可以提取此时SDA的数据,作为判定依据

//presence的判定,需要在 等于0的区域才行,所以 大于60us后再判定

(E)注意,关键点到了,    480us≤ Master_RX;  //必须满足该条件,不然复位会失败;

(2)‘写’时序图  +   ‘读’时序图

再讲讲读写数据的关键点

写数据:

SDA=0;

delayus(2)//大于1us即可;

SDA=1;//释放总线

判定需要写入的数据是1,还是0;//  SDA=1  SDA=0;

延时超过60us即可;

读数据:(在此处栽过跟头)

SDA=0;

delayus(2)//

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值