找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1672|回复: 3
打印 上一主题 下一主题
收起左侧

单路DS18B20实现了,怎么在这个基础上实现多路温度检测啊,单片机程序需要怎么写呢

[复制链接]
跳转到指定楼层
楼主
ID:548391 发表于 2020-4-13 15:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想问一下各位大佬,单路DS18B20实现了,怎么在这个基础上实现多路温度检测啊,程序需要怎么写呢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:548391 发表于 2020-4-13 15:45 | 只看该作者
就是哪里的程序需要改动呢,看了好多实例不一样啊都、、
回复

使用道具 举报

板凳
ID:270932 发表于 2020-4-19 21:36 | 只看该作者
ROOM写在程序里,然后读取数据的时候先匹配ROOM
回复

使用道具 举报

地板
ID:383215 发表于 2020-4-20 12:51 | 只看该作者
DS18B20实现多路温度检测,无非就是两个方法,一是匹配ROM,优点是占用IO口最少,缺点是每个程序不一样,想统一程序,还得专门编一个控制和识别匹配ROM的程序,可能用起来也不方便,二是一个IO口连一路18B20,缺点是占用IO口较多,优点是所有程序相同,不用匹配ROM。我已经编过两个IO口接两路18B20的程序,现在准备编三个IO口接三路18B20的程序,既然楼主已经编出单路18B20的程序,为什么多路的编不出来呢?说明楼主这个单路18B20的程序肯定有问题,问题就是楼主没有按步骤读写18B20,所有的温度测量都是渐变,基本上没有突变的可能,那为什么不能按步骤慢慢的读写18B20呢?从初始化18B20到发命令读写ROM到得到温度值,这些都可以按步骤读,没有必要一次搞完。我提醒楼主,初始化18B20可以全部同时进行,然后按步骤读第一个18B20的温度,读完之后再来一次全部初始化18B20,然后按步骤读第二个18B20的温度,直到把你需要的温度全部读完,照着这个思路,读10路18B20甚至100路18B20都没有问题,无非就是多花点时间编程而已,这个思路以匹配ROM的方式读出多路18B20也是没有问题。读10路18B20哪怕超过一秒钟到几秒钟都没有关系,温度永远是渐变不是突变,不影响后续的温度控制,分步骤读写单路或者多路18B20的目的是为了提高CPU应用率,楼主不要到任何地方找任何实例,这种CPU应用率的单片机程序实例任何地方都不可能有,照我的思路肯定可以编出来,关键问题是不管读多少路18B20,CPU循环周期越短越好,楼主如果做到,就明白了CPU应用率的编程概念,楼主的单片机编程就基本上算是过关了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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