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倍
寄存器操作时,发出读命令,然后对数据的寄存器低、高字节进行数据读取。然后对所读到的数据进行处理。
