I2C总线8位IO扩展器PCF8574
PCF8574用于I2C总线的远程8位I/O扩展器
1 产品特点
低待机电流消耗:10 uA(最大值)
I2C 转并行端口扩展器
漏极开路中断输出
与大多数微控制器兼容
具有大电流驱动能力的闭锁输出,可直接驱动 LED
闩锁性能超过 100 mA,符合 JESD 78 标准,ll 类
2 应用
电信候机亭:滤波单元
服务器
路由器(电信交换设备)
个人电脑
个人电子产品
工业自动化
采用GPIO限制处理器的产品
3 描述
这款用于双线双向总线 (I2C) 的 8 位输入/输出 (I/O) 扩展器专为 2.5V 至 6V Vcc 操作而设计。
PCF8574A器件通过IC接口[串行时钟(SCL)、串行数据(SDA)]为大多数微控制器系列提供通用远程I/O扩展。
该器件具有一个 8 位准双向 I/O 端口 (P0-P7),包括具有高电流驱动能力的锁存输出,可直接驱动 LED。每个准双向 1/O 都可以用作输入或输出,而无需使用数据方向控制信号。通电时,I/O 为高电平。在此模式下,只有 Vcc 的电流源处于活动状态。
5 引脚配置和功能
管脚功能
管脚名称 | 管脚编号 | 管脚类型 | 描述 |
---|---|---|---|
A[0…2] | 1, 2, 3 | I | 地址输入 0 到 2。直接连接到 VCC 或接地。不需要上拉电阻。 |
GND | 8 | — | 地 |
INT | 13 | O | 中断输出。通过上拉电阻连接到 VCC。 |
P[0…7] | 4, 5, 6, 7,9, 10, 11,12 | I/O | P 端口输入/输出。推挽式设计结构。 |
SCL | 14 | I | 串行时钟线。通过上拉电阻器连接到 VCC |
SDA | 15 | I/O | 串行数据线。通过上拉电阻连接到 VCC。 |
VCC | 16 | — | 电源电压 |
8 详细说明
8.1 概述
PCF8574A器件通过 I2C 接口 [串行时钟 (SCL)、串行数据 (SDA)] 为大多数微控制器系列提供通用远程 I/O 扩展。
该器件具有一个 8 位准双向 I/O 端口 (P0–P7),包括具有大电流驱动能力的锁存输出,可直接驱动 LED。每个准双向I/O都可以用作输入或输出,而无需使用数据方向控制信号。通电时,I/O 为高电平。在此模式下,只有 VCC 的电流源处于活动状态。VCC 的额外强上拉允许快速上升沿进入重负载输出。当输出写入高电平并被 SCL 的负边沿关闭时,该器件接通。在用作输入之前,I/O 应为高电平。
PCF8574A器件提供漏极开路输出 (INT),可连接到微控制器的中断输入。在输入模式下,端口输入的任何上升沿或下降沿都会产生中断。经过一段时间后,tiv、INT 有效。当端口上的数据更改为原始设置或从生成中断的端口读取或写入数据时,即可实现重置和重新激活中断电路。复位发生在 SCL 信号上升沿之后的确认位的读取模式下,或在 SCL 信号从高到低转换后的确认位处的写入模式下发生。在确认时钟脉冲期间发生的中断可能会丢失(或非常短),因为在此脉冲期间重置中断。复位后I/O的每一次变化都会被检测到,并在下一个上升的时钟边沿之后,以INT的形式传输。 从另一个器件读取或写入另一个器件不会影响中断电路。
通过在这条线路上发送中断信号,远程 I/O 可以通知微控制器其端口上是否有传入数据,而无需通过 I2C 总线进行通信。因此,PCF8574A设备可以保持简单的从设备。
8.2 功能框图
8.2.1 设备简化框图
8.3 功能说明
8.3.1 I2C接口
与该器件的 I2C 通信由主设备启动,该条件由主发送启动条件启动,即 SCL 输入为高电平时 SDA I/O 上的高低转换。在启动条件之后,首先发送设备地址字节,最高有效位 (MSB),包括数据方向位 (R/W)。此设备不响应常规呼叫地址。在接收到有效的地址字节后,该器件会以确认响应,即在与确认相关的时钟脉冲的高电平期间,SDA I/O上的低电平。从设备的地址输入(A0–A2)不得在启动和停止条件之间更改。
数据字节跟在地址确认之后。如果 R/W 位为高电平,则来自此设备的数据是从 P 端口读取的值。如果R/W位为低电平,则数据来自主站,输出到P端口。数据字节后跟从此设备发送的确认。如果从主设备发送其他数据字节,则在确认之后,此设备将忽略这些数据字节。仅当接收并确认完整字节时,才会输出数据。输出数据将在 SCL 从低到高转换之后的时间 tpv 以及确认的时钟周期内有效。
当SCL输入为高电平时,SDA I/O上的停止条件(即从低到高的转换)由主机发送。
8.3.2 接口定义
BYTE | 7 (MSB) | 6 | 5 | 4 | 3 | 2 | 1 | 0 (LSB) |
---|---|---|---|---|---|---|---|---|
I2C slave address | L | H | H | H | A2 | A1 | A0 | R/W |
I/O data bus | P7 | P6 | P5 | P4 | P3 | P2 | P1 | P0 |
8.3.3 Address Reference
A2 | A1 | A0 | READ ADDRESS | WRITE ADDRESS |
---|---|---|---|---|
L | L | L | 71 (hex) | 70 (hex) |
L | L | H | 73 (hex) | 72 (hex) |
L | H | L | 75 (hex) | 74 (hex) |
L | H | H | 77 (hex) | 76 (hex) |
H | L | L | 79 (hex) | 78 (hex) |
H | L | H | 7B (hex) | 7A (hex) |
H | H | L | 7D (hex) | 7C (hex) |
H | H | H | 7F (hex) | 7E (hex) |
9 应用与实施
9.2.1 设计要求
9.2.1.1 I/O控制LED时最小化ICC
当I/O用于控制LED时,通常通过电阻器连接到VCC,如图27所示。对于配置为输入的 P 端口,ICC 会随着 VI 低于 VCC 而增加。LED 为二极管,阈值电压为 VT,当 P 端口配置为输入时,LED 将熄灭,但 VI 为 VCC 以下的 VT 压降。
对于电池供电应用,当 P 端口配置为输入时,控制 LED 的 P 端口的电压必须大于或等于 VCC,以最大限度地降低电流消耗。图19显示了与LED并联的高值电阻。图 20 显示 VCC 比 LED 电源电压至少小 VT。
这两种方法都将 I/O VI 保持在 VCC 或更高,并防止在 P 端口配置为输入且 LED 熄灭时产生额外的电源电流消耗。
相关文章:

