新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于A(yíng)VR單片機(jī)和DS18B20的多點(diǎn)溫度測(cè)量系統(tǒng)

基于A(yíng)VR單片機(jī)和DS18B20的多點(diǎn)溫度測(cè)量系統(tǒng)

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

1和BASCOM-AVR簡(jiǎn)介

  是美國(guó)DALLAS公司生產(chǎn)的單總線(xiàn)數(shù)字溫度傳感器,從讀出或?qū)懭氲男畔H需要一根口線(xiàn)。在單總線(xiàn)工作方式下,允許一條信號(hào)線(xiàn)上掛接多個(gè)DS18B20,特別適合于構(gòu)成遠(yuǎn)距離多點(diǎn)溫度測(cè)控系統(tǒng),從而大大簡(jiǎn)化了系統(tǒng)布線(xiàn),提高了可靠性,降低了成本,而實(shí)現(xiàn)這些的關(guān)鍵在于每片DS18B20都有唯一的ROM代碼(64位產(chǎn)品序列號(hào))。在多點(diǎn)溫度測(cè)控系統(tǒng)中,ROM代碼是識(shí)別和操作DS18B20的基礎(chǔ);無(wú)論讀取還是選擇對(duì)某一個(gè)傳感器進(jìn)行操作,主機(jī)必須發(fā)送64位ROM代碼。

  BASCOM-AVR是MSC Electronics公司推出的基于A(yíng)VR系統(tǒng)的軟件開(kāi)發(fā)仿真平臺(tái)。程序語(yǔ)句和Micrsoft VB/QB高度兼容;為標(biāo)準(zhǔn)LCD顯示器、I2C芯片和單總線(xiàn)協(xié)議芯片等擴(kuò)充了專(zhuān)用語(yǔ)句;內(nèi)置模擬終端和程序下載功能;內(nèi)置軟件仿真平臺(tái)用于測(cè)試;編譯產(chǎn)生的運(yùn)行代碼可在所有帶內(nèi)部存儲(chǔ)器的AVR微控制器中運(yùn)行。DEMO版本可生成2KB程序代碼。BASCOM-AVRDEMO版安裝軟件包可到http://www.mcselec.com免費(fèi)下載。

基于A(yíng)VR單片機(jī)和DS18B20的多點(diǎn)溫度測(cè)量系統(tǒng)

3.1獲取序列號(hào)(64位ROM代碼)

  操作單總線(xiàn)數(shù)字溫度傳感器必須嚴(yán)格按規(guī)定的協(xié)議操作,即應(yīng)按以下順序操作:初始化、ROM操作命令、暫存存儲(chǔ)器操作命令、數(shù)據(jù)傳輸。在ROM操作命令中,有兩條命令專(zhuān)門(mén)用于獲取傳感器序列號(hào):讀ROM命令(33H)和搜索ROM命令(F0H)。讀ROM命令只能在總線(xiàn)上僅有一個(gè)傳感器的情況下使用。搜索ROM命令則允許總線(xiàn)主機(jī)使用一種“消去”處理方法來(lái)識(shí)別總線(xiàn)上所有的傳感器序列號(hào)。為了建立64位ROM代碼和測(cè)量位置點(diǎn)傳感器之間的關(guān)系,我們選用讀ROM命令(33H)。DS18B20的64位ROM代碼結(jié)構(gòu)如圖2所示:

基于A(yíng)VR單片機(jī)和DS18B20的多點(diǎn)溫度測(cè)量系統(tǒng)

基于A(yíng)VR單片機(jī)和DS18B20的多點(diǎn)溫度測(cè)量系統(tǒng)

基于A(yíng)VR單片機(jī)和DS18B20的多點(diǎn)溫度測(cè)量系統(tǒng)

  如果某一傳感器損壞,只需按上述連接方法,撥動(dòng)開(kāi)關(guān)K2輸入損壞傳感器的位置編號(hào),將新的DS18B20插入Z1插座重新測(cè)試,單片機(jī)自動(dòng)根據(jù)讀取的編號(hào)值將測(cè)得的ROM代碼取代E2PROM中相同位置編號(hào)處的原ROM代碼即可。

3.2多點(diǎn)溫度的巡回測(cè)量

  開(kāi)關(guān)K1打開(kāi),將T斷開(kāi)處接上。由于已經(jīng)在上面獲取了多個(gè)DS18B20的ROM代碼并在內(nèi)部的E2PROM中建立了測(cè)量位置點(diǎn)和傳感器64位ROM代碼之間的關(guān)系表,因此對(duì)多個(gè)溫度的巡回測(cè)量的步驟如下:

  (1)發(fā)跳過(guò)ROM命令CCH。

  (2)發(fā)啟動(dòng)所有在線(xiàn)的DS18B20進(jìn)行溫度轉(zhuǎn)換命令44H。

  (3)延遲1s。

  (4)發(fā)匹配ROM命令55H。

  (5)按照E2PROM中建立的關(guān)系表的順序取出64位ROM代碼發(fā)送到單總線(xiàn)。

  (6)發(fā)讀溫度值命令BEH,讀取溫度值。

  (7)進(jìn)行CRC校驗(yàn)和數(shù)據(jù)處理后送LCD顯示器顯示。

  (8)重復(fù)第4步到第7步,直到所有的DS18B20測(cè)量處理完。

  (9)再重復(fù)第1步到第8步,進(jìn)行下一輪的巡回測(cè)量。

  如果只對(duì)某一個(gè)DS18B20進(jìn)行溫度測(cè)量,只要將第1步的跳過(guò)ROM命令CCH,改為匹配ROM命令55H,將撥動(dòng)開(kāi)關(guān)撥到和要測(cè)量的DS18B20的編號(hào)相對(duì)應(yīng)的數(shù)值上,單片機(jī)90S8515讀取撥動(dòng)開(kāi)關(guān)的數(shù)值(編號(hào))n,到E2PROM建立的關(guān)系表中從(n-1)×8開(kāi)始的單元取出ROM代碼發(fā)送到總線(xiàn),去掉第8步,其余和上面步驟相似即可。

單片機(jī)相關(guān)文章:單片機(jī)教程


單片機(jī)相關(guān)文章:單片機(jī)視頻教程


單片機(jī)相關(guān)文章:單片機(jī)工作原理


溫濕度控制器相關(guān)文章:溫濕度控制器原理

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

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