单总线(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 ...
随机推荐
- Python连接MySQL数据库之pymysql模块
pymysql 在python3.x 中用于连接MySQL服务器的一个库:Python2中则使用mysqldb pymysql的模块的基本的使用 # 导入pymysql模块 import pymysq ...
- jQuery的offset、position、scroll,元素尺寸、对象过滤、查找、文档处理
jQuery_offset和position var offset = $('.xxx').offset() console.log(offset.left.,offset.top)xxx相对于页面左 ...
- Docker介绍及使用
什么是容器? 容器就是在隔离的环境运行的一个进程,如果进程停止,容器就会销毁.隔离的环境拥有自己的系统文件,ip地址,主机名等,kvm虚拟机,linux,系统文件 程序:代码,命令 进程:正在运行的程 ...
- 关于查询ios的app更新的历史版本记录
https://www.qimai.cn 推荐七麦数据 可以查询app的各种版本更新内容 由于历史久远忘记了自己app第一次上架的时间 通过这个可以查询
- springboot2.0配置连接池(hikari、druid)
springboot2.0配置连接池(hikari.druid) 原文链接:https://www.cnblogs.com/blog5277/p/10660689.html 原文作者:博客园--曲高终 ...
- SearchScore
static void Main(string[] args) { Console.WriteLine("请输入要查询的学生姓名!"); string nameToQuery = ...
- Hadoop入门
一.Hadoop是什么 1)Hadoop是一个由Apache基金会所开发的分布式系统基础架构. 2)Hadoop主要解决,海量数据的存储和海量数据的分析计算问题. 3)广义上来说,Hadoop通常是指 ...
- Struts 2 框架搭建HelloWorld
1.导包 导入相应的jar包,在blank项目中会出现 2.书写Action类 package com.littlepage.struts; public class HelloAction { pu ...
- curl提交请求时,如何把cookie带过去
curl请求有一个CURLOPT_COOKIE参数,把获取到的cookie内容,通过字符串组装,赋值给这个参数就可以了 例子: $defaults = array( CURLOPT_URL =&g ...
- Spring mvc集成log4j2
前期环境 Spring mvc + Maven + Idea 一.下面开始配置log4j2,先简单演示其如何配置,再仔细了解log4j2用法. 1.1 配置pom.xml,引用log4j2相关包 & ...