找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3234|回复: 5
收起左侧

怎么使用ds18b20的告警搜索指令0ECH,能写一简单c程序吗

[复制链接]
ID:74571 发表于 2015-3-19 21:54 | 显示全部楼层 |阅读模式
怎么使用ds18b20的告警搜索指令0ECH,能写一简单c程吗
回复

使用道具 举报

ID:74835 发表于 2015-3-20 05:08 | 显示全部楼层

个人理解:
     告警设置温度的上下限,每次温度转换结束后,DS18B20自动将测得的结果跟告警值进行比较。如果超过告警值,那么当主机发出告警搜素指令的时候,该DS18B20就会响应,如果没有超过告警值,就不响应该指令。
     这样就可以对多点测温系统的温度情况进行检测和设置,比如共有6个测温点,设置告警值为30度,如果1,3,5这三个点的温度超过告警值时,当主机发出告警搜素指令后,1,3,5就会发出响应指令,而2,4,6不会对该指令响应

    系统正常工作时,在启动所有的DS18B20作温度转换后,可以使用报警搜索命令ECH,发现温度值高于TH或低于TL的数值时,则读取报警的DS18B20的ROM代码,这样就可以判断出是那些点告警了
回复

使用道具 举报

ID:986954 发表于 2022-5-8 13:12 | 显示全部楼层
  Reset();   Write_BYTE(0xec); //告警搜索   HL=Read_BIT();   if(HL==0)Alarm=1;         //为0表示有告警,开启蜂鸣器   else Alarm=0;                //没有告警,关闭蜂鸣器
回复

使用道具 举报

ID:986954 发表于 2022-5-8 13:12 | 显示全部楼层
  Reset();
  Write_BYTE(0xec); //告警搜索
  HL=Read_BIT();
  if(HL==0)Alarm=1;         //为0表示有告警,开启蜂鸣器
  else Alarm=0;                //没有告警,关闭蜂鸣器
回复

使用道具 举报

ID:879348 发表于 2022-5-9 10:48 | 显示全部楼层
不要用这些功能,没什么用,直接度温度,自己程序判断
回复

使用道具 举报

ID:382454 发表于 2022-5-10 17:21 | 显示全部楼层
我觉得两种方法都可以。最好还是要多判断一两次,怕误判出错。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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