N4 传感器

一、传感器

DS18B20传感器(半双工):

1.量程(测量范围)-55 - 125℃

2.精度(误差):±0.5℃

3.分辨率: 9位:0.5°C; 10位:0.25°C; 11位:0.125°C; 12位:0.0625°C。

4.接口 :GPIO

5.电压:5V

GPIO单总线:线与特性。 拉高:释放总线。 作为数据接收方时,需要释放总线

1.初始化(复位)

2.ROM操作命令(跳过ROM:0xCC)

3.存储器操作命令

4.执行/数据(44h:转换温度;BE:读取温度)
复位→发送0xCC跳过ROM→发送0x44,开启温度转换→延时→复位

→发送0xCC跳过ROM→发送0xBE读取温度→读取2字节温度(s18b20 -> 51|读操作)

①主机将总线拉低480us-960us,代表发送了复位脉冲

②主机释放总线,ds18b20需要再15-60us内检测引脚是否为高电平

③主机再60-240us内检测引脚是否为低电平,如果是低电平,代表ds18b20回复了存在脉冲

④主机释放总线,引脚呈现高电平

cs 复制代码
#include <reg51.h>
#include "ds18b20.h"
#include "delay.h"
#include <intrins.h>

#define DQ_HIGH  (P3 |= (1 << 7))
#define DQ_DOWN  (P3 &= ~(1 << 7))
#define DQ_CHECK ((P3 & (1 << 7)) != 0)

int ds18b20_reset(void)
{
	int time = 0;
//复位脉冲
	DQ_DOWN;
	Delay10us(70);
	DQ_HIGH;
	Delay10us(6);
//等待低电平到来	
	while(DQ_CHECK && time < 30)
	{
		Delay10us(1);
		time++;
	}
	if(time >= 30)
	{
		return -1;
	}
//等待高电平到来
	time = 0;
	while(!DQ_CHECK && time < 30)
	{
		Delay10us(1);
		time++;
	}
	if(time >= 30)
	{
		return -1;
	}
	return 1;	
}
//向de18b20发送一个字节数据
void write_de18b20(unsigned char dat)
{
	for(i = 0;i < 8;i++)
	{
		if(dat & 1)
		{
		   DQ_DOWN;
		   _nop_();
		   _nop_();
		   DQ_HIGH;
		   Delay10us(5);
		}
		else
		{
			DQ_DOWN;
			Delay10us(6);
			DQ_HIGH;
		}
		dat >>= 1;
	}
}

写0时序:主机将总线拉低至少60us,不超过120us,ds18b20在60us内采样引脚电平,若是

低电平,则代表主机发送了bit0主机释放总线,引脚变为高电平。

写1时序:主机将总线拉低大于1us释放总线,引脚变为高电平ds18b20在45us内对引脚的电

平进行采样,若是高电平,代表主机发送了bit1。

读时序:

主机将总线拉低大于1us,

释放总线,引脚呈现高电平,

主机再15us内对引脚电平进行采样,

若采到一个低电平,代表ds18b20发送了bit0。

相关推荐
GJGCY25 分钟前
金融AI Agent厂商怎么选?系统集成、API/RPA、权限审计与异常恢复能力评估
人工智能·经验分享·ai·金融·智能体
D_C_tyu27 分钟前
AI Vibe Coding | AI能力评估提示词参考
人工智能·提示词·vibe coding
IT_陈寒31 分钟前
Python的列表推导式用不好真的会爆内存你知道吗
前端·人工智能·后端
ZhengEnCi36 分钟前
vLLM是什么:PagedAttention 让大模型推理快 2-4 倍,还能撑起更长思维链
人工智能·性能优化·llm
注塑机数据采集联网1 小时前
注塑机生产管控MES系统应用
大数据·运维·服务器·人工智能·物联网
kyriewen1 小时前
我算了笔账:AI 编程工具一年烧掉两台 MacBook
前端·人工智能·程序员
云和数据.ChenGuang1 小时前
Python 常见特殊方法详解:__new__、__init__、__del__、__str__、__repr__ 与 __getattribute__
开发语言·人工智能·python·1024程序员节
一个简单的TTS开发者1 小时前
#有声小说多角色对话 TTS 配置与选型指南
人工智能·开源·indextts
没落之王1 小时前
历史系统建模:宋初太祖太宗「再立天庭」秩序重构推演
人工智能·算法·重构
海宇服务1 小时前
零信任架构实战:基于海宇全国车辆配置查验构建自动化二手商用车出厂参数建档网关
运维·人工智能·架构·自动化·1024程序员节