I2C只要完全按照时序来 一般没什么问题, 下面是个PIC上的程序,调试成功的。/****************************************************/
/*杭州晶控电子有限公司 */
/*http://www.hificat.com */
/*EEPROM读写演示程序 */
/*目标器件:PIC16F877A */
/*晶振:4.0MHZ */
/*编译环境:MPLAB V7.51 */
/****************************************************/
/****************************************************************************
包含头文件
****************************************************************************/
#include
/****************************************************************************
数据定义
****************************************************************************/
#define address 0xa
#define nop() asm("nop")
#define OP_READ 0xa1 // 器件地址以及读取操作
#define OP_WRITE 0xa0 // 器件地址以及写入操作
/****************************************************************************
端口定义
****************************************************************************/
#define SCL RB4
#define SDA RB5
#define SCLIO TRISB4
#define SDAIO TRISB5
/****************************************************************************
共阴LED段码表
****************************************************************************/
const char table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};
/****************************************************************************
函数功能:延时子程序
入口参数:
出口参数:
****************************************************************************/
void delay()
{
int i;
for(i=0;i