ds18b20的诡异问题

mr.luoli   2010-1-29 17:02 楼主
可以读出ROM中固化的序列号,但是读取温度就是0x07ff。能读出ROM中的内容应该说明读写时序没问题,但是又读不出正确的温度。难道说是温度转化功能失效了?
注:连接为外部供电,4.7k上拉。单一元器件。温度转化时间绝对在750ms以上。

回复评论 (14)

是不是读取地址不对
点赞  2010-1-29 18:10
DS18B20的程序非常成熟,记得6年前大家就开始用DA18B20,楼主百度或GOOGLE 下,

下载一些你对应处理器(ARM或者单片机)的程序,然后对应测试 ,多读几次,看是否正确?

这样可以先排除硬件问题?或者最后定位是硬件问题

如果最后你下载的程序,读取温度正常,就好好查下 你自己的软件。

另外还注意有些时候DS18B20容易被烧坏,你换一片新的DS18B20试试
点赞  2010-1-29 18:27
是不是正负极接反了?
点赞  2010-1-31 02:03
DS18B20好像就一个DQ脚
时序也较简单
貌似大家都用过这东西
电脑里面都保留着代码
楼主可以用一下大家的好用的代码
测试一下
看看是程序的问题,还是传感器本身出了问题
点赞  2010-1-31 06:14
还是先换一片吧,要是不行,再看看时序之类的问题吧
点赞  2010-1-31 11:34
帮顶,学校里一讲到温度传感器都是DS18B20,不过自己没有跳过
点赞  2010-1-31 11:38
我用的是stc的片子,唯一怀疑的地方就是延迟指令的差别上。不过是对照着汇编指令计算的,不应该有问题。
点赞  2010-1-31 21:00
你读出的序列号的检验码是不是正确的?
点赞  2010-1-31 21:38
引用: 引用 8 楼 lin0119 的回复:
你读出的序列号的检验码是不是正确的?

没问题
点赞  2010-2-1 02:23
引用: 引用 7 楼 jiqiang01234 的回复:
我用的是stc的片子,唯一怀疑的地方就是延迟指令的差别上。不过是对照着汇编指令计算的,不应该有问题。

程序是调的,不是计算的!呵呵!更改时间长度,多作试验!注意命令的顺序,
点赞  2010-2-1 10:40
  ROM地址,DS,采集程序都是疑点。
点赞  2010-2-1 10:45
引用: 引用 11 楼 hallowwar 的回复:
? ROM地址,DS,采集程序都是疑点。

请问“疑点”具体是指什么?
点赞  2010-2-1 11:56
怎么读取温度的,什么步骤?仔细看过手册没?
点赞  2010-2-2 01:13
谢谢各位的解答,最后确认是芯片本身的问题,确实是温度转换功能失效。换了一个新的,完全没有问题。
点赞  2010-2-2 22:42
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复