日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]proteus仿真:I2c總線和EEPROM2404的讀寫

仿真電路圖:

 

仿真程序:

#include

#include

#define uchar unsigned char

#define uint unsigned int

sbit SCL=P1^0;

sbit SDA=P1^1;

void delay(void)

{

_nop_();

_nop_();

_nop_();

_nop_();

}

void InitI2C(void)

{

SDA = 1;

SCL = 1;

}

void I2CStart(void)

{

SDA=1;

delay();

SCL=1;

delay();

SDA=0;

delay();

SCL=0;

}

void I2CStop(void)

{

SCL=0;

delay();

SDA=0;

delay();

SCL=1;

delay();

SDA=1;

delay();

}

void I2CSend(uchar byte)

{

uchar mask;

uchar i,j;

mask=0x80;

for(i=0;i<8;i++)

{

SCL=0;

delay();

if((mask & byte)==0)

{

SDA=0;

}

else

{

SDA=1;

}

mask>>=1;

delay();

SCL=1;

delay();

}

SCL=0;

SDA=1;

delay();

SCL=1;

j=SDA;

delay();

SCL=0;

}

void write_eeprom(uchar addr, uchar databyte)

{

I2CStart();

I2CSend(0xa0);

I2CSend(addr);

I2CSend(databyte);

I2CStop();

}

uchar I2CRead(void)

{

uchar byte;

uchar i;

byte = 0;

for(i = 0; i < 8; i++)

{

SCL = 0;

SDA = 1;

delay();

SCL = 1;

delay();

byte <<= 1;

if(SDA == 1)

{

byte |= 0x01;

}

delay();

}

SCL = 0;

SDA = 1;

delay();

SCL = 1;

delay();

SCL = 0;

return byte;

}

uchar read_eeprom(uchar addr)

{

uchar databyte;

I2CStart();

I2CSend(0xa0);

I2CSend(addr);

I2CStart();

I2CSend(0xa1);

databyte = I2CRead();

I2CStop();

return databyte;

}

main()

{

uchar addr=0x00,databyte=0xaa;

uchar c=0;

uint i;

InitI2C();

while(1)

{

write_eeprom(addr,databyte);

for(i = 0; i < 1000; i++)

{

delay();

}

c = read_eeprom(addr);

P2=c;

}

}

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