找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9918|回復: 3
收起左側(cè)

單片機讀取DS18B20序列號c51程序

[復制鏈接]
ID:75926 發(fā)表于 2015-4-3 23:49 | 顯示全部樓層 |閱讀模式
本帖最后由 xiaos 于 2015-4-3 23:52 編輯

      DS18B20中有一個64位光刻ROM,按說明書說法,開始8位(28H)是產(chǎn)品類型標號,接著的48位是該DS18B20自身的序列號,最后8位是前面56位的循環(huán)冗余校驗碼(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一個DS18B20都各不相同,這樣就可以實現(xiàn)一根總線上掛接多個DS18B20的目的。
    讀取ROM方法:先復位DS18B20,成功后執(zhí)行讀取ROM命令(33H),然后將這64位以8個字節(jié)的方式存入數(shù)組,最后用LCD或LED逐個字節(jié)顯示出來。下面是讀取ROM的主程序:
程序中用到的函數(shù)頭文件下載:http://www.torrancerestoration.com/mcu/2082.html
  1. void main()
  2. {
  3. uchar i;
  4. uint j=200;
  5. rest_ds18b20();//復位
  6. write_ds18b20(0x33); //讀序列號
  7. for(i=0;i<8;i++)
  8.   Rom_18B20[i]=read_ds18b20();
  9.     while(1)
  10.     {
  11.   for(i=0;i<8;i++)
  12.   {
  13.    while(j--)
  14.     dis(i,16,Rom_18B20[i]/16,Rom_18B20[i]%16,16,16);//數(shù)碼管顯示
  15.    j=200;
  16.   }
  17.     }
  18. }
復制代碼


    在讀取ROM實驗中發(fā)現(xiàn):仿真或?qū)嶋H電路實驗第0字節(jié)均為28,這情有可原,因為這是DS的產(chǎn)品類型標號。但第5、6字節(jié)均為00,無論仿真或?qū)嶋H電路實驗都是如此。如果真的這樣,那第5、6字節(jié)就失去意義了,64位ROM其實就只有48位了。真的嗎?
回復

使用道具 舉報

ID:98370 發(fā)表于 2015-12-8 21:40 | 顯示全部樓層
里面還有嗎
回復

使用道具 舉報

ID:60379 發(fā)表于 2015-12-8 22:25 | 顯示全部樓層
是對的,比如:28 74 93 7F 02 00 00 DE

28 57 8D 7F 02 00 00 EF
28 D5 8E 7F 02 00 00 25
28 83 A7 7F 02 00 00 B2
回復

使用道具 舉報

ID:194184 發(fā)表于 2017-4-27 14:38 | 顯示全部樓層
學習了
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表