搜索
bottom↓
回复: 83

M16连接16个DS18B20成功了

[复制链接]

出0入0汤圆

发表于 2006-9-24 01:00:34 | 显示全部楼层 |阅读模式
今天用M16连接16个DS18B20成功了!!!硬件电路是M16 JTAG标准系统,18B20连接到PD6上了,用4.7K电阻上拉。

程序运行时先搜索所有的18B20,将ID码存入EEPROM中,在进行温度转换,并读取出来在串口调试软件上或超级终端上显示,这个程序还可以加更多的DS18B20只要不超出EEPROM的容量。

点击此处下载armok01129494.rar

出0入0汤圆

发表于 2006-9-24 16:44:14 | 显示全部楼层
顶啊。好

出0入0汤圆

发表于 2006-9-25 08:23:16 | 显示全部楼层
太好了,能把代码公布一下吗?我的邮箱:bcydws@163.com  qq:328997835

出0入0汤圆

发表于 2006-9-25 08:25:35 | 显示全部楼层
对了,我使用MSP430单片机调试成功了,需要的人可以和我联系阿,我免费送代码。

我的联系方式:http://www.tianyi-dz.com  可以到这个网站下载。或者通过qq,邮箱和我联系。

出0入0汤圆

发表于 2006-11-22 12:11:14 | 显示全部楼层
楼主可以公布代码吗?

出0入0汤圆

发表于 2006-11-22 12:26:28 | 显示全部楼层
楼主可以公布代码吗?

出0入0汤圆

发表于 2006-11-22 12:35:13 | 显示全部楼层
128个都可以

出0入0汤圆

发表于 2006-11-22 15:36:06 | 显示全部楼层
对啊,有代码最好了

出0入0汤圆

发表于 2006-11-22 15:50:06 | 显示全部楼层
支持!

出0入0汤圆

发表于 2006-11-22 15:56:28 | 显示全部楼层
楼主既然发布消息,却无意公布程序

出0入0汤圆

发表于 2006-11-22 16:23:11 | 显示全部楼层
是呀,楼主为何不把代码公布一下,让大家也学习学习.

出0入0汤圆

发表于 2006-11-22 16:46:26 | 显示全部楼层
显摆罢了

出0入0汤圆

 楼主| 发表于 2006-11-22 19:45:19 | 显示全部楼层
程序已经在文档里了是basic的稍候我会把C的贴出来。

出0入0汤圆

 楼主| 发表于 2006-11-22 20:29:41 | 显示全部楼层
这个C程序主要是自动搜索的各个子程序并且包括DS18B20的读写函数,在主程序中加入温度转换调用和EEPROM函数就可以完成各种控制功能。这个程序的搜索部分主要是在MAXIM网站上的C程序修改得来的。

点击此处下载armok01136159.txt

出0入0汤圆

发表于 2006-12-8 15:14:39 | 显示全部楼层
把程序贴才出来大家交流下~主要就是搜索那一段.

我有2个问题,楼主解释下:

在启动搜索命令后,

   1:读一位和读该位的补码 这2个动作之间的最小延时.

   2:楼主是怎么判断这16个芯片的位置的?

出0入0汤圆

 楼主| 发表于 2006-12-8 20:35:22 | 显示全部楼层
点击此处下载armok01137577.rar

全部文件

目标板3.68MHZ,区分方法温升法就是一起把所有18B20全部联上用热源加温相应传感器来区分相应传感器,第二可以一个一个把传感器挂上来区分ID号。

  关于读写时序我在调试时也是一个难题我的方法是用 AVR Studio4.12 软件仿真记录每步的运行时序时间。其他频率晶振只要按相应的比例调整就可以。

出0入0汤圆

发表于 2006-12-11 13:57:40 | 显示全部楼层
这个很好作, 我做过128个传感器连一起,最远能到几百米

出0入0汤圆

发表于 2006-12-11 16:04:45 | 显示全部楼层
楼主能开源,还是值得顶的

