怎么实现多点温度采集

 时间:2024-11-10 02:13:03

在我们生活中,随处可见的是传感器。在众多传感器中,温度传感器与我们生活息息相关。我们在生活中几乎可以随处可见温度传感器的身影。常用的数字式温度传感器有DS18B20。我们在生活中往往是单点采集温度,那么多点采集温度是怎么样的呢?

怎么实现多点温度采集

工具/原料

器件DS18B20

STM32开发板

DS18B20数据手册

硬件设计:

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

怎么实现多点温度采集

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

怎么实现多点温度采集

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

怎么实现多点温度采集

程序设计:

1、启动温度转换:DS18B20_Rst(); DS18B20_Check(); DS18B20_Write_Byte(0xcc);// skip romDS18B20_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 romfor(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(); // MSBtem=TH; //获得高八位 tem<<=8; tem+=TL;//获得低八位 tem=(float)tem*0.625;//转换 扩大了10倍寄存器操作时,发出读命令,然后对数据的寄存器低、高字节进行数据读取。然后对所读到的数据进行处理。

怎么实现多点温度采集
  • 如何提高产品设计能力
  • word文档公式编辑器怎么用
  • 如何在visio中使用套索选择
  • MathType怎么设置变量与函数的字体
  • MathType怎么输入小写依塔
  • 热门搜索
    鳜鱼养殖 1960年是什么命 赛尔号闪光皮皮什么时候出现 ova是什么意思 办社保卡需要什么资料 壁虎养殖 牛郎是什么意思 三聚氰胺是什么 苏州有什么好玩的 127.0.0.1是什么