关于18B20的读写时序矛盾以及转换时间长短的求助

[复制链接]
5906|11
 楼主| playjian 发表于 2010-4-24 23:22 | 显示全部楼层 |阅读模式
最近在学习18B20温度传感器,再时序上,读写都是数据线拉低为开始,而且读写时序中有些几乎是一模一样的时序,想不明白了,那怎么知道是读还是写
18B20的工作是这样的。
初始化---写rom命令--暂存器器命令--相关操作。
是不是写rom后发送暂存器操作命令,如果不是发送读数据命令那么主机都处在发送状态,如果暂存器命令发送的事读数据那么主机开始进入接受状态
是这样的么??


还有就是18B20的12位转换时间为750ms  数据手册上说的是最大转化时间,那一般情况下是多少?为什么网上有一些人说其实才要4ms左右~~那我要是要确保数据一定正确是不是每次转换以后一定要延时750ms。
或者说我不延时,我一直读取1820的忙状态 ,再不忙 也就是转换结束后进行下一步就可以了。是不是这种方法可能还比较节省时间


被18B20困扰了N天~~~等高手解答疑惑
jsjdhuangwei 发表于 2010-4-25 07:16 | 显示全部楼层
看一下振南的关于讲解DS18B20的视频,优酷上就有,里面讲的很明白..
xyp749192072 发表于 2010-4-25 08:21 | 显示全部楼层
拉低是读写操作的开始,读写的差别在于数据线拉低之后的时序。
zdhlixiang2006 发表于 2010-4-25 10:31 | 显示全部楼层
这方面的中文资料、视频、源程序还少吗?
一棵小草 发表于 2010-4-25 13:45 | 显示全部楼层
只能说,这个对时序的要求很严格!必须要精确!认真认真再认真!

我也有过这样的经验,长了几十us或者短了几十us。读写肯能就不成功了。

不像EPPROM,差那么个几十us也能读写。所以,你要认真研究它的时序图了!还有就是,延时要精确!晶振或程序计算延时要准!
nayaix 发表于 2010-4-25 14:36 | 显示全部楼层
有成熟的开发包直接拿来用
 楼主| playjian 发表于 2010-4-25 14:42 | 显示全部楼层
那关于转换时间的问题有没有人能回答一下~~就是一定要淹死750ms么
实际的转换时间是不是也是要这么长?
不戴帽子 发表于 2010-4-25 20:31 | 显示全部楼层
7# playjian

实际转换时间没有那么长,好像没有转换延时也能够转换成功,这个自己试试吧,我用的汇编没延时也转换成功了
smileagain 发表于 2010-4-25 23:05 | 显示全部楼层
7# playjian  

实际转换时间没有那么长,好像没有转换延时也能够转换成功,这个自己试试吧,我用的汇编没延时也转换成功了
不戴帽子 发表于 2010-4-25 20:31

不按DATASHEET的参数来,带着侥幸心理,也许系统能运行,但隐患就是这样埋下的。这种做法要不得!
machunshui 发表于 2010-4-26 08:16 | 显示全部楼层
"还有就是18B20的12位转换时间为750ms  数据手册上说的是最大转化时间,那一般情况下是多少?为什么网上有一些人说其实才要4ms左右~~那我要是要确保数据一定正确是不是每次转换以后一定要延时750ms。
或者说我不延时,我一直读取1820的忙状态 ,再不忙 也就是转换结束后进行下一步就可以了。是不是这种方法可能还比较节省时间"

哪能硬等750ms?
750ms以内去做别的事情,
到750ms,读取状态即可。
ayb_ice 发表于 2010-4-26 08:57 | 显示全部楼层
LZ还是没有把时序完全看懂,建议仔细看,有大把的中文资料,操作时一般要关中断
wlzyr2@yahoo 发表于 2010-10-11 22:36 | 显示全部楼层
**,不回答就算了嘛!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

107

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部