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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 可組網(wǎng)單總線A/D芯片在多點(diǎn)檢測系統(tǒng)中的應(yīng)用

          可組網(wǎng)單總線A/D芯片在多點(diǎn)檢測系統(tǒng)中的應(yīng)用

          作者: 時(shí)間:2013-03-07 來源:網(wǎng)絡(luò) 收藏
          美國DALLAS公司最新推出的DS2450是一種可組網(wǎng)集成A/D芯片。利用其可以方便地組成傳感器網(wǎng)絡(luò),在測量現(xiàn)場將模擬量直接轉(zhuǎn)換為數(shù)字量,實(shí)現(xiàn)多點(diǎn)多參數(shù)測量,提高系統(tǒng)抗干擾能力。此芯片適合于惡劣環(huán)境下進(jìn)行現(xiàn)場溫度測量,而且系統(tǒng)設(shè)計(jì)靈活、方便。我們利用DS2450和AT89C51單片機(jī)設(shè)計(jì)了多點(diǎn)溫度檢測系統(tǒng)。

          1 系統(tǒng)原理

          系統(tǒng)原理框圖如圖1所示。傳感器采集的參數(shù)在測量現(xiàn)場經(jīng)DS2450把模擬信號直接轉(zhuǎn)換為數(shù)字量,并傳輸給微處理器,由于系統(tǒng)采用了驅(qū)動電路,傳輸距離能達(dá)到200米。工作時(shí),每個(gè)AT89C2051通過實(shí)現(xiàn)多路多參數(shù)的巡檢,搜索出超出預(yù)先設(shè)定的參數(shù)極限值的傳感器,啟動報(bào)警指示燈,液晶顯示模塊LCM12864ZK顯示數(shù)據(jù)(每組傳感器有3個(gè),分別放在同一個(gè)空間的不同點(diǎn))。

          2 A/D芯片DS2450

          DS2450是單總線式4通道逐次逼近式A/D轉(zhuǎn)換器,即有A、B、C和D四個(gè)模擬電壓輸入通道,其由單5V電源供電,也可采用寄生電源方式供電。

          DS2450內(nèi)部有24個(gè)地址毗連的8位存儲器,分成3頁,每頁8字節(jié)。

          第0頁為A/D轉(zhuǎn)換結(jié)果存儲器。每個(gè)通道占2個(gè)字節(jié),共16位,芯片上電復(fù)位時(shí)該頁清0;其中00H、01H存儲A通道轉(zhuǎn)換結(jié)果,其余通道依次類推。

          第1頁為A/D轉(zhuǎn)換控制與狀態(tài)存儲器。08H、09H對應(yīng)于A通道,其余通道依次類推。

          第2頁為各通道輸入高/低限報(bào)警值存儲器。10H存放A通道低門限8位報(bào)警值、11H存放A通道高門限8位報(bào)警值,其余通道依次類推。

          DS2450的通道選擇字和預(yù)置控制字用于選擇參與A/D轉(zhuǎn)換的通道及轉(zhuǎn)換前轉(zhuǎn)換結(jié)果存儲器的初始化。

          值得的注意是:如果DS2450由VCC供電,必須在上電完畢后向地址1CH寫入40H,使模擬電路永久地保持在工作狀態(tài)。限于篇幅,詳細(xì)資料讀者可查看參考文獻(xiàn)[1]。

          3 軟件設(shè)計(jì)

          在系統(tǒng)上電后,首先初始化DS2450(為了提高系統(tǒng)的穩(wěn)定性,DS2450設(shè)置為8位的分辨率),并在線搜索DS2450的注冊碼(如只有一個(gè)單總線器件,可省去該步),即DS2450的地址,啟動A/D轉(zhuǎn)換,讀取模擬輸入通道的A/D轉(zhuǎn)換值,圖2為軟件流程圖。

          上一頁 1 2 下一頁

          評論


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