新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 24C02單片機(jī)編程的一點(diǎn)注意問題

24C02單片機(jī)編程的一點(diǎn)注意問題

作者: 時(shí)間:2016-11-30 來源:網(wǎng)絡(luò) 收藏
單片機(jī)對(duì)24C02的讀寫,有一點(diǎn)要注意的,就是關(guān)于延時(shí)的問題。讀寫操作的間隔時(shí)間不能太短,否則會(huì)導(dǎo)致在Proteus仿真時(shí)正常,實(shí)際應(yīng)用出錯(cuò)的結(jié)果。
下面是一個(gè)毫秒級(jí)延時(shí)程序:
void delay_ms(uchar x)
{
uchar a,b;
for(a=x;a>0;a--)
for(b=100;b>0;b--);
}
以下是部分操作24C02的程序:
init_24C02();//初始化24C02
delay_ms(20);//延時(shí)
write_add(1,18);//寫入數(shù)據(jù)1
delay_ms(20);//延時(shí)
write_add(2,92);//寫入數(shù)據(jù)2
delay_ms(20);//延時(shí)
write_add(3,56);//寫入數(shù)據(jù)3
delay_ms(20);//延時(shí)
for(i=1;i<4;i++)
{
delay_ms(10);
//write_add(0x02,12);
delay_ms(10);
n=read_add(i);//讀取數(shù)據(jù)
temp[i*2-2]=n/10;
temp[i*2-1]=n%10;
}
實(shí)際上,上面的程序在Proteus仿真時(shí)通過,但寫到板子上卻無法正常讀取剛剛寫入的數(shù)據(jù)。后來把延時(shí)參數(shù)增大到50,一切正常了!這說明合理的延時(shí)對(duì)讀寫24C02是至關(guān)重要的,特別是寫入數(shù)據(jù)后應(yīng)該保證24C02有充分的歇息!


關(guān)鍵詞: 24C02單片機(jī)編

評(píng)論


技術(shù)專區(qū)

關(guān)閉