打印

用ds18b20并联多点测温,如何判断出每个芯片的位置

[复制链接]
4629|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
nzh|  楼主 | 2017-3-5 21:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
看到很多介绍DS18B20并联使用的例程及说明文档,但是大多只是介绍如何读取64位ROM,这样仍然不能判断每个DS18B20芯片,比如有5个DS18B20芯片ABCDEF,分别放在abcdef五个位置,并且全部挂在一个I/O口上。当cpu读取DS18B20的64位光刻rom,如何能分辨出ABCDEF呢?请大侠们教我,谢谢斧正!

相关帖子

沙发
mcu5i51| | 2017-3-6 11:31 | 只看该作者
点名,报数;
位置自己想办法,一般可以逐个接入或逐个加温等

使用特权

评论回复
板凳
nzh|  楼主 | 2017-3-6 14:10 | 只看该作者
老师您好:您所说的逐个接入加温的方法不行吧,如果做一个实验无所谓,如果量产的话,可能就不行了吧?

使用特权

评论回复
地板
jazzyfox| | 2017-3-6 15:18 | 只看该作者
我觉得,应该使用数字开关进行隔离,单片机的多路AD不就是这么用的嘛,单位时间内,只有1ch的信号是有效的,选通就可以啦

使用特权

评论回复
5
whtwhtw| | 2017-3-6 16:01 | 只看该作者
建立64位ID和位置对应表,还有别的办法吗?

使用特权

评论回复
6
nzh|  楼主 | 2017-3-6 16:24 | 只看该作者
您好老师:我觉得这种方法不能解决问题,因为要求只有两根线一根地线,一根信号线,谢谢您的帮助,不过请您再帮我想想办法?谢谢!

使用特权

评论回复
7
nzh|  楼主 | 2017-3-6 16:26 | 只看该作者
jazzyfox 发表于 2017-3-6 15:18
我觉得,应该使用数字开关进行隔离,单片机的多路AD不就是这么用的嘛,单位时间内,只有1ch的信号是有效的 ...

您好老师:我觉得这种方法不能解决问题,因为要求只有两根线一根地线,一根信号线,谢谢您的帮助,不过请您再帮我想想办法?谢谢!

使用特权

评论回复
8
nzh|  楼主 | 2017-3-6 16:33 | 只看该作者
whtwhtw 发表于 2017-3-6 16:01
建立64位ID和位置对应表,还有别的办法吗?

老师您好:您的办法适合单个的实验,如果量产的话,所有的设备和所有的封装了DS18B20的线缆就不能互换了,按照您的方法假如有某一组线缆坏了,它配套的设备也就不能用了。谢谢您的帮助!不过还要再请您帮我想想办法。谢谢!

使用特权

评论回复
9
icecut| | 2017-3-6 16:48 | 只看该作者
没办法

使用特权

评论回复
10
chunyang| | 2017-3-6 17:03 | 只看该作者
楼主描述不清,概念够混乱的。I2C总线支持多个器件,可以对总线上的每个器件进行独立操作。就18B20而言就是可以读出每片的数据,包括测温值和ID,这跟“位置”何干?根本不是同一范畴的物理量。非较真的话,那只能说做不到。

使用特权

评论回复
11
dirtwillfly| | 2017-3-6 19:49 | 只看该作者
位置是应用层的问题,18B20是硬件层的问题,不要混在一起

使用特权

评论回复
12
王紫豪| | 2017-3-6 20:46 | 只看该作者
读出唯一id,记录好位置;这样测温的时候,就能对应上了。。

使用特权

评论回复
13
大象学电子| | 2017-5-16 10:56 | 只看该作者
你好,有找到方法去定位总线上的18B20了吗,求分享经验,我的邮箱是ma617616211@163.com
谢谢

使用特权

评论回复
14
wxd123com| | 2017-5-19 15:35 | 只看该作者
事先先读出ID,安装时按照ID顺序安装

使用特权

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

本版积分规则

nzh

3

主题

37

帖子

1

粉丝