a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 測試測量 > 設計應用 > 單線數字溫度傳感器的原理與應用

單線數字溫度傳感器的原理與應用

作者: 時間:2006-05-07 來源:網絡 收藏

摘 要:介紹單線數字溫度傳感器DS1820的特性及工作原理,給出了DS1820與89C51單片機接口的應用實例,以及由DS1820組成溫度檢測系統的方法,并給出了對DS1820進行各種操作的軟件流程圖。

本文引用地址:http://www.j9360.com/article/255640.htm

關鍵詞: 單線制(1-Wire) 時隙 A/D變換

美國DALLAS公司生產的單線數字溫度傳感器DS182,可把溫度信號直接轉換成串行數字信號供微機處理。由于每片DS1820含有唯一的硅串行數所以在一條總線上可掛接任意多個DS1820芯片。從DS1820讀出的信息或寫入DS1820的信息,僅需要一根口線(單線接口)。讀寫及溫度變換功率來源于數據總線,總線本身也可以向所掛接的DS1820供電,而無需額外電源。DS1820提供九位溫度讀數,構成多點溫度檢測系統而無需任何外圍硬件。

本文給出了DS1820與89C51單片機接口的應用實例和DS1820組成溫度檢測系統的方法,并給出了對DS1820進行各種操作的軟件流程圖。

1 DS1820的特性

·單線接口:僅需一根口線與MCU連接

·無需外圍元件

·由總線提供電源

·測溫范圍為-55℃~75℃,精度為0.5℃

·九位溫度讀數

·A/D變換時間為200ms

·用戶自設定溫度報警上下限,其值是非易失性的

·報警搜索命令可識別哪片DS1820超溫度限

2 DS1820引腳及功能

DS1820的引腳見圖1(PR35封裝)。

GND:地;

DQ:數據輸入/輸出腳(單線接口,可作寄生供電);

VDD:電源電壓。

3 DS1820的工作原理

DS1820的內部結構如圖2所示。由圖2可知,DS1820由三個主要數字器件組成:

① 64bit閃速ROM;②溫度傳感器;③非易失性溫度報警觸發器TH和TL。64bit閃速ROM的結構如下:

單線數字溫度傳感器的原理與應用

對DS1820的使用,多采用單片機實現數據采集。處理時,將DS1820信號線與單片機一位口線相連,單片機可掛接多片DS1820,從而實現多點溫度檢測系統。

系統對DS1820的操作以ROM命令和存儲器命令形式出現。

3.1 ROM命令代碼及其含義

·READROM命令代碼[33H]:如果只有一片DS1820,可用此命令讀出其序列號,若在線DS1820多于一個,將發生沖突。

·MATCHROM命令代碼[55H]:多個DS1820在線時,可用此命令匹配一個給定序列號的DS1820,此后的命令就針對該DS1820。

·SKIPROM命令代碼[CCH]:此命令執行后的存儲器操作將針對在線的所有DS1820。

·SEARCHRDH命令代碼[F0H]:用以讀出在線的DS1820的序列號。

·ALARMSEARCH命令代碼[ECH]:當溫度值高于TH或低于TL中的數值時,此命令可以讀出報警的DS1820。

3.2 存儲器操作命令代碼及其含義

· WRITESCRATCHPAD命令代碼[4EH]:寫兩個字節的數據到溫度寄存器。

· READSCRATCHPAD命令代碼[BEH]:讀取溫度寄存器的溫度值。

·COPYSCRATCHPAD命令代碼[48H]:將溫度寄存器的數值拷貝到EERAM中,保證溫度值不丟失。

·CONVERT命令代碼[44H]:啟動在線DS1280做溫度A/D轉換。

·RECALL EE命令代碼[B8H]:將EERAM中的數值拷貝到溫度寄存器中。

·READPOWERSUPPLY命令代碼[B4H]:在本命令送到DS1280之后的每一個讀數據間隙,指出電源模式:“0”為寄生電源;“1”為外部電源。

DS1820單線通信功能是分時完成的,它有嚴格的時隙概念。因此系統對DS1820的各種操作必須按協議進行。操作協議為:初始化DS1820(發復位脈沖)→發ROM功能命令→發存儲器操作命令→處理數據。各種操作的時序圖如圖3和圖4所示。

4 溫度檢測系統原理及程序流程圖

溫度檢測系統原理圖如圖5所示,采用寄生電源供電方式。為保證在有效的DS1820時鐘周期內,提供足夠的電流,我們用一個MOSFET管和89C51的一個I/O口(P1.0)來完成對DS1820總線的上拉。當DS1820處于寫存儲器操作和溫度A/D變換操作時,總線上必須有強的上拉,上拉開啟時間最大為10μs。采用寄生電源供電方式時VDD必須接地。由于單線制只有一根線,因此發送接收口必須是三態的,為了操作方便我們用89C51的P1.1口作發送口Tx,P1.2口作接收口Rx。通過試驗我們發現此種方法可掛接DS1820數十片,距離可達到50米,而用一個口時僅能掛接10片DS1820,距離僅為20米。同時由于讀寫在操作上是分開的故不存在信號競爭問題。

無論是單點還是多點溫度檢測,在系統安裝及工作之前,應將主機逐個與DS1820掛接,讀出其序列號。其工作過程為:主機Tx發一個脈沖,待“0”電平大于480μs后,復位DS1820,待DS1820所發響應脈沖由主機Rx接收后,主機Tx再發讀ROM命令代碼33H(低位在前),然后發一個脈沖(15μs)并接著讀取DS1820序列號的一位。用同樣方法讀取序列號的56位。對于圖5系統的DS1820操作的總體流程圖如圖6所示。它分三步完成:①系統通過反復操作,搜索DS1820序列號;②啟動所有在線DS1820做溫度A/D變換;③逐個讀出在線DS1820變換后的溫度數據。主機啟動溫度變換并讀取溫度值的詳細流程圖如圖7所示;主機寫入存儲器數據詳細流程圖如8所示。當有更多的檢測點需要測溫時,可利用89C51的其它口進行擴展。同時,也可利用89C51的串行通信口(RXD,TXD)與上位計算機進行通信,從而構成微機溫度測量系統網。

 

linux操作系統文章專題:linux操作系統詳解(linux不再難懂)


評論


相關推薦

技術專區

關閉