资讯详情

蓝桥杯国赛之温度传感器

一、温度传感器

DS18B20是Maxim(美信公司)通过单片机生产的温度传感器1-Wire协议与DS18B通信,最后读取温度。-Wire总线的硬件接口非常简单,只需要DS18B20数据引脚连接到单片机IO口即可。

引脚功能:

特性:

1.测温范围 :-55℃~ 125℃,固有测温误差1℃

2.支持多点网络功能,多点网络功能DS18B20可以并联在唯一的三线上,最多只能并联8条

3.分辨率:可编程分辨率从9位到12位

4.最多在750ms将温度转换为12位数字

温度暂存器:

通常使用0、1、4字节,前两个字节与温度有关,后者是配置温度计精度和最大转换时间的寄存器。

高字节前五个字节表示温度正(00000 0)负(1111 1)后7位是温度的整数,低4位是温度的小数。

DS18B20精度设置:

二、程序

DS18B20的DQ连接PA6,需要连接TDQ与P1的跳线帽。

//rom和功能指令 #define OW_SKIP_ROM   0xCC #define DS18B20_CONVERT  0x44 #define DS18B20_READ   0xBE  float ds18b20_read(void) {  uint8_t low_temp,high_temp;    ow_reset();                 // 初始化  ow_byte_wr(OW_SKIP_ROM);    // 跳过rom  ow_byte_wr(DS18B20_CONVERT);//转换温度  delay_us(750000);     ow_reset();                 // 初始化  ow_byte_wr(OW_SKIP_ROM);    // 跳过rom  ow_byte_wr(DS18B20_READ); // 读暂存器    low_temp = ow_byte_rd();    // 读低温字节  high_temp = ow_byte_rd();   // 读高温字节    return ((high_temp<<8)|low_temp)/16.0;  } 

DS18B20常用的ROM命令和功能指令

DS18B收集到的温度为16位,如果高度为5位1,则为负温度,则需要将收集到的值反转并添加到真实温度中。如果高5位为0,则采集的温度为整数,有些则用于操作0x07ff,这里默认是零温,有没有这一步都可以。

返回值除以16.0是获得实际温度,从测量值到实际温度的转换,DS18B20的精度为0.0625度,即读回数据的最低位代表0.0625度,实际测量值x0.0625即可。

标签: 05t温度传感器375pa传感器3008pa传感器t44传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台