ds18b20触摸没反应_DS18B20温度偏差大、温度乱跳动原因及解决办法

在DS18B20按键设定上下限温度报警系统中,遇到的最大问题,就是在测温过程中偶尔温度会跳变几十、几百甚至变成2000度,究其原因,就是其中用到的中断程序,18b20有严格的读写时序,过程中不可以被打断。否则就会出现上述数据。

解决问题的办法也很假单。只需要在读温度是关闭中断,读完之后开启中断就可以了。

/*------------------------------------------------

读取温度

------------------------------------------------*/

unsigned int ReadTemperature(void)

{

unsigned char a=0;

unsigned int b=0;

unsigned int t=0;

EA=0;//关闭中断

Init_DS18B20();

WriteOneChar(0xCC); // 跳过读序号列号的操作

WriteOneChar(0x44); // 启动温度转换

DelayMs(10);

Init_DS18B20();

WriteOneChar(0xCC); //跳过读序号列号的操作

WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器) 前两个就是温度

a=ReadOneChar();   //低位

b=ReadOneChar();   //高位

b<<=8;

t=a+b;

EA=1;//开启中断

return(t);

}

===================原因解析======================

1 初始化总线时序

手册上只给出了单片机拉低总线的最短时间480us,注意,这里并未给出最大时间,所以在这480us 时间内不必关中断,即使被中断了,也只是延长了拉低时间而已。

下一段是单片机释放总线到18B20拉低总线作为响应的时间,15~60us。这段是要关中断了(其实如果中断函数执行时间非常短,比如3us,不关中断也是可以的)。

再下一段是等待18B20释放总线,同样不必关中断。

2 读总线

读总线的最小时间60us,其实只要单片机采样之后就可以开中断了,剩下的时间就没有那么严格的要求了

3 写总线

写总线的最小时间同样是60us,为了保证18B20能读到正确数据,这段时间都要关中断

综上所述,其实在总线操作过程中,关中断的最长时间是60us其余时间都不必关中断。这对于要进行数码管动态扫描这样实时性较高的应用还是可以满足要求的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/561649.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

取代 Postman + Swagger 这款神器功能更强大!界面更炫酷

作为软件开发从业者&#xff0c;API 调试是必不可少的一项技能&#xff0c;在这方面 Postman 做的非常出色。但是在整个软件开发过程中&#xff0c;API 调试只是其中的一部分&#xff0c;还有很多事情 Postman 无法完成&#xff0c;或者无法高效完成&#xff0c;比如&#xff1…

maven仲裁机制_maven仲裁机制

maven仲裁机制玩过springboot的人都知道 springboot项目中你一般看不到大段的spring相关包 而是像spring-boot-start一个jar包就包含spring相关的包 包含了具体版本号 &#xff0c;这其实就是一个版本仲裁的结果&#xff0c;不依赖程序自定义的相关包&#xff0c;这样就不会造…

基于Java+Spring+vue+element实现唯美鲜花商城购物系统

博主介绍&#xff1a;✌公司项目主程、全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,CSDN博客之星TOP100、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业设计✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f345;…

的run代码_小心使用 Task.Run 续篇

关于前两天发布的文章&#xff1a;为什么要小心使用 Task.Run&#xff0c;对文中演示的示例到底会不会导致内存泄露&#xff0c;给很多人带来了疑惑。这点我必须向大家道歉&#xff0c;是我对导致内存泄漏的原因没描述和解释清楚&#xff0c;也没用实际的示例证实&#xff0c;是…

基于Java+Spring+vue+element实现旅游信息管理平台系统

博主介绍&#xff1a;✌公司项目主程、全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,CSDN博客之星TOP100、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业设计✌ 公众号&#xff1a;java奥斯卡 简历模板、学习资料、面试题库…

基于OneDNS实现上网安全防护和监控

前言介绍&#xff1a; 大家是不是经常遇到这种问题、明明上网页输入的是网址地址&#xff0c;打开的却是页游广告或者APP弹窗之类的。在上网的时候突然就打开一个“充值XX元就可获得流量大礼包”的页面。类似下面这样。 照成这样的原因是什么呢&#xff1f;网址输错了?有病毒木…

华为开启管理员模式_又一年的心动模式开启,华为nova8系列8号色撩人肺腑

年底一到&#xff0c;大家又要迎来一波换机热潮&#xff0c;来为自己的新年添一分新鲜感。身边很多小伙伴来找我推荐&#xff0c;当我问到他们的要求时&#xff0c;爱游戏的想要性能好的&#xff0c;经常在外的想要续航强的。喜欢拍照的想要拍照和拍视频好的&#xff0c;看重手…

基于Java生鲜蔬菜食品商城系统详细设计和实现

博主介绍&#xff1a;✌公司项目主程、全网粉丝10W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,CSDN博客之星TOP100、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业设计✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f345;…

