一、温度传感器
DS18B20是Maxim(美信公司)生产的温度传感器,单片机可以通过1-Wire协议与DS18B20通信,最终读取温度。1-Wire总线的硬件接口非常简单,只需将DS18B20的数据引脚连接到单片机的一个IO口即可。
引脚功能:
特性:
1.测温范围 :-55℃~+125℃,固有测温误差1℃
2.支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个
3.分辨率:从9位到12位的可编程分辨率
4.最多在750ms内将温度转换为12位数字
温度暂存器:
一般使用0,1,4字节,前面两个字节是与温度有关的,后者是配置寄存器用于配置温度计的精度和最大转换时间。
高字节前五个字节表示温度的正(0000 0)负(1111 1),紧接着后7位是温度的整数部分,低四位是温度的小数部分。
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
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?