怎么实现多点温度采集?

时间:2026-02-15 15:37:35

1、采集电路设计分析:

由其数据手册知,DS18B20支持多点采集设计,我们参考基本原理设计了多点采集。目前设计由两个DS18B20传感器构成的电路。

怎么实现多点温度采集?

2、报警电路分析:

一个温度采集系统,离不开温度报警。当所采集的温度超过所设定的温度时,我们可以立即对当前警告做出响应。比如当电饭煲中已经把饭煮好了,那么报警电路发出“滴滴滴”告诉人们饭已经做好了。道理是相同的。

怎么实现多点温度采集?

3、时钟复位电路分析:

在很多时候,一个系统并不是很稳定,常常容易出现程序跑飞的情况。那么我们应该通过复位来使得程序回归正常。就像我们常常在电脑出错时,把电脑还原了一样。

怎么实现多点温度采集?

1、启动温度转换:

DS18B20_Rst();    

DS18B20_Check();  

DS18B20_Write_Byte(0xcc);// skip rom

DS18B20_Write_Byte(0x44);// convert

先发出温度转换命令,让所有温度传感器接收温度转换命令。此时并不会发生“与”错误,器件不会对命令做出回答,而执行命令。

怎么实现多点温度采集?

2、匹配ROM:

//附ROM内存表

static u8 DS18_ROM[2][8] = {{0x28,0x16,0xEB,0x67,0x05,0x00,0x00,0x7E},

{0x28,0x75,0x7F,0x68,0x05,0x00,0x00,0xD6}};

DS18B20_Rst();

DS18B20_Check();  

DS18B20_Write_Byte(0x55);// skip rom

for(i=0;i<8;i++)

{

    DS18B20_Write_Byte(DS18_ROM[cnt][i]);

}

在发出温度转换命令之后,重新复位搜索DS18B20器件,然后匹配相同的ROM ,之后便是寄存器操纵。

怎么实现多点温度采集?

3、读取数据:

DS18B20_Write_Byte(0xbe);// convert    

TL=DS18B20_Read_Byte(); // LSB   

TH=DS18B20_Read_Byte(); // MSB 

tem=TH; //获得高八位

tem<<=8;    

tem+=TL;//获得低八位

tem=(float)tem*0.625;//转换     扩大了10倍

寄存器操作时,发出读命令,然后对数据的寄存器低、高字节进行数据读取。然后对所读到的数据进行处理。

怎么实现多点温度采集?

© 2026 海能知识库
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com