51 单片机读写 AT24C02 源代码(详细注释) 在 P1 口上接八个 led 灯,结果就显示在这八个灯上面
AT24C02 的接线方式见程序的顶部的定义
以下是源代码: #include ;//包含头文件typedef unsigned char uchar;typedef unsigned int uint;#define write_c02 0xa0#define read_c02 0xa1sbit sda = P2^0;sbit scl = P2^1;void delay(){ //delay:5us;;}//i2c:initvoid i2c_init(){sda = 1;delay();scl = 1;delay();}//delayms:void delayms(uint xms){uchar x, y;for(x = xms; x >; 0; x--) for(y = 110; y >; 0; y--); }//start:void start() //启动 i2c{sda = 1;scl = 1;delay();//延时必须大于 4
7us,此约为五微秒sda = 0; //在 scl 为高电平常,sda 一个下降沿为启动信号delay();}//stop:void stop() //停止 i2c{sda = 0;scl = 1;delay();sda = 1; //在 scl 为高电平常,sdasda 一个上升沿为停止信号delay();}//ack:void ack() //应答信号 0{uchar i = 0; //等待变量scl = 1;//在 scl 为高电平期间等待应答delay();while((sda == 1) && i < 250)//若为应答 0 即退出,从机向主机发送应答信号i++;//等待一段时间scl = 0; //应答之后将