主控(PCA9555)
介绍
本模块使用PCA9555芯片作为核心,这是一款基于 I²C 总线的 16 位通用输入输出 (GPIO) 扩展器,每个引脚可独立配置为 输入 或 输出,其中本模块P0_0~P0_7对应到8路的继电器输出,P1_0~P1_7引出作为自定义的输入输出口
寄存器
命令字节
命令字节是写入传输期间地址字节之后的第一个字节,它用作指针,以确定将写入或读取以下哪个寄存器。
| 命令 | 寄存器 |
|---|---|
| 0x00 | 输入端口0 |
| 0x01 | 输入端口1 |
| 0x02 | 输出端口0 |
| 0x03 | 输出端口1 |
| 0x04 | 极性反转端口0 |
| 0x05 | 极性反转端口1 |
| 0x06 | 配置端口0 |
| 0x07 | 配置端口1 |
寄存器0和1:输入端口寄存器
这两个寄存器是一个仅输入端口。它反映了引脚的输入的逻辑电平,写入这两个寄存器无效
输入端口0寄存器 命令0x00
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|
| 引脚 | I0.7 | I0.6 | I0.5 | I0.4 | I0.3 | I0.2 | I0.1 | I0.0 |
| 默认值 | X | X | X | X | X | X | X | X |
输入端口1寄存器 命令0x01
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|
| 引脚 | I1.7 | I1.6 | I1.5 | I1.4 | I1.3 | I1.2 | I1.1 | I1.0 |
| 默认值 | X | X | X | X | X | X | X | X |
寄存器2和3:输出端口寄存器
写入寄存器对于被设置为输入的引脚无影响。如引脚定义为输入,则该引脚交由输入端口寄存器管理,输出则交由输出端口寄存器管理。下面表格为输出端口寄存器介绍;
输出端口0寄存器 命令0x02
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|
| 引脚 | O0.7 | O0.6 | O0.5 | O0.4 | O0.3 | O0.2 | O0.1 | O0.0 |
| 默认值 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
输出端口1寄存器 命令0x03
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|
| 引脚 | O1.7 | O1.6 | O1.5 | O1.4 | O1.3 | O1.2 | O1.1 | O1.0 |
| 默认值 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
寄存器4和5:极性反转寄存器
该寄存器允许用户反转输入端口寄存器数据的极性。如果寄存器的数值为1,则会将引脚的输入逻辑电平进行翻转后存储在输入寄存器中,当引脚配置为输出后该寄存器无效。
极性反转端口0寄存器 命令0x04
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|
| 引脚 | N0.7 | N0.6 | N0.5 | N0.4 | N0.3 | N0.2 | N0.1 | N0.0 |
| 默认值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
极性反转端口1寄存器 命令0x05
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|
| 引脚 | N1.7 | N1.6 | N1.5 | N1.4 | N1.3 | N1.2 | N1.1 | N1.0 |
| 默认值 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
寄存器6和7:配置寄存器
这两个寄存器设置引脚是作为输入还是输出,当寄存器中位值设置为1时,相应引脚为输入模式,当寄存器中位值为0时,相应的引脚为输出模式
配置端口0寄存器 命令0x06
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|
| 引脚 | C0.7 | C0.6 | C0.5 | C0.4 | C0.3 | C0.2 | C0.1 | C0.0 |
| 默认值 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
配置端口1寄存器 命令0x07
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|
| 引脚 | C1.7 | C1.6 | C1.5 | C1.4 | C1.3 | C1.2 | C1.1 | C1.0 |
| 默认值 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |