/*************************************************************** “天祥电子” 倾情奉献 www.txmcu.com www.txmcu.cn ***************************************************************** 程序功能: 向IIC总线器件24c02EEPROM中地址为0的存储单元中写入数据0xaa 并将其读出并送入P1口,可观察到P1口相连的LED交替被点亮。 主要为了练习IIC总线的驱动程序以及24C02的操作方法。 ***************************************************************/ //试验AT24C02EEPROM芯片程序 #include #include #define uint unsigned int #define uchar unsigned char sbit sda=P2^0; //IO口定义 sbit scl=P2^1; //此为待写入24c02的数据。为了便于验证结果,数组的内容为周期重复的。 char code music[] = { 0x55,0xaa,0x0f,0xf0,0x55,0xaa,0x0f,0xf0,0x55,0xaa,0x0f,0xf0, 0x55,0xaa,0x0f,0xf0,0x55,0xaa,0x0f,0xf0,0x55,0xaa,0x0f,0xf0, 0x55,0xaa,0x0f,0xf0,0x55,0xaa,0x0f,0xf0,0x55,0xaa,0x0f,0xf0, 0x55,0xaa,0x0f,0xf0,0x55,0xaa,0x0f,0xf0,0x55,0xaa,0x0f,0xf0, 0x55,0xaa,0x0f,0xf0,0x55,0xaa,0x0f,0xf0,0x55,0xaa,0x0f,0xf0 }; //由于最后还要讲这些数据读出送到P1口,故可发现P1口相连的led有规律地闪烁15个周期 uchar data buffer[100]; //用于缓存从24c02中读取的数据。 delay(unsigned int m) { unsigned int n,p; for(n=m;n>0;n--) for(p=125;p>0;p--); } void nop() { _nop_(); _nop_(); } /////////24C02读写驱动程序//////////////////// void delay1(unsigned int m) { unsigned int n; for(n=0;n