24C02單片機(jī)編程的一點(diǎn)注意問題
下面是一個(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有充分的歇息!
評(píng)論