可以读出ROM中固化的序列号,但是读取温度就是0x07ff。能读出ROM中的内容应该说明读写时序没问题,但是又读不出正确的温度。难道说是温度转化功能失效了?
注:连接为外部供电,4.7k上拉。单一元器件。温度转化时间绝对在750ms以上。
DS18B20的程序非常成熟,记得6年前大家就开始用DA18B20,楼主百度或GOOGLE 下,
下载一些你对应处理器(ARM或者单片机)的程序,然后对应测试 ,多读几次,看是否正确?
这样可以先排除硬件问题?或者最后定位是硬件问题
如果最后你下载的程序,读取温度正常,就好好查下 你自己的软件。
另外还注意有些时候DS18B20容易被烧坏,你换一片新的DS18B20试试
DS18B20好像就一个DQ脚
时序也较简单
貌似大家都用过这东西
电脑里面都保留着代码
楼主可以用一下大家的好用的代码
测试一下
看看是程序的问题,还是传感器本身出了问题
帮顶,学校里一讲到温度传感器都是DS18B20,不过自己没有跳过
我用的是stc的片子,唯一怀疑的地方就是延迟指令的差别上。不过是对照着汇编指令计算的,不应该有问题。
引用: 引用 7 楼 jiqiang01234 的回复:
我用的是stc的片子,唯一怀疑的地方就是延迟指令的差别上。不过是对照着汇编指令计算的,不应该有问题。
程序是调的,不是计算的!呵呵!更改时间长度,多作试验!注意命令的顺序,
谢谢各位的解答,最后确认是芯片本身的问题,确实是温度转换功能失效。换了一个新的,完全没有问题。