M16连接16个DS18B20成功了
今天用M16连接16个DS18B20成功了!!!硬件电路是M16 JTAG标准系统,18B20连接到PD6上了,用4.7K电阻上拉。程序运行时先搜索所有的18B20,将ID码存入EEPROM中,在进行温度转换,并读取出来在串口调试软件上或超级终端上显示,这个程序还可以加更多的DS18B20只要不超出EEPROM的容量。
点击此处下载armok01129494.rar 顶啊。好 太好了,能把代码公布一下吗?我的邮箱:bcydws@163.comqq:328997835 对了,我使用MSP430单片机调试成功了,需要的人可以和我联系阿,我免费送代码。
我的联系方式:http://www.tianyi-dz.com可以到这个网站下载。或者通过qq,邮箱和我联系。 楼主可以公布代码吗? 楼主可以公布代码吗? 128个都可以 对啊,有代码最好了 支持! 楼主既然发布消息,却无意公布程序 是呀,楼主为何不把代码公布一下,让大家也学习学习. 显摆罢了 程序已经在文档里了是basic的稍候我会把C的贴出来。 这个C程序主要是自动搜索的各个子程序并且包括DS18B20的读写函数,在主程序中加入温度转换调用和EEPROM函数就可以完成各种控制功能。这个程序的搜索部分主要是在MAXIM网站上的C程序修改得来的。
点击此处下载armok01136159.txt 把程序贴才出来大家交流下~主要就是搜索那一段.
我有2个问题,楼主解释下:
在启动搜索命令后,
1:读一位和读该位的补码 这2个动作之间的最小延时.
2:楼主是怎么判断这16个芯片的位置的? 点击此处下载armok01137577.rar
全部文件
目标板3.68MHZ,区分方法温升法就是一起把所有18B20全部联上用热源加温相应传感器来区分相应传感器,第二可以一个一个把传感器挂上来区分ID号。
关于读写时序我在调试时也是一个难题我的方法是用 AVR Studio4.12 软件仿真记录每步的运行时序时间。其他频率晶振只要按相应的比例调整就可以。 这个很好作, 我做过128个传感器连一起,最远能到几百米 楼主能开源,还是值得顶的 我靠!有钱人!
动不动就十几个的! 嘿嘿,这设备肯定是不计较成本的,用了十几个18B20,强!!! 我区分ID号码的方法是第一次接1个测温芯片,第二次再接1个(第一个不变),第N次把N个芯片接上,依次找出每次新接上的芯片!排序 用一次数组来存放地址信息,比如接20个芯片的话
定义一个DATA 如DATA=X用N存放接入的顺序号,用X存放芯片编号
如 DATA=18 表示第18次接入的芯片是第5个被读出的! 老兄,你的
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;
}
这部分程序是做什么用的?解释下 谢谢 串口初始化。使用icc的向导。 这个设备用于汽车转鼓轴温监控的,16个轴瓦,汽车以160公里的速度跑,我通过网络串口在办公室同步监控纪录温度上位机用vb6编的。 我编译的时候 这2句报错
int OWFirst(void)
{
x = 0;
Flag = 0;
return OWSearch(); calling function without prototype may cause errors
}
/***************************next search*******************************/
int OWNext(void)
{
return OWSearch(); calling function without prototype may cause errors
}
为什么了? 楼主你的程序编译通过了吗? 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下编译不能通过 main()函数太简单了吧,程序虽然贴了一部分,但是这些个函数怎么用?编译还很多警告!!! 丫的神经病,人家贴出代码来就很不错了,你这个垃圾却在这里济济歪歪,垃圾! 过几天调出了贴个完整的! 请问哪位用18B20做过粮仓温度检测,这样的话,如何区分位置和ID号的对应关系。一根电缆里边有8个18B20。 我也在做这个东西,请问楼上的在哪?
区分位置和ID号使用双地址的方法,即将18B20里的用户字节放上地址号。读出的数据按地址存放即可。
我的东西已经接近尾声,不过18B20目前的通讯距离还不是很理想(约100米左右)。实际人家有做到200m的。 楼主:你好!你遇到过某一个18B20插上就只能读到它的ID读不到和它并联的其他18B20 ID的现象吗?
我一条线上放两个18B20,有一个18B20插上就只能读到它的ID读不到和它并联的18B20 ID。我的search rom程序是我用汇编自己写的。当不用这个18B20,用其它任意两个组合都能分别读到id. 呵呵 这帖子很老了LZ估计都不从事这行了 ./emotion/em011.gif wswh2o 水之影
这个家伙太可恶了,就知道吹,我搜索了一下,他没有发表过任何主题
看他吹得:
【6楼】 wswh2o 水之影
积分:90
派别:
等级:------
来自:
128个都可以
【16楼】 wswh2o 水之影
积分:90
派别:
等级:------
来自:
这个很好作, 我做过128个传感器连一起,最远能到几百米 幾百米都可以??不會吧 最远能到几百米??? 单片机加逻辑控制上下拉,我做到了500m测量128只18B20读数完全正确。走了很多弯路,花了几个月时间才达到这个效果 各位都是高手呀!128个18b20实在是强! 小弟最近也在搞一个单线连30个18b20的模块,用在冰箱生产线上的,不知楼主和楼上高手能不能留下QQ,因为小弟实在有太需要帮助了,谢谢各位哥哥啦!我的QQ:116671216 email:zangpeijian@126.com 一定费了不少银子 18b20确实是一个费银子的东东!
不过还满好用的! 18b20精度到底能做到多少呀?
就是能显示温度,精度很差有什么用呢? mark mark mark 记下... 我有点想法,用51的时候仿真中和keil联调,可以测试序列号,AVR的不是有个在线调试功能嘛,我想应该也行吧。虽然我没试过 工业能用吗? 学习一下 不错!!! 老帖子 我买的时候DS18B20十多米一只 mark 回复【52楼】gxy508
-----------------------------------------------------------------------
读每位的时序很难弄啊
真的
有谁成功了 很好,我以前遇到的问题主要是搜索DS18B20程序搞不定 回复【54楼】cyr_hongfeng
-----------------------------------------------------------------------
那你现在怎样?我现在的状态是读第一位可以读但第二次不对都是11
之后就是跳出了
那位哥哥指点下
我有的是stm32 16个DS18B20很贵的说。 mark 好东西 回复【58楼】arndei
-----------------------------------------------------------------------
有谁读出ID了给小弟一份怎样
小弟现在在读ID第一次是正确的
但第二次就不对
读出的是11
现在正在郁闷中 DS18B20现在4-5元,以前我买18块, 请教!
请问你的测量结果准吗?
我的结果比实际高出约2度,不知为何? 回复【楼主位】jiangxin
-----------------------------------------------------------------------
ding 这贴要顶~~ 能发个完整的上来么 这个不错 楼主你好,你写的程序最终是在哪显示温度的?
如果我要在数码管或者液晶上显示,应该在哪一部分程序上做改动? 顶一下,标记 积分:44
派别:
等级:------
来自:
呵呵 羡慕~ 标记,学习 mark mark 一個! 标记 好东西,收藏 mark MARK 回复【楼主位】jiangxin
-----------------------------------------------------------------------
很好。正需要呢,谢了!! 连接16个DS18B20 回复【36楼】pcs3
-----------------------------------------------------------------------
你用的什么主控? 好老的帖子呀。。 nRFxx 发表于 2006-9-25 08:25 static/image/common/back.gif
对了,我使用MSP430单片机调试成功了,需要的人可以和我联系阿,我免费送代码。
我的联系方式:http://www. ...
网站好像打不开呀!
很好啊,加油 不错,不错 不错不错~!
页:
[1]