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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 由單片機(jī)和多片DS1820組成的多點(diǎn)溫度測(cè)控系統(tǒng)

          由單片機(jī)和多片DS1820組成的多點(diǎn)溫度測(cè)控系統(tǒng)

          作者: 時(shí)間:2012-03-16 來(lái)源:網(wǎng)絡(luò) 收藏

          2.4 高速暫存器

          它由便箋式RAM和非易失性電擦寫 EERAM,后者用于存儲(chǔ)TH、TL值。數(shù)據(jù)選寫入RAM,經(jīng)校驗(yàn)后再傳給EERAM。便箋式EAM點(diǎn)9個(gè)字節(jié),包括信息(第1、2字節(jié))、TH 和TL值(3、4字節(jié))、計(jì)數(shù)寄存器(7、8字節(jié))、CRC(第9字節(jié))等,第5、6字節(jié)不用。暫存器的命令共6條,見表3所列。

          21.gif

          在正常測(cè)溫情況下,的測(cè)溫分辨力為0.5℃,可采用下述方法獲得高分辨率的測(cè)量結(jié)果:首先用提供的讀暫存器指令(BEH)讀出以0.5℃為分辨率的測(cè)量結(jié)果,然后切去測(cè)量結(jié)果中的最低有效位(LSB),得到所測(cè)實(shí)際溫度的整數(shù)部分Tz,然后現(xiàn)用BEH指令取計(jì)數(shù)器1的計(jì)數(shù)剩余值Cs和每度計(jì)數(shù)值CD??紤]到測(cè)量溫度的整數(shù)部分以0.25℃、0.75℃為進(jìn)位界限的關(guān)系,實(shí)際溫度Ts可用下式計(jì)算:
          Ts=(Tz-0.25℃)+(CD-Cs)/CD

          2.5 告警信號(hào)

          22.gif

          DS1820 完成溫度轉(zhuǎn)換后,就把測(cè)得的溫度值與TH、TL作比較。若T>TH或TTL,則將該器件內(nèi)的告警標(biāo)志置位,并對(duì)主機(jī)發(fā)出的告警搜索命令作出響應(yīng)。因此,可用多只DS1820同時(shí)測(cè)量溫度并進(jìn)行告警搜索。一旦某測(cè)溫點(diǎn)越限,主機(jī)利用告警搜索命令即可識(shí)別正在告警的器件,并讀出其序號(hào),而不必考慮非告警器件。

          2.6 CRC的產(chǎn)生

          在64 位ROM的最高有效字節(jié)中存儲(chǔ)有循環(huán)冗余校驗(yàn)碼(CRC)。主機(jī)根據(jù)ROM的前56位來(lái)計(jì)算CRC值,并和存入DS1820中的CRC值作比較,以判斷主機(jī)收到的ROM數(shù)據(jù)是否正確。CRC的函數(shù)表達(dá)式為:CRC=X8+X5+X3+1。此外,DS1820尚需依上式為暫存器中的數(shù)據(jù)來(lái)產(chǎn)生一個(gè)8位CRC 送給主機(jī),以確保暫存器數(shù)據(jù)傳送無(wú)誤。



          評(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); })();