1. 24C02存储器
// 写入24C02
IIC_Start(); // IIC总线起始信号
IIC_SendByte(0xa0); // 24C02写设备地址
IIC_WaitAck(); // 等待从机应答
IIC_SendByte(addr); // 设定要写入的内存地址
IIC_WaitAck(); // 等待从机应答
IIC_SendByte(dat); // 写入数据
IIC_WaitAck(); // 等待从机应答
IIC_Stop(); //IIC总线停止信号
// 读取24C02
unsigned char Read_24C02(unsigned char addr)
{
unsigned char tmp;
//进行一个伪写操作,用来指定要读取的位置
IIC_Start(); //IIC总线起始信号
IIC_SendByte(0xa0); //24C02写设备地址
IIC_WaitAck(); //等待从机应答
IIC_SendByte(addr); //内存自己地址
IIC_WaitAck(); //等待从机应答
//进行字节读操作
IIC_Start(); //IIC总线起始信号
IIC_SendByte(0xa1); //24C02读设备地址
IIC_WaitAck(); //等待从机应答
tmp = IIC_RecByte(); //读取目标数据
IIC_Ack(1); //产生非应答信号
IIC_Stop(); //IIC总线停止信号
return tmp;
}
2. PCF8591 A/D转换