摄像头夜间拍摄画面有拖影_让客厅秒变健身房,OPPO智能电视R1+摄像头上手体验...

当前智能电视日趋普及&#xff0c;大屏电视资源也逐渐丰富&#xff0c;借助智能电视&#xff0c;消费者足不出户就能体验到更智能的人机交互和更便捷的生活服务。而购买OPPO智能电视R1所赠送的价值399元的摄像头&#xff0c;也赋予了OPPO智能电视R1更多的玩法&#xff0c;为我们…

【云原生】Spring Cloud是什么?Spring Cloud版本介绍

什么是SpringCloud 上一章节介绍了总体的SpringCloud的总体学习章节&#xff0c;因为最近项目刚好需要用到SpringCloud来搭建微服务项目、所以就跟着大家一起来再学习巩固下SpringCloud的相关知识 SpringCloud是基于SpringBoot提供了一套微服务解决方案&#xff0c;包括服务注…

sap 一代增强_在SAP故乡,感受“边缘智能”之变

汉诺威工业博览会SAP展台在德国&#xff0c;有奔驰、宝马等汽车巨头&#xff0c;但SAP仍然是德国市值最高的企业&#xff0c;目前这家企业正在发生什么变化&#xff1f;5G、人工智能、区块链、VR/AR、物联网等新技术如火如荼&#xff0c;正在港口、汽车、叉车制造等客户带什么样…

基于Java+SpringBoot+vue+element实现餐厅点餐系统平台

博主介绍&#xff1a;✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,CSDN博客之星TOP100、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业设计✌ &#x1f345;文末获取源码联系&#x1f345; 精彩专栏推荐&#x1f447;&a…

字典添加数据_MATLAB自动化——EXCEL与数据字典管理(一)

以下平台同步更新&#xff0c;欢迎喜欢的朋友收藏、分享知乎专栏&#xff1a;汽车电控杂谈微信公众号&#xff1a;AutoGeeker在从EXCEL自动生成Signal和Parameter到Workspace中一文中&#xff0c;我们将所有设计数据都定义在基础工作区。将设计数据存储位置设置在基础工作区&am…

【云原生】微服务架构SpringCloud和Dubbo的区别?

现在做技术开发都在转型微服务化架构、目前主要的选择就是Dubbo和SpringCloud、 Dubbo dubbo启动流程图 先说说Dubbo吧&#xff01;Dubbo是基于Tcp协议、是阿里巴巴开源的分布式服务治理框架&#xff0c;出现的时间比Spring Cloud早&#xff0c;并且当时国内在这方面并未成熟&…

ddmmyy日期格式是多少_解锁9个日期时间计算套路,效率提高3.2%

小伙伴们好啊&#xff0c;今天老祝和大家学习一组日期时间计算的套路&#xff0c;让工作效率再高一点点。1、日期时间合并如下图&#xff0c;需要将A列日期和B列的时间合并到一起&#xff0c;变成既有日期又带有时间的数据。C2公式为&#xff1a;A2B22、日期时间拆分如下图&…

基于Java+SpringBoot+vue+element实现婚纱摄影网系统

博主介绍&#xff1a;✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,CSDN博客之星TOP100、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业设计✌ &#x1f345;文末获取源码联系&#x1f345; 精彩专栏推荐&#x1f447;&a…

【云原生】SpringCloud-Spring Boot Starter使用测试

目录 Spring Boot Starter是什么&#xff1f; 以前传统的做法 使用 Spring Boot Starter 之后 starter 的理念&#xff1a; starter 的实现&#xff1a; 创建Spring Boot Starter步骤 在idea新建一个starter项目、直接执行下一步即可生成项目。 在xml中加入如下配置文件&…

otn系统中常用的电层_自动化系统中常用的液位计

1、磁致伸缩液位计磁致伸缩液位计由探测杆、电路单元和浮子组成。首先&#xff0c;由电路单元提供电流脉冲&#xff0c;接着脉冲按照磁致伸缩线向下方向传输&#xff0c;构成环形磁场。浮子将会沿着探测杆并随液位的变化而往复移动。同时&#xff0c;浮子内的永磁铁产生一个磁场…

【云原生】微服务SpringCloud-eureka(server)集群搭建

目录 工作原理&#xff1a; eureka 高可用集群 项目创建&#xff1a; Maven 依赖 本地hosts文件修改 启动服务测试 工作原理&#xff1a; Spring Cloud框架下的服务发现Eureka包含两个组件 分别是: Eureka Server与Eureka Client Eureka Server,也称为服务注册中心。各个…

log解析工具 px4_console.log(console.log) = ?

在开始今天的内容之前&#xff0c;先想一下 console.log(console.log) 的结果是啥。前面有一篇文章 别担心把 console 带到线上 介绍了关于 console 在线上不打印的操作&#xff0c;今天我给大家普及另外一种技巧&#xff1a;通过 url 参数控制。比如线上访问地址是&#xff1a…