打印

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

[复制链接]
4606|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 | 只看该作者
这方面的中文资料、视频、源程序还少吗?

使用特权

评论回复
5
一棵小草| | 2010-4-25 13:45 | 只看该作者
只能说,这个对时序的要求很严格!必须要精确!认真认真再认真!

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

不像EPPROM,差那么个几十us也能读写。所以,你要认真研究它的时序图了!还有就是,延时要精确!晶振或程序计算延时要准!

使用特权

评论回复
6
nayaix| | 2010-4-25 14:36 | 只看该作者
有成熟的开发包直接拿来用

使用特权

评论回复
7
playjian|  楼主 | 2010-4-25 14:42 | 只看该作者
那关于转换时间的问题有没有人能回答一下~~就是一定要淹死750ms么
实际的转换时间是不是也是要这么长?

使用特权

评论回复
8
不戴帽子| | 2010-4-25 20:31 | 只看该作者
7# playjian

实际转换时间没有那么长,好像没有转换延时也能够转换成功,这个自己试试吧,我用的汇编没延时也转换成功了

使用特权

评论回复
9
smileagain| | 2010-4-25 23:05 | 只看该作者
7# playjian  

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

不按DATASHEET的参数来,带着侥幸心理,也许系统能运行,但隐患就是这样埋下的。这种做法要不得!

使用特权

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

哪能硬等750ms?
750ms以内去做别的事情,
到750ms,读取状态即可。

使用特权

评论回复
11
ayb_ice| | 2010-4-26 08:57 | 只看该作者
LZ还是没有把时序完全看懂,建议仔细看,有大把的中文资料,操作时一般要关中断

使用特权

评论回复
12
wlzyr2@yahoo| | 2010-10-11 22:36 | 只看该作者
**,不回答就算了嘛!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

107

帖子

2

粉丝