出0入0汤圆

发表于 2006-12-11 16:37:07 | 显示全部楼层
我靠!有钱人!

动不动就十几个的!

出0入0汤圆

发表于 2006-12-12 08:42:03 | 显示全部楼层
嘿嘿,这设备肯定是不计较成本的,用了十几个18B20,强!!!

出0入0汤圆

发表于 2006-12-12 16:52:54 | 显示全部楼层
我区分ID号码的方法是第一次接1个测温芯片,第二次再接1个(第一个不变),第N次把N个芯片接上,依次找出每次新接上的芯片!排序 用一次数组来存放地址信息,比如接20个芯片的话

定义一个DATA[21] 如DATA[N]=X  用N存放接入的顺序号,用X存放芯片编号

如 DATA[5]=18 表示第18次接入的芯片是第5个被读出的!

出0入0汤圆

发表于 2006-12-13 09:03:53 | 显示全部楼层
老兄,你的

     void uart0_init(void)

{

UCSRB = 0x00; //disable while setting baud rate

UCSRA = 0x00;

UCSRC = BIT(URSEL) | 0x06;

UBRRL = 0x17; //set baud rate lo

UBRRH = 0x00; //set baud rate hi

UCSRB = 0x18;

}

  这部分程序是做什么用的?解释下 谢谢

出0入0汤圆

 楼主| 发表于 2006-12-13 14:59:53 | 显示全部楼层
串口初始化。使用icc的向导。

出0入0汤圆

 楼主| 发表于 2006-12-13 15:06:26 | 显示全部楼层
这个设备用于汽车转鼓轴温监控的,16个轴瓦,汽车以160公里的速度跑,我通过网络串口在办公室同步监控纪录温度上位机用vb6编的。

出0入0汤圆

发表于 2006-12-14 15:47:12 | 显示全部楼层
我编译的时候 这2句报错

int OWFirst(void)

{

  x = 0;

  Flag = 0;

  return OWSearch();[warning] calling function without prototype may cause errors

}

/***************************next search*******************************/

int OWNext(void)

{

  return OWSearch();[warning] calling function without prototype may cause errors

}

为什么了? 楼主你的程序编译通过了吗?

出0入0汤圆

发表于 2006-12-14 16:10:43 | 显示全部楼层
void uart0_init(void)

{

UCSRB = 0x00; //disable while setting baud rate

UCSRA = 0x00;

UCSRC = BIT(URSEL) | 0x06;

UBRRL = 0x17; //set baud rate lo

UBRRH = 0x00; //set baud rate hi

UCSRB = 0x18;

}

这段在ICCAVR下编译不能通过

出0入0汤圆

发表于 2007-1-31 01:48:17 | 显示全部楼层
main()函数太简单了吧,程序虽然贴了一部分,但是这些个函数怎么用?编译还很多警告!!!

出0入0汤圆

发表于 2007-1-31 10:17:29 | 显示全部楼层
丫的神经病,人家贴出代码来就很不错了,你这个垃圾却在这里济济歪歪,垃圾!

出0入0汤圆

发表于 2007-1-31 12:29:42 | 显示全部楼层
过几天调出了贴个完整的!

出0入0汤圆

发表于 2007-4-22 20:31:26 | 显示全部楼层
请问哪位用18B20做过粮仓温度检测,这样的话,如何区分位置和ID号的对应关系。一根电缆里边有8个18B20。

出0入0汤圆

发表于 2007-4-24 15:47:52 | 显示全部楼层
我也在做这个东西,请问楼上的在哪?



区分位置和ID号使用双地址的方法,即将18B20里的用户字节放上地址号。读出的数据按地址存放即可。

我的东西已经接近尾声,不过18B20目前的通讯距离还不是很理想(约100米左右)。实际人家有做到200m的。

出0入0汤圆

