/****对PCA9554A操作时要特别注意的是在主函数写数据之前,一定要先用函数 PCA9554A_Config(0x00)写0x00,否则收不到数据****/
#include <reg51.h>
#include <intrins.h>
sbit SDA=P2^0;
sbit SCL=P2^1;
sbit beep=P2^3;
void Delay(unsigned int i)
{
unsigned int j,k;
for(j=i;j>0;j--)
for(k=110;k>0;k--);
}
void NOP()
{
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
}
void PCA9554A_Start()
{
SDA=1;
NOP();
SCL=1;
NOP();
SDA=0;
NOP();
SCL=0;
NOP();
}
/****停止****/
void PCA9554A_Stop()
{
SDA=0;
NOP();
SCL=1;
NOP();
SDA=1;
#include <reg51.h>
#include <intrins.h>
sbit SDA=P2^0;
sbit SCL=P2^1;
sbit beep=P2^3;
void Delay(unsigned int i)
{
unsigned int j,k;
for(j=i;j>0;j--)
for(k=110;k>0;k--);
}
void NOP()
{
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
}
void PCA9554A_Start()
{
SDA=1;
NOP();
SCL=1;
NOP();
SDA=0;
NOP();
SCL=0;
NOP();
}
/****停止****/
void PCA9554A_Stop()
{
SDA=0;
NOP();
SCL=1;
NOP();
SDA=1;