数字温度传感器ds18b20什么时候进行报警搜索,怎样检测报警标志位

报警标志位具体怎么检测
2024-11-23 00:17:35
推荐回答(2个)
回答(1):

数字温度传感器DS18b20只能测量温度,本身并无报警功能。当需要用它来监控温度时,需要在程序中,设定报警温度的上限与下限。然后实时读取温度值并与这个温度限值进行比较,高于 上限或低于下限量,通过点亮不同颜色的LED灯或驱动蜂鸣器来完成报警功能。

比如,设定温度上限为32℃,下限设定为25℃,
void deal(uint t) //报警温度范围设定
{
uchar i; //定义变量
if((t>warn_l2)&&(t<=warn_l1)) //大于25度小于27度
warn(40,0x01); //长音报警,显示温度
else if(t<=warn_l2) //小于25度
warn(10,0x03); //短音报警,显示温度
else if((t=warn_h1)) //小于32度大于30度
warn(40,0x04); //长音报警,显示温度
else if(t>=warn_h2) //高于32度
warn(10,0x0c); //短音报警,显示温度
else //正常范围
{
for(i=40;i>0;i--) //循环
dis_temp(get_temp()); //显示正常温度
}
}

回答(2):

  数字温度传感器根据温度的设置来达到报警的目的。
  数字温度传感器DS18b20只能测量温度,本身并无报警功能。当需要用它来监控温度时,需要在程序中,设定报警温度的上限与下限。然后实时读取温度值并与这个温度限值进行比较,高于 上限或低于下限量,通过点亮不同颜色的LED灯或驱动蜂鸣器来完成报警功能。
比如,设定温度上限为32℃,下限设定为25℃,
void deal(uint t) //报警温度范围设定
{
uchar i; //定义变量
if((t>warn_l2)&&(t<=warn_l1)) //大于25度小于27度
warn(40,0x01); //长音报警,显示温度
else if(t<=warn_l2) //小于25度
warn(10,0x03); //短音报警,显示温度
else if((t=warn_h1)) //小于32度大于30度
warn(40,0x04); //长音报警,显示温度
else if(t>=warn_h2) //高于32度
warn(10,0x0c); //短音报警,显示温度
else //正常范围
{
for(i=40;i>0;i--) //循环
dis_temp(get_temp()); //显示正常温度
}
}