单总线(1-Wire Bus)技术及其应用
reference: http://www.doc88.com/p-2106151016582.html
摘要:介绍了美DALLAS公司推出的单总线技术的原理和信号传输方式,说明了单总线通信协议,最后以单总线器件iButton在安防系统中的应用为例,给出了单总线的数据传输方法。

2 单总线的工作原理

表1 ROM命令说明
ROM命令 | 说 明 |
搜索ROM(F0h) | 识别单总线上所有的1-wire器件的ROM编码 |
读ROM(33h)(仅适合单节点) | 直接读1-wire器件的序列号 |
匹配ROM(55h) | 寻找与指定序列号相匹配的1-wire器件 |
跳跃ROM(CCh)(仅适合单节点) | 使用该命令可直接访问总线上的从机设备 |
报警搜索ROM(Ech)(仅少数器件支持) | 搜索有报警的从机设备 |

4 单总线器件

5 单总线器件的应用
RESET BSF RB2 ;主机拉低总线
CALL DELAY_500us ;给500μs复位脉冲
BCF RB2 ;释放总线
CALL DELAY_200us
BTFSC BR1 ;检测iButton返回应答脉冲否
GOTO RESET ;否,再给它复位脉冲
CALL DELAY_500us ;是,返回
RETURN
WRITE_0 BSF RB2 ;对iButton写0时序子程序
CALL DELAY_10us
CALL DELAY_60us
BCF RB2
CALL DELAY_10us
RETURN
WRITE_1 BSF RB2 ;对iButton写1时序子程序
CALL DELAY_10us
BCF RB2
CALL DELAY_60us
RETURN
READ_TIME BSF RB2 ;对iButton读数据时序
NOP
NOP
NOP
BCF RB2
CALL DELAY_10us
RETURN

(综合电子论坛)
单总线(1-Wire Bus)技术及其应用的更多相关文章
- Azure Event Bus 技术研究系列1-Event Hub入门篇
前两个系列研究了Azure IoT Hub和Azure Messaging.最近准备继续研究Azure Event Bus,即Azure的事件中心.首先, Azure Event Hub的官方介绍: ...
- Chrysler -- CCD (Chrysler Collision Detection) Data Bus
http://articles.mopar1973man.com/general-cummins/34-engine-system/81-ccd-data-bus CCD (Chrysler Coll ...
- 十天学会单片机Day5 IIC总线AT2402芯片(EEPROM)应用
1.采用串行总线技术可以使系统的硬件设计大大简化.系统的体积减小.可靠性提高.同时,系统的更改和扩充极为容易. 常用的串行扩展总线有: IIC (Inter IC BUS)总线.单总线(1-WIRE ...
- OneWire总线的Arduino库函数
OneWire总线基本点 One-wire总线是DALLAS公司研制开发的一种协议,采用单根信号线,既传输时钟,又传输数据而且数据传输是双向的.它具有节省I/O 口线资源.结构简单.成本低廉.便于总线 ...
- AD6电气规则错误报告中英文对照
Ⅰ:Error Reporting 错误报告 A:Violations Associated with Buses 有关总线电气错误的各类型(共 12 项) ◆ bus indices out of ...
- Logic and Fault simulation
fault simulation是指对fault circuit的simulation,来locate manufacturing defects并且进行fault diagnosis. logic ...
- MassTransit 实现发布/订阅
MassTransit 介绍 先看下masstransit 官网介绍:MassTransit 是一个自由.开源.轻量级的消息总线, 用于使用. NET 框架创建分布式应用程序.MassTransit ...
- 单片机学习(十二)1-Wire通信协议和DS18B20温度传感器
目录 一.DS18B20 1. DS18B20简介 2. 电路原理图 3. 内部结构 内部完整结构框图 存储器结构 二.单总线(1-Wire BUS) 1. 单总线简介 2. 电路规范 3. 单总线的 ...
- Serial Wire Debugging the STM32 via the Bus Pirate
Serial Wire Debugging the STM32 via the Bus Pirate 2 October 2010 Step 1 - The Bus Pirate Step 2 - D ...
随机推荐
- C# DataGridView 动态添加列和调整列顺序
https://yq.aliyun.com/articles/421700 // DataGridView1的ColumnDisplayIndexChanged事件处理方法private void D ...
- (转)Extracting knowledge from knowledge graphs using Facebook Pytorch BigGraph.
Extracting knowledge from knowledge graphs using Facebook Pytorch BigGraph 2019-04-27 09:33:58 This ...
- 从Scratch到Python:会动的小猫
大部分人提起儿童编程,就会想到Scratch,然而当儿童升入中学,学习什么语言比较合适呢?我认为,Python是未来的方向,为此我将会把一些经典的Scratch案例用Python重新实现,抛砖引玉,希 ...
- docker笔记(2)-----容器连接
2019-01-12 13:57:36 Dockerfile基本结构: 基础镜像内容:FROM指明base image 维护者信息: 镜像操作指令:RUN指令,每运行一条RUN指令,镜像添加新的一层 ...
- 【React】学习之道
一.工欲善其事必先利其器 - 准备工作 安装vscode:https://code.visualstudio.com/ 安装node.js:https://nodejs.org/en/ 安装gitba ...
- MYSQL mybatis
mysql 1 每个语句的结束记得加分号; 2where条件里再做if分支 SELECT *FROM `table` WHERE IF( `parentID` is null, `plan_id` ...
- Python —— 函数高级特性(切片、迭代、列表生成式、生成器、迭代器)
一.切片(Slice) 在很多编程语言中,针对字符串提供了很多截取函数(i.e. substring),目的就是对字符串切片.python中没有针对字符串的截取函数,需要通过“切片”来完成. 取一个 ...
- 华为交换机VRP系统命令试图
- 从零开始学习Java多线程(一)
1. 什么是进程? 对其概念需要自行goole,简单理解就是:进程是计算机系统进行资源分配和调度的基本单位,是正在运行程序的实体:每一个进程都有它自己的内存空间和系统资源:进程是线程的容器.如:打开I ...
- 『链接』Microsoft Visual C Redistributable/VC 再发行库 下载哪家强?
http://www.standaloneofflineinstallers.com/2015/12/Microsoft-Visual-C-Redistributable-2015-2013-2012 ...