跳转到内容

主控(PCA9555)

介绍

本模块使用PCA9555芯片作为核心,这是一款基于 I²C 总线的 16 位通用输入输出 (GPIO) 扩展器,每个引脚可独立配置为 输入 或 输出,其中本模块P0_0~P0_7对应到8路的继电器输出,P1_0~P1_7引出作为自定义的输入输出口

官方数据手册 https://www.nxp.com/docs/en/data-sheet/PCA9555.pdf

寄存器

命令字节

命令字节是写入传输期间地址字节之后的第一个字节,它用作指针,以确定将写入或读取以下哪个寄存器。

命令寄存器
0x00输入端口0
0x01输入端口1
0x02输出端口0
0x03输出端口1
0x04极性反转端口0
0x05极性反转端口1
0x06配置端口0
0x07配置端口1

寄存器0和1:输入端口寄存器

这两个寄存器是一个仅输入端口。它反映了引脚的输入的逻辑电平,写入这两个寄存器无效

输入端口0寄存器 命令0x00

Bit76543210
引脚I0.7I0.6I0.5I0.4I0.3I0.2I0.1I0.0
默认值XXXXXXXX

输入端口1寄存器 命令0x01

Bit76543210
引脚I1.7I1.6I1.5I1.4I1.3I1.2I1.1I1.0
默认值XXXXXXXX

寄存器2和3:输出端口寄存器

写入寄存器对于被设置为输入的引脚无影响。如引脚定义为输入,则该引脚交由输入端口寄存器管理,输出则交由输出端口寄存器管理。下面表格为输出端口寄存器介绍;

输出端口0寄存器 命令0x02

Bit76543210
引脚O0.7O0.6O0.5O0.4O0.3O0.2O0.1O0.0
默认值11111111

输出端口1寄存器 命令0x03

Bit76543210
引脚O1.7O1.6O1.5O1.4O1.3O1.2O1.1O1.0
默认值11111111

寄存器4和5:极性反转寄存器

该寄存器允许用户反转输入端口寄存器数据的极性。如果寄存器的数值为1,则会将引脚的输入逻辑电平进行翻转后存储在输入寄存器中,当引脚配置为输出后该寄存器无效。

极性反转端口0寄存器 命令0x04

Bit76543210
引脚N0.7N0.6N0.5N0.4N0.3N0.2N0.1N0.0
默认值00000000

极性反转端口1寄存器 命令0x05

Bit76543210
引脚N1.7N1.6N1.5N1.4N1.3N1.2N1.1N1.0
默认值00000000

寄存器6和7:配置寄存器

这两个寄存器设置引脚是作为输入还是输出,当寄存器中位值设置为1时,相应引脚为输入模式,当寄存器中位值为0时,相应的引脚为输出模式

配置端口0寄存器 命令0x06

Bit76543210
引脚C0.7C0.6C0.5C0.4C0.3C0.2C0.1C0.0
默认值11111111

配置端口1寄存器 命令0x07

Bit76543210
引脚C1.7C1.6C1.5C1.4C1.3C1.2C1.1C1.0
默认值11111111