<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > DSl8820 ROM編碼的一種搜索算法

          DSl8820 ROM編碼的一種搜索算法

          作者: 時(shí)間:2009-09-21 來源:網(wǎng)絡(luò) 收藏

          首先作如下幾個(gè)定義:對(duì)“兩讀”數(shù)據(jù)為00的位,之后“一寫”操作要寫的數(shù)據(jù)定義為“00寫位”;所有00寫位的集合定義為“00寫位組”。那么所要解決的問題就是:確立一個(gè)00寫位組,確保命令能夠到一個(gè)唯一的,并在完成一次搜索后對(duì)00寫位組做出更新,以確保下次的搜索命令能夠搜索到一個(gè)唯一的并且不會(huì)搜索到已經(jīng)搜索到的ROM編碼,直到完成總線上所有器件的ROM編碼搜索。
          在給出搜索規(guī)則前再作如下幾個(gè)定義:00寫位組中最高ROM編碼位對(duì)應(yīng)的00寫位定義為“最高00寫位”;00寫位組中鄰近最高00寫位的00寫位定義位“次高00寫位”;如果更新后的00寫位組不足以搜索到一個(gè)唯一的ROM編碼,則添加新的00寫位,這個(gè)新的00寫位定義為“新00寫位”。
          DS18820 ROM編碼的搜索規(guī)則:
          ①第一次搜索確立一個(gè)00寫位組,其中所有00寫位全部為0。
          ②每次搜索后更新00寫位組并從最高00寫位開始更新。
          ③00寫位組更新規(guī)則:如果最高00寫位為0,則改最高00寫位為1,更新完成;如果最高00寫位為1,則棄去最高00寫位并把次高00寫位作為新的最高00寫位。
          ④如果出現(xiàn)新00寫位,新00寫位一律為0并作為新的最高00寫位。
          ⑤如果0寫位組全為1,則搜索所有器件的ROM編碼,搜索結(jié)束。

          本文引用地址:http://www.ex-cimer.com/article/163566.htm

          3 算法的C51實(shí)現(xiàn)
          對(duì)一條“單線總線”上多片DS18820的ROM編碼搜索與識(shí)別,具體由C51編寫的函數(shù)uchar SearchRomID(uchar RomID[n][8])來實(shí)現(xiàn)。函數(shù)的返回值是總線上查找到的器件個(gè)數(shù),總線上所有器件的ROM編碼存入二維數(shù)組RomID[n][8]。其中n為總線上允許掛器件的最大值,這里取16。
          首先對(duì)程序中的幾個(gè)重要變量做一些說明:
          _00wbit:一維數(shù)組,用來存儲(chǔ)00寫位組全部內(nèi)容。它的長度由總線上允許掛接器件的最大值決定。每寫一個(gè)00寫位都可以“排除”至少一個(gè)總線上的器件,當(dāng)總線上器件數(shù)為n時(shí),_00wbit數(shù)組的長度應(yīng)為n-1。當(dāng)然這是最壞情況下的取值,很多情況下_00wbit數(shù)組的長度小于這個(gè)值,這時(shí)不用的 _00wbit數(shù)組位用2來填充。
          Rom:一維數(shù)組,臨時(shí)存儲(chǔ)64位ROM編碼。
          b:搜索結(jié)束標(biāo)志位。
          R1、R2:“兩讀”數(shù)據(jù)位。
          編者注:程序略。

          結(jié) 語
          本文提出了一種對(duì)掛接在同一條“單線總線”上的多片DS18B20 ROM編碼的搜索算法,并給出了具體的C51實(shí)現(xiàn)方法,經(jīng)驗(yàn)證完全可行。由于該算法可自動(dòng)識(shí)別總線上的器件個(gè)數(shù),因此實(shí)際運(yùn)用中,在總線上添加和刪除器件都十分靈活,這為多點(diǎn)測(cè)溫帶來了很大的方便。該算法也適用于其他“單線總線”器件。


          上一頁 1 2 3 下一頁

          關(guān)鍵詞: 算法 搜索 編碼 ROM DSl8820

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();