I2C 总线8 位远程IO 扩展口芯片PCF8574 的原理与应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
I2C总线8位远程I/O扩展口芯片PCF8574的原理与应用
一概述
PCF8574是PHILIPS公司推出的一款带I2C总线,具有CMOS电路可使大多数MCU实现远程I/O口扩展该器件包含一个8位准双向口和一个I2C总线接口PCF8574电流消耗很低且口输出锁存具有大电流驱动能力可直接驱动LED它还带有一条中断接线INT可与MCU的中断逻辑相连通过INT发送中断信号远端I/O口不必经过I2C 总线通信就可通知MCU是否有数据从端口输入这意味着PCF8574可以作为一个单被控器下面将主要的性能指标作一综合
1. 操作电压
2.5~6.0V;
低备用电流10A;
2.
3. I2C并行口扩展电路;
开漏中断输出;
4.
5.
I2C总线实现8位远程I/O口;
与大多数MCU兼容;
6.
口输出锁存具有大电流驱动能力可直接驱动LED;
7.
通过3个硬件地址引脚可寻址8个器件PCF8574A可多达16个;
8.
DIP16SO16或SSOP20形式封装.
9.
二PCF8574的基本组成
INT 13
中断输出低电平有效
SCL 14
串行时钟线
SDA 15
串行数据线
16
二P CF8574与微控制器的接口软件及功能应用举例
按I2C总线规约PCF8574的器件地址为40h, PCF8574A的器件地址为70h, 当然,由于硬件地址引脚A0-A2 可寻址8个器件,所以器件地址并不唯一,例如:A0接GND,A1接VCC,A2接VCC,则PCF8574的器件地址为4Ch.
下面首先给出基本的应用原理图(以4个按键输入和4个LED为例)然后说明各种功能的应用
PCF8574应用电路原理图P87LPC764采用内部振荡内部复位电路
1作为准双向口输出
作为准双向口扩展功能使用时无需任何控制寄存器来进行输入或输出设定参照上面的原理图举例
说明作为输出控制LED的设定欲使LED1LED3亮LED2LED4灭软件模块如下
Output_Control:
MOV SlvAdr,#40h ; 取PCF8574的器件地址
MOV ByteCnt,#1传送字节个数为1
MOV XmtDat,#0F5h 传送的字节内容为#0F5h
; 并口P0-P7的输出值为11110101
ACALL SendData 调用数据发送模块
RET 返回调用处
2作为准双向口输入
作为准双向口扩展功能使用时无需任何控制寄存器来进行输入或输出设定参照上面的原理图举例说明作为按键输入的设定首先请用户特别注意PCF8574的/INT输出在上电复位或进行了输出操作之
后一直保持低电平因此用户在进行输入操作之前如果想等待/INT中断再处理的话必须进行输入检
测之前的预操作之后可采取查询或中断方式来判断/INT输出
Input_Check:
MOV SlvAdr,#40h ; 取PCF8574的器件地址
MOV ByteCnt,#1传送字节个数为1
ACALL RcvData 调用数据接收模块
; 接收预处理完毕
JB P1.4,$ ; PCF8574无数据输出则在此等待
MOV ByteCnt,#1接收字节个数为1
ACALL RcvData 调用数据接收模块
RET 返回调用处
以上程序调用了I2C总线的基本数据发送(SendData)和接收(RcvData)模块,这些模块的源程序清单以及MCU的内部RAM定义在附录中给出。