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

關(guān)于DS18B20系列號(hào)

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

    DS18B20中有一個(gè)64位光刻ROM,按說明書說法,開始8位(28H)是產(chǎn)品類型標(biāo)號(hào),接著的48位是該DS18B20自身的序列號(hào),最后8位是前面56位的循環(huán)冗余校驗(yàn)碼(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一個(gè)DS18B20都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)DS18B20的目的。
    讀取ROM方法:先復(fù)位DS18B20,成功后執(zhí)行讀取ROM命令(33H),然后將這64位以8個(gè)字節(jié)的方式存入數(shù)組,最后用LCD或LED逐個(gè)字節(jié)顯示出來。下面是讀取ROM的主程序:
void main()
{
 uchar i;
 uint j=200;
 rest_ds18b20();//復(fù)位
 write_ds18b20(0x33); //讀序列號(hào)
 for(i=0;i<8;i++)
  Rom_18B20[i]=read_ds18b20();
    while(1)
    {
  for(i=0;i<8;i++)
  {
   while(j--)
    dis(i,16,Rom_18B20[i]/16,Rom_18B20[i]%16,16,16);//數(shù)碼管顯示
   j=200;
  }
    }
}
    在讀取ROM實(shí)驗(yàn)中發(fā)現(xiàn):仿真或?qū)嶋H電路實(shí)驗(yàn)第0字節(jié)均為28,這情有可原,因?yàn)檫@是DS的產(chǎn)品類型標(biāo)號(hào)。但第5、6字節(jié)均為00,無論仿真或?qū)嶋H電路實(shí)驗(yàn)都是如此。如果真的這樣,那第5、6字節(jié)就失去意義了,64位ROM其實(shí)就只有48位了。真的嗎?

關(guān)閉窗口

相關(guān)文章