I2C总线8位IO扩展器PCF8574
PCF8574用于I2C总线的远程8位I/O扩展器 PCF8574国产有多个厂家有替代产品,图示为其中一款HT8574 1 产品特点 低待机电流消耗:10 uA(最大值) I2C 转并行端口扩展器 漏极开路中断输出 与大多数微控制器兼容 具有大电流驱动能力的闭…...
webClient + fastJSON2 获取json格式的数据,同时解析至java class 并 下划线转驼峰
webClient中 .accept(MediaType.APPLICATION_JSON) 决定返回值是什么格式一般情况可以不写,但这里要获取JSON格式的 .bodyToMono(String.class)指定返回类型 fastJSON2中 Student student JSON.parseObject(result, Student.class, JSONReader.Feature.SupportSm…...

4、SpringMVC 实战小项目【加法计算器、用户登录、留言板、图书管理系统】
SpringMVC 实战小项目 3.1 加法计算器3.1.1 准备⼯作前端 3.1.2 约定前后端交互接⼝需求分析接⼝定义请求参数:响应数据: 3.1.3 服务器代码 3.2 ⽤⼾登录3.2.1 准备⼯作3.2.2 约定前后端交互接⼝3.2.3 实现服务器端代码 3.3 留⾔板实现服务器端代码 3.4 图书管理系统准备后端 3…...
OpenCV--形态学
形态学 形态学图像全局二值化自适应阈值腐蚀操作膨胀开运算闭运算形态学梯度顶帽操作黑帽操作 形态学 从图像中提取对表达和描绘区域形状有意义的图像分量 图像全局二值化 import cv2 import numpy as np """ 图像全局二值化--0与255 二值化的主要目的是通过…...
【LinuxC语言】IP地址相关的函数
文章目录 前言inet_addr()inet_aton()inet_ntoa()示例代码总结前言 在Linux C语言编程中,处理网络通信是一个核心主题,其中涉及到的IP地址相关函数扮演着至关重要的角色。这些函数允许我们在不同的网络层次上操作和管理IP地址,从而实现有效的数据传输和通信控制。本文将介绍…...

QT事件处理系统之五:自定义事件的发送案例 sendEvent和postEvent接口
1、案例 双击窗口,会发送 自定义事件,然后在事件过滤中心进行拦截处理自定义事件。 2、核心代码 /*解释:双击窗口时,将产生双击事件,然后该事件被包裹成一个对象,随后将会被发往event事件中心,然后进行事件的处理(Widget对象);因为m_lineEdit开启了事件过滤机制,所…...

模版与策略模式
一,怎么选择 如果需要固定的执行流程,选模版 如果不需要固定的执行流程,只需要对一个方法做具体抽象,选策略 参考文章: 常用设计模式汇总,告诉你如何学习设计模式 二,常用写法 子类 exten…...

SQL-Python
师从黑马程序员 数据库介绍 数据库就是存储数据的库 数据组织:库->表->数据 数据库和SQL的关系 MySQL的基础命令 SQL基础 SQL语言的分类 SQL的语法特征 DDL-库管理 show DATABASES;use sys;SELECT database();CREATE DATABASE test CHARSET utf-8;SHOW D…...
mysql索引以及优化
索引的作用 在数据库表中对字段建立索引可以大大提高查询速度 mysql索引类型 普通索引唯一索引: 唯一索引列的值必须唯一允许有空值,如果是组合索引,则列值的组合必须唯一create unique index indexName on mytable(username(length))修改表结…...

【pytorch06】 维度变换
常用API view/reshapesqueeze/unsqueezetranspose/t/permuteexpand/repeat view和reshape view操作的基本前提是保证numel()一致 a.view(4,28*28)的物理意义是把行宽以及通道合并在一起,对于4张图片,我们直接把所有数据都合在一起,用一个7…...

移动Web开发实战内容要点!!!
移动web开发 目录 移动web开发 第一章、Web开发标准与网页网站制作介绍 1.1Web开发标准 1.2网页基本构成元素 第二章、Web开发技术基础 2.1HTML的主要特点: 2.2HTML基本知识 2.3CSS样式 2.4JavaScript 第三章、打造移动Web应用程序 3.1为什么Android会成…...

spdlog生产者消费者模式
spdlog生产者消费者模式 spdlog提供了异步模式,显示的创建async_logger, 配合环形队列实现的消息队列和线程池实现了异步模式。异步logger提交日志信息和自身指针, 任务线程从消息队列中取出消息后执行对应的sink和flush动作。 1. 环形队列 1.1 环形队…...
日语 13 14
13. スピーチの依頼 いらい 自信 自信 自信 自信 自信 じしん 折り入って 折り入って 折り入って おりいって 诚恳 頼み 頼み 頼み 頼み 頼み たのみ 请求 整備 整備 整備 整備 整備 せいび 维修 肥満 肥満 肥満 肥満 肥満 ひまん 肥胖 権利 …...

初学者应该掌握的MySQL数据库的基本组成部分及概念
MySQL数据库作为一种开源的关系型数据库管理系统,被广泛应用于Web应用开发和数据存储。它具有高性能、易用性和可靠性等特点,是开发者们的首选之一。在本篇文章中,我们将详细介绍MySQL数据库的核心组成部分,帮助你深入理解这个强大…...

四川汇聚荣科技有限公司怎么样?
在探讨一家科技公司的综合实力时,我们往往从多个维度进行考量,包括但不限于公司的发展历程、产品与服务的质量、市场表现、技术创新能力以及企业文化。四川汇聚荣科技有限公司作为一家位于中国西部的科技企业,其表现和影响力自然也受到业界和…...

数据仓库和数据库有什么区别?
一、什么是数据仓库二、什么是数据库三、数据仓库和数据库有什么区别 一、什么是数据仓库 数据仓库(Data Warehouse)是一种专门用于存储和管理大量结构化数据的信息系统。它通过整合来自不同来源的数据,为企业提供统一、一致的数据视图&…...
计算子网掩码
例题 如果子网掩码是255.255.192.0, 那么下面主机()必须通过路由器才能与主机129.23.144.16通信( 1分 )A.129.23.148.127B. 129.23.191.21C. 129.23.127.222D. 129.23.130.33计算 要确定哪些主机必须通过路由器才能与…...
JVM 垃圾收集算法
首先我们要知晓,垃圾收集是建立在两个分代假说之上的: ①弱分代假说:绝大多数对象都是朝生夕灭的 ②强分代假说:熬过越多次垃圾收集的对象就越难消亡 收集器应该将Java堆划分出不同的区域,然后将回收对象依据其年龄分配…...

安装虚拟环境
自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 Flask依赖两个外部库:Werkzeug和Jinja2。Werkzeug是一个WSGI(在Web应用和多种服务器之间的标准 Python 接口)工具…...

【ai】tx2-nx:安装深度学习环境及4.6对应pytorch
参考:https://www.waveshare.net/wiki/Jetson_TX2_NX#AI.E5.85.A5.E9.97.A8 英伟达2021年发布的的tritionserver 2.17 版本中,backend 有tensorflow1 和 onnxruntime ,他们都是做什么用的,作为backend 对于 triton 推理server意义是什么,是否应该有pytorch? Triton Infer…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...

YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...

dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...

接口自动化测试:HttpRunner基础
相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型…...
MinIO Docker 部署:仅开放一个端口
MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...
LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用
中达瑞和自2005年成立以来,一直在光谱成像领域深度钻研和发展,始终致力于研发高性能、高可靠性的光谱成像相机,为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...
Python竞赛环境搭建全攻略
Python环境搭建竞赛技术文章大纲 竞赛背景与意义 竞赛的目的与价值Python在竞赛中的应用场景环境搭建对竞赛效率的影响 竞赛环境需求分析 常见竞赛类型(算法、数据分析、机器学习等)不同竞赛对Python版本及库的要求硬件与操作系统的兼容性问题 Pyth…...

在 Visual Studio Code 中使用驭码 CodeRider 提升开发效率:以冒泡排序为例
目录 前言1 插件安装与配置1.1 安装驭码 CodeRider1.2 初始配置建议 2 示例代码:冒泡排序3 驭码 CodeRider 功能详解3.1 功能概览3.2 代码解释功能3.3 自动注释生成3.4 逻辑修改功能3.5 单元测试自动生成3.6 代码优化建议 4 驭码的实际应用建议5 常见问题与解决建议…...