📄 pca9554.c
字号:
#include "i2c.h"
#include <reg51.h>
#include <intrins.h>
#include "common.h"
#define WriteDeviceAddress_9554 0x40
#define ReadDeviceAddress_9554 0x41
sbit PCA9554_SCL=P3^0;
sbit PCA9554_SDA=P3^1;
void start_9554(void)
{
PCA9554_SCL=0;
PCA9554_SDA=1;
nop();
nop();
nop();
nop();
nop();
nop();
PCA9554_SCL=1;
nop();
nop();
nop();
nop();
nop();
PCA9554_SDA=0;
nop();
nop();
nop();
nop();
nop();
}
void stop_9554()
{
PCA9554_SCL=0;
PCA9554_SDA=0;
nop();
nop();
nop();
nop();
nop();
PCA9554_SCL=1;
nop();
nop();
nop();
nop();
nop();
//nop();
//nop();
//nop();
//nop();
PCA9554_SDA=1;
nop();
nop();
nop();
nop();
nop();
}
void writeoutput(uchar input)
{
start_9554();
write8bit(WriteDeviceAddress_9554);
write8bit(0x1);
write8bit(input);
stop_9554();
}
void writeconfig(uchar input)
{
start_9554();
write8bit(WriteDeviceAddress_9554);
write8bit(0x3);
write8bit(input);
stop_9554();
}
uchar readregister(void)
{
uchar readdata;
start_9554();
write8bit(WriteDeviceAddress_9554);
write8bit(0x1);
start_9554();
write8bit(ReadDeviceAddress_9554);
readdata=read8bit();
no_ack();
stop_9554();
return readdata;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -