写得代码用DS18B20只能显示85℃求助各位帮我看看是哪里有问题

首先是要用单片机读取DS18B20的数据

看了一两天时序,基本看懂了首先想写一个初始化程序,让单片机发现DS18B20的存在结果发现压根没反应。

额引脚是 有字的一面朝着自己,然后从左往右是 地数据,电;

我试过直接连IO也试过从电拉一个5.1K的上拉电阻给数据口。但是都不行

(总不能说,PDF上给的是4.7K我用5.1K就鈈行吧?)

程序那个时序图就是一般资料里面的。

这个过程我试过,先拉高再等待或者先等待再拉高,貌似没啥区别

然后,DS18B20在60到240us內发出一个低电平的存在脉冲

而单片机要做的就是把那条线先拉高,再读取该低电平

我试过自己写的C语言不行,那时我怀疑是时间没控制好后来改了一个汇编的,还是不行

再后来,我用了PDF中的一个例程还是不行。

这个例程作用应该是,如果存在脉冲存在则它會与CY位相或,因而CY会是低电平。否则是高

所以,我在主程序中这么写:

可是,事实上没用,灯没亮

难道是坏的?我昨天刚买的說

}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信