18b20转换时间为什么和数据手册的不一样?

2020-01-27 11:26发布

本帖最后由 01bffe806c 于 2013-4-22 00:04 编辑

在温度转换时18b20会拉低总线,转换完会恢复,数据手册给出了转换时间。

无标题3.jpg (265.5 KB, 下载次数: 0) 下载附件 2013-4-21 23:17 上传

也试了一些网上的程序,也是没有转换信号,这是为啥呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
01bffe806c
1楼-- · 2020-01-28 03:53
本帖最后由 01bffe806c 于 2013-8-23 15:09 编辑

今天才注意到那个时间是最大时间,以前真是不认真。这个可能是在寄生电源电量不足的条件下得出来的。普通电源条件下转换还是很快的,几乎瞬间就完成了。这只是个人猜测,网上也找不到相关信息。算是给这个问题一个交代吧。可惜分析仪不给力,有人能帮忙测一下是不是有拉低的过程和转换时间吗?
dz20062008
2楼-- · 2020-01-28 09:00
本帖最后由 dz20062008 于 2013-8-23 23:35 编辑

楼主的意思是在发送转换指令后读取DS18B20的转换状态字,就是收到转换命令后拉高总线,检测有无低电平的转换状态字。
楼主这么一说我也就明白我以前的转换时间短的疑惑了,因为单总线的操作方式是初始化,rom操作命令,ds功能命令。所以发送了转换指令后的下一个操作是读暂存器指令,但DS的指令的每一次操作都需要初始化一次,还有ROM操作指令。

      由于没有进行转换状态查询所以第一次读出来的是85度这个初始值,经过多次循环后当时间累计到内部所需要的转换时间后读出的才是实际的温度,后面的不出现85是因为DS没有断电所以里面储存的是上一次转换的结果,实际很多次读的是旧的值。所以实际的DS的速度并不是比手册上标的快。

这东西还是挺灵敏的,我的七位温度计很远吹口气温度都会马上变高,虽然精度不咋的,也够用了。还有就是这乖乖绝对会轻微自升温,不过精度。5还是有保障的。不知道地线弄短点焊接在散热片上会好些不,貌似无意思。

PS:楼主发送转换命令后释放总线为高,不再做其他操作。用逻辑分析仪看看是否有低电平应答。看哈对应的精度的转换时间是否与手册上标注的一致。楼主检测到了请分享哈。我看了楼主的问题是我有了灵感解决我的一个疑惑,我通过我以前的代码,也验证了我的想法,解决了开机瞬间显示85的毛病。只是没有加入状态查询,也没有测出实际转换时间。楼主成功了要请分享哈

一周热门 更多>