发表于 2007-10-24 15:17:58 | 显示全部楼层
楼主:你好!你遇到过某一个18B20插上就只能读到它的ID读不到和它并联的其他18B20 ID的现象吗?

我一条线上放两个18B20,有一个18B20插上就只能读到它的ID读不到和它并联的18B20 ID。我的search rom程序是我用汇编自己写的。当不用这个18B20,用其它任意两个组合都能分别读到id.

出0入0汤圆

发表于 2007-10-24 15:23:41 | 显示全部楼层
呵呵 这帖子很老了LZ估计都不从事这行了

出0入0汤圆

发表于 2007-10-24 19:47:48 | 显示全部楼层
wswh2o 水之影
这个家伙太可恶了,就知道吹,我搜索了一下,他没有发表过任何主题
看他吹得:
【6楼】 wswh2o 水之影
积分:90
派别:
等级:------
来自:
128个都可以  
【16楼】 wswh2o 水之影
积分:90
派别:
等级:------
来自:
这个很好作, 我做过128个传感器连一起,最远能到几百米

出0入0汤圆

发表于 2007-10-25 21:01:08 | 显示全部楼层
幾百米都可以??不會吧

出0入0汤圆

发表于 2007-11-21 19:42:41 | 显示全部楼层
最远能到几百米???

出0入0汤圆

发表于 2008-1-12 17:58:05 | 显示全部楼层
单片机加逻辑控制上下拉,我做到了500m测量128只18B20读数完全正确。走了很多弯路,花了几个月时间才达到这个效果

出0入0汤圆

发表于 2008-1-12 19:15:19 | 显示全部楼层
各位都是高手呀!128个18b20实在是强!

出0入0汤圆

发表于 2008-12-31 00:31:17 | 显示全部楼层
小弟最近也在搞一个单线连30个18b20的模块,用在冰箱生产线上的,不知楼主和楼上高手能不能留下QQ,因为小弟实在有太需要帮助了,谢谢各位哥哥啦!我的QQ:116671216  email:zangpeijian@126.com

出0入0汤圆

发表于 2008-12-31 09:07:56 | 显示全部楼层
一定费了不少银子

出0入0汤圆

发表于 2008-12-31 11:31:44 | 显示全部楼层
18b20确实是一个费银子的东东!

不过还满好用的!

出0入0汤圆

发表于 2009-1-4 11:23:29 | 显示全部楼层
18b20精度到底能做到多少呀?

就是能显示温度,精度很差有什么用呢?

出0入0汤圆

发表于 2009-6-10 11:11:23 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-6-10 11:17:21 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-6-10 11:26:25 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-6-10 15:02:09 | 显示全部楼层
记下...

出0入0汤圆

发表于 2009-10-19 18:30:55 | 显示全部楼层
我有点想法,用51的时候仿真中和keil联调,可以测试序列号,AVR的不是有个在线调试功能嘛,我想应该也行吧。虽然我没试过

出0入0汤圆

发表于 2009-10-19 20:08:45 | 显示全部楼层
工业能用吗?

出0入0汤圆

发表于 2009-10-19 20:18:41 | 显示全部楼层
学习一下

出0入0汤圆

发表于 2009-10-22 10:10:12 | 显示全部楼层
不错!!!

出0入0汤圆

发表于 2009-10-22 19:33:46 | 显示全部楼层
老帖子

出0入0汤圆

发表于 2009-10-23 09:51:12 | 显示全部楼层
我买的时候DS18B20十多米一只

出0入0汤圆

发表于 2009-10-23 12:10:14 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-3-2 12:51:42 | 显示全部楼层
回复【52楼】gxy508
-----------------------------------------------------------------------
读每位的时序很难弄啊
真的
有谁成功了

出0入0汤圆

发表于 2010-3-2 15:23:15 | 显示全部楼层
很好,我以前遇到的问题主要是搜索DS18B20程序搞不定

出0入0汤圆

