<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > AT24C1024 proteus 2-wire Serial EEPROM 1

AT24C1024 proteus 2-wire Serial EEPROM 1

作者: 時(shí)間:2016-11-13 來(lái)源:網(wǎng)絡(luò ) 收藏
第i地址寫(xiě)入i

注意,讀數據時(shí)候 if((TWSR & 0xF8) != 0x10)//0x10 重復START 已發(fā)。。。不是0x08.還有2次讀寫(xiě)之間稍微延時(shí)一會(huì )。否則不出結果

本文引用地址:http://dyxdggzs.com/article/201611/316380.htm

avr的數據手冊寫(xiě)得很好,好多程序源碼都有,怪不得這么流行

1

#include
#include "1602.c"

#define uint unsigned int
#define uchar unsigned char

#define START TWCR=(1<#define STOP TWCR=(1<

void iic_init()
{
TWBR=32;//8mhz/80= 100khz
TWCR=0;
TWSR=0;
//DDRC|=0X03;
//PORTC|=0X03;
}

uint write_B(uchar page,uint addr,uchar data )//page 0 . 1. 代表17位地址最高位
{
uchar s=0xa0|(page<<1);//at24 從地址
START;
while(!(TWCR & (1<if((TWSR & 0xF8) != 0x08)
return 0xffff;
////////////////
TWDR=s;
TWCR = (1<while(!(TWCR & (1<if((TWSR & 0xF8) != 0x18)
return 0xffff;
//// /////////
TWDR = (addr>>8); //先發(fā)高地址
TWCR = (1<while(!(TWCR & (1<
if((TWSR & 0xF8) != 0x28)
return 0xffff;
////////////////
TWDR = (addr&0xff); //地址低8位
TWCR = (1<while(!(TWCR & (1<
if((TWSR & 0xF8) != 0x28)//數據已發(fā)送接收到ACK

return 0xffff;
/////////////////
TWDR = data; //數據
TWCR = (1<while(!(TWCR & (1<
if((TWSR & 0xF8) != 0x28)//數據已發(fā)送接收到ACK

return 0xffff;

STOP;

}

uint read_B(uchar page,uint addr)
{
uchar data,s=0xa0|(page<<1);//at24 從地址.。@@寫(xiě)最后一位為0

START;
while(!(TWCR & (1<

if((TWSR & 0xF8) != 0x08)
return 0xffff;
////////////////
TWDR=s;
TWCR =(1<while (!(TWCR & (1<if((TWSR & 0xF8) != 0x18)
return 0xffff;
//// /////////
TWDR = (addr>>8); //先發(fā)高地址
TWCR = (1<while(!(TWCR & (1<
if((TWSR & 0xF8) != 0x28)
return 0xffff;
////////////////
TWDR = (addr&0xff); //地址低8位
TWCR = (1<while(!(TWCR & (1<
if((TWSR & 0xF8) != 0x28)//數據已發(fā)送接收到ACK

return 0xffff;
//重復START
START;
while(!(TWCR & (1<

if((TWSR & 0xF8) != 0x10)//0x10 重復START 已發(fā)
return 0xffff;

TWDR=s|(1);//最后一位1,讀
TWCR = (1<while(!(TWCR & (1<if((TWSR & 0xF8) != 0x40)//SLA+R 已發(fā)送接收到ACK

return 0xffff;
//DDRC&=~(0X03);

TWCR = (1<while(!(TWCR & (1<data=TWDR;
STOP;
//DDRC|=(0X03);

return data;

}

void main()
{
uint i,j,k,r;
uchar temp[4], temp1[7]="t[ ]";
uchar table[255];

iic_init();
init_1602();

for(k=0;k<255;k++)
table[k]=k;

for(k=0;k<255;k++)
{
write_B(0,k,k);//第k地址寫(xiě)k
for(i=0;i<10;i++)//一定要延時(shí)
for(j=0;j<1141;j++);
}



for(i=0;i<1000;i++)//延時(shí)
for(j=0;j<1141;j++);

for(k=0;k<255;k++)
{
r=read_B(0,k);
r=r&0xff;

temp[0]=r/100+0;
temp[1]=r%100/10+0;
temp[2]=r%10+0;
temp[3]=0;

LCD_write_string(1,1,temp);


temp1[2]=k/100+0;
temp1[3]=k%100/10+0;
temp1[4]=k%10+0;
temp1[6]=0;



LCD_write_string(2,0,temp1);


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


}

while(1);
}



關(guān)鍵詞: AT24C1024proteus2-wireSeria

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>