当前位置: 首页 > news >正文

单片机学习笔记.单总线one-wire协议(这里以普中开发板DS18B20为例)

硬件原理图: 


 DS18B20数据图:

 

 


首先根据原理图定义对应引脚:

sbit OneWire_DQ=P3^7;

 one-wire时序图:

one-wire初始化:

初始化时序分析: 

unsigned char OneWire_Init(void)
{unsigned char AckBit;OneWire_DQ=1;OneWire_DQ=0;Delay500us();OneWire_DQ=1;Delay70us();AckBit=OneWire_DQ;Delay500us();return AckBit;
}

one-wire读/写 1位:

one-wire读/写 1位 时序分析: 


 写一个位:

//写一个位
void OneWire_SendBit(unsigned char Bit)
{OneWire_DQ=0;Delay14us();//10usOneWire_DQ=Bit;Delay54us();//50usOneWire_DQ=1;
}

 接收一位: 

//接收一位
unsigned char OneWire_ReciveBit(void)
{unsigned char Bit;OneWire_DQ=0;Delay9us();//5usOneWire_DQ=1;Delay9us();//5usBit=OneWire_DQ;Delay54us();//50usreturn Bit;
}

  写入1个字节:

//写入一个字节
void OneWire_SendByte(unsigned char Byte)
{unsigned char i;for(i=0;i<8;i++){OneWire_SendBit(Byte&(0x01<<i));}
}

 发送1个字节: 

//发送1个字节
unsigned char OneWire_ReciveByte(void)
{unsigned char Byte=0x00;unsigned char i;for(i=0;i<8;i++){if(OneWire_ReciveBit()){Byte|=(0x01<<i);}}return Byte;
}

http://www.dtcms.com/a/292721.html

相关文章:

  • SQL JOIN 全解析:用 `users` 与 `orders` 表彻底掌握内连接、左连接、右连接
  • PostgreSQL大数据集查询优化
  • 蓝桥杯51单片机
  • 第十四届蓝桥杯青少Scratch国赛真题——太空大战
  • 解决 NCCL 多节点通信问题:从 nranks 1 到 busbw 116 MB/s
  • 02-netty基础-java四种IO模型
  • 二、计算机网络技术——第3章:数据链路层
  • Yocto meta-toradex-security layer 使用 TI AM62 安全启动功能
  • vscode,cursor,Trae终端不能使用cnpm、npm、pnpm命令解决方案
  • QT RCC 文件
  • Hadoop调度器深度解析:FairScheduler与CapacityScheduler的优化策略
  • PHP获取淘宝拍立淘(以图搜图)API接口操作详解
  • Ext4文件系统全景解析
  • 【n8n教程笔记——工作流Workflow】文本课程(第一阶段)——1、导航编辑器界面(Navigating the editor UI)介绍
  • DOM编程全解析:操作、事件与存储实战指南
  • Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型实现水下鱼类识别(C#代码,UI界面版)
  • 深入浅出Proxy与Reflect:从“黑中介“到“数据管家“的进阶之路
  • 【openssl生成自签证书】
  • Redis持久化-AOF
  • OpenCV 零基础到项目实战 | DAY 1:图像基础与核心操作
  • UE5 UI 安全区
  • 基于springboot的医院资源管理系统(源码+论文)
  • nodejs:告别全局安装,npx 命令详解及其与 npm 的区别
  • 网络安全渗透攻击案例实战:某公司内网为目标的渗透测试全过程
  • 如何永久删除安卓设备中的照片(已验证)
  • 2025 年非关系型数据库全面指南:类型、优势
  • 【Android】Popup menu:弹出式菜单
  • 小玩 Lifecycle
  • imx6ull-系统移植篇17——linux顶层 Makefile(上)
  • ZooKeeper学习专栏(五):Java客户端开发(原生API)详解