找回密码
 立即注册

QQ登录

只需一步,快速开始

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

ds18b20应用在程序中感觉会让单片机效率不高

[复制链接]
跳转到指定楼层
楼主
ID:829433 发表于 2024-1-7 00:47 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
它的处理过程里面需要很多的延时,这样程序在它这里就得运行时间长一点,这样不就会让单片机执行任务低下吗?有什么好的处理方式吗?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:94031 发表于 2024-1-7 06:07 | 只看该作者
单总线,除了地线一根线,接线简单。温度变化缓慢,慢点影响不大。
回复

使用道具 举报

板凳
ID:857072 发表于 2024-1-7 08:02 来自手机 | 只看该作者
非阻塞通讯
回复

使用道具 举报

地板
ID:213173 发表于 2024-1-7 08:38 | 只看该作者
在通常环境下温度不会剧烈变化,所以不必过于频繁访问ds18b20。读ds18b20最耗时的是等待转换,采用时间片轮询即可。不必呆等。示例如下: 1T MCU 4位数码管时钟温度表仿真.rar (334.65 KB, 下载次数: 14)

回复

使用道具 举报

5#
ID:883242 发表于 2024-1-7 08:50 | 只看该作者
用定时中断就行了。
回复

使用道具 举报

6#
ID:628113 发表于 2024-1-7 12:24 | 只看该作者
18B20  这个器件对于 高主频 MCU 使用很方便, 对于 8M 以下低主频MCU 或是 运行在节能状态的高频MCU 并不好用。 主要问题是 us 级延时问题。 低频时很容易受到其他设备影响,高频时又会影响其他设备,很是麻烦。
如果关中断,可以保住自己, 但是 可能影响别人; 不关中断,自己的数据可能不可靠。
至于 使用定时器, 也不容易实现。 us 级定时器 需要 很高主频驱动,而且 对系统性能影响极大。
我的建议时高可靠性场合 , 直接选择 【不要使用】 该器件。

回复

使用道具 举报

7#
ID:744809 发表于 2024-1-7 20:24 | 只看该作者
ppcbug 发表于 2024-1-7 12:24
18B20  这个器件对于 高主频 MCU 使用很方便, 对于 8M 以下低主频MCU 或是 运行在节能状态的高频MCU 并不 ...

ds18b20有crc校验的,如果这次读的数据不对,就用下次的呗。对温度实时性要求不高的场合可以这样做
回复

使用道具 举报

8#
ID:401564 发表于 2024-1-8 09:21 | 只看该作者
网上的18b20程序,很多是用Delay延时直接去写的,目的更多是让你了解这个芯片的工作原理
但这种程序在现实的量产产品中肯定是不行的,因为单片机可能还要做其它的事
可以用定时器来进行非阻塞式的通讯
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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