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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于DS18B20和AT89C52的溫度測(cè)量和顯示系統(tǒng)

          基于DS18B20和AT89C52的溫度測(cè)量和顯示系統(tǒng)

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

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


          3.3 讀時(shí)序


          所有的讀時(shí)隙必須至少持續(xù)60μs,并在每個(gè)獨(dú)立的讀時(shí)隙之間至少有1μs的恢復(fù)時(shí)間。讀時(shí)隙開(kāi)始后,先由單片機(jī)拉低總線至少1μs,然后單片機(jī)釋放總線。讀時(shí)隙開(kāi)始后,將開(kāi)始向總線發(fā)送1或0。發(fā)送0時(shí),釋放總線直到時(shí)隙結(jié)束,此后上拉電阻將把總線拉回到高電平的空閑狀態(tài)。的數(shù)據(jù)在讀時(shí)隙開(kāi)始之后15μs之內(nèi)有效,因此,單片機(jī)在時(shí)隙開(kāi)始后,必須釋放總線,然后在15 μs之內(nèi)對(duì)總線進(jìn)行采樣。下面是從DS18B20讀出一個(gè)字節(jié)數(shù)據(jù)的程序:



          3.4 主要命令


          DS18B20有5個(gè)ROM操作命令,6個(gè)存儲(chǔ)器操作命令,表1所列是DS18B20的操作命令。


          本系統(tǒng)主要使用了表1中的3個(gè)命令,即跳過(guò)ROM、溫度變換和讀暫存器命令。

          3.5 顯示程序


          DS18B20提供的溫度數(shù)據(jù)有兩個(gè)字節(jié),其中低8位的末4位是小數(shù)部分,因此,程序中對(duì)溫度數(shù)據(jù)的整數(shù)部分和小數(shù)部分要分別進(jìn)行處理。如t=t>>4;即得到溫度值的整數(shù)部分,t=t0x0f;則得到溫度值的小數(shù)部分,然后分別在數(shù)碼管上進(jìn)行顯示。


          3.6 報(bào)警部分


          在程序中設(shè)置溫度上限和溫度下限后,測(cè)量溫度將與門(mén)限值進(jìn)行比較。如果測(cè)量溫度高于溫度上限或者低于溫度下限,系統(tǒng)就發(fā)出報(bào)警。


          4 結(jié)語(yǔ)


          本文基于數(shù)字DS18B20設(shè)計(jì)并仿真了一個(gè)與顯示系統(tǒng),同時(shí),系統(tǒng)設(shè)置了溫度上限和溫度下限,當(dāng)測(cè)量溫度超出溫度門(mén)限值時(shí),系統(tǒng)便會(huì)報(bào)警。事實(shí)上,具有顯示與報(bào)警功能的系統(tǒng)的應(yīng)用非常廣泛,而且DS18B20可以支持多點(diǎn)組網(wǎng),因此可以同時(shí)測(cè)量多點(diǎn)溫度。

          脈沖點(diǎn)火器相關(guān)文章:脈沖點(diǎn)火器原理
          上拉電阻相關(guān)文章:上拉電阻原理

          上一頁(yè) 1 2 下一頁(yè)

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