專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

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

作者:佚名   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2013年10月16日   【字體:

  單片機(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)閉窗口

相關(guān)文章