发表于 2010-3-2 16:17:50 | 显示全部楼层
回复【54楼】cyr_hongfeng
-----------------------------------------------------------------------

那你现在怎样?我现在的状态是读第一位可以读但第二次不对都是11
之后就是跳出了
那位哥哥指点下
我有的是stm32

出0入42汤圆

发表于 2010-3-2 16:36:13 | 显示全部楼层
16个DS18B20很贵的说。

出0入0汤圆

发表于 2010-3-2 16:51:28 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-3-3 09:24:54 | 显示全部楼层
好东西

出0入0汤圆

发表于 2010-3-3 15:10:10 | 显示全部楼层
回复【58楼】arndei
-----------------------------------------------------------------------

有谁读出ID了给小弟一份怎样
小弟现在在读ID第一次是正确的
但第二次就不对
读出的是11
现在正在郁闷中

出0入4汤圆

发表于 2010-3-4 08:50:46 | 显示全部楼层
DS18B20现在4-5元,以前我买18块,

出0入112汤圆

发表于 2010-3-7 16:26:59 | 显示全部楼层
请教!
请问你的测量结果准吗?
我的结果比实际高出约2度,不知为何?

出0入0汤圆

发表于 2010-3-7 16:40:00 | 显示全部楼层
回复【楼主位】jiangxin
-----------------------------------------------------------------------

ding

出0入0汤圆

发表于 2010-3-7 17:20:25 | 显示全部楼层
这贴要顶~~

出0入0汤圆

发表于 2010-3-12 16:17:09 | 显示全部楼层
能发个完整的上来么

出0入0汤圆

发表于 2010-3-12 16:31:22 | 显示全部楼层
这个不错

出0入0汤圆

发表于 2010-3-12 18:56:41 | 显示全部楼层
楼主你好,你写的程序最终是在哪显示温度的?
如果我要在数码管或者液晶上显示,应该在哪一部分程序上做改动?

出0入0汤圆

发表于 2010-3-17 16:07:56 | 显示全部楼层
顶一下,标记

出0入0汤圆

发表于 2010-3-24 12:37:47 | 显示全部楼层
积分:44
派别:
等级:------
来自:
呵呵 羡慕~

出0入0汤圆

发表于 2010-3-24 13:08:37 | 显示全部楼层
标记,学习

出0入0汤圆

发表于 2010-3-24 14:29:29 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-10-8 09:54:21 | 显示全部楼层
mark 一個!

出0入0汤圆

发表于 2010-10-8 10:51:11 | 显示全部楼层
标记

出0入0汤圆

发表于 2010-10-12 00:47:33 | 显示全部楼层
好东西,收藏

出0入0汤圆

发表于 2010-10-21 18:35:15 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-2-28 22:52:15 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-5-30 21:51:07 | 显示全部楼层
回复【楼主位】jiangxin
-----------------------------------------------------------------------

很好。正需要呢,谢了!!

出0入0汤圆

发表于 2011-11-4 17:30:25 | 显示全部楼层
连接16个DS18B20

出0入4汤圆

发表于 2012-3-9 16:12:22 | 显示全部楼层
回复【36楼】pcs3  
-----------------------------------------------------------------------

你用的什么主控?

出0入0汤圆

发表于 2012-3-11 15:03:06 | 显示全部楼层
好老的帖子呀。。

出0入0汤圆

发表于 2012-4-6 06:49:36 | 显示全部楼层
nRFxx 发表于 2006-9-25 08:25
对了,我使用MSP430单片机调试成功了,需要的人可以和我联系阿,我免费送代码。

我的联系方式:http://www. ...

网站好像打不开呀!

出0入0汤圆

发表于 2012-4-6 10:55:46 | 显示全部楼层

很好啊,加油

出0入0汤圆

发表于 2013-4-10 20:12:42 | 显示全部楼层
不错,不错

出0入0汤圆

发表于 2013-4-10 21:20:47 来自手机 | 显示全部楼层
不错不错~!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-6 06:33

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表