DS18B20多点测量上百台冷柜项目 续

[复制链接]
3245|9
 楼主| yuse 发表于 2009-10-24 22:08 | 显示全部楼层 |阅读模式
本帖最后由 yuse 于 2009-10-24 22:12 编辑

曾经在论坛发过这个项目的帖子,关于DS18B20多点测量上百台冷柜的项目。最后参照朋友们的意见做的如下方案:

我是先转换所有的DS18B20,然后延迟2s,再分别读取所有的DS18B20。这样可以快一些。如果哪个温度过高就报警。比如设置>-10度为报警值,程序中因为放大倍数了,比如-11.06放大为-1106,那么程序中设计时应该>-1000就报警,当然液晶显示还是-11.06。

现出现了这样的问题:我用keil和proteus联调,程序刚开始运行时正常,我在仿真时设置了4个不同温度值-10,-15,-20,-25的DS18B20,也就是说都不应该报警,当然keil调试程序内部显示-1000,-1500,-2000,-2500。但运行一段时间后莫名其妙的出现个-6,然后报警。起初我以为是proteus不稳定的原因,后来我觉的是18B20程序设计有问题,是不是应该按照一般的步骤转换一个,延时1s,再读取1个;再下一个...,而不能先全部转换延迟2s后再分别读取? 希望朋友们给与意见,谢谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| yuse 发表于 2009-10-25 19:26 | 显示全部楼层
顶下 希望大家帮忙分析下
 楼主| yuse 发表于 2009-10-27 16:45 | 显示全部楼层
结贴?
smileage 发表于 2009-10-27 16:48 | 显示全部楼层
支持结贴
软件那个问题找到了吗?解决了说下,:)
328500920 发表于 2009-11-4 23:25 | 显示全部楼层
来学习的 可惜没找到问题的答案
 楼主| yuse 发表于 2009-11-5 10:16 | 显示全部楼层
呵呵 不好意思问题解决了 我之前是先转换所有的18B20 然后在分别读取所有的 可实际却出现帖子中的错误。
后来我就老老实实转换一个读一个就没问题了,不过不知道第一个方案为何会出错。
jiangfuquan999 发表于 2011-5-10 19:23 | 显示全部楼层
学习了。能不能把源程序搞一份给我。jiangfuquan19872@163.com。谢谢。
yjhon 发表于 2011-5-10 22:28 | 显示全部楼层
来迟了?
21IC578794042 发表于 2011-5-10 22:37 | 显示全部楼层
希望可以学习一下,不知楼主方不方便发一份了解一下
nintendo.nds@163.com
21IC578794042 发表于 2011-5-10 22:38 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

152

主题

453

帖子

0

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