基于單片機和DS18B20的數(shù)字溫度計
單線數(shù)字溫度傳感器DS18B20可以把溫度信號直接轉(zhuǎn)換成數(shù)字信號,每片DS18B20含有唯一的64位序列號,測溫范圍是-55~+125℃,完全符合系統(tǒng)要求。
DS18B20數(shù)字溫度計提供9位溫度讀數(shù),指示器件的溫度信息經(jīng)過單線接口送入DS18B20或從DS18B20送出,和MCU之間只需一條線連接,讀寫和完成溫度變換所需的電源可以由數(shù)據(jù)線本身提供而無需外部電源。由于每個DS18B20有唯一的系列號(silicon serial number),因此,多個DS18B20可存在于同一條單線總線上,此特性可以應(yīng)用于HVAC環(huán)境控制建筑物設(shè)備或機械內(nèi)的溫度檢測以及過程監(jiān)視和控制中的溫度檢測。
數(shù)字溫度傳感器DS18B20有如下特性:
1)獨特的單線接口只需1個接口引腳即可通信;
2)多點(muhidrop)能力使分布式溫度檢測應(yīng)用得以簡化;
3)測量范圍從-55~+125℃增量值為0.5℃;
4)以9位數(shù)字值方式讀出溫度;
5)在1 s(典型值)內(nèi)把溫度變換為數(shù)字。
DS18B20采用3引腳PR-35封裝,其內(nèi)部結(jié)構(gòu)框圖如圖4所示。
3 系統(tǒng)軟件設(shè)計
3.1 系統(tǒng)程序
系統(tǒng)的程序主要包括主程序、讀出溫度子程序、溫度轉(zhuǎn)換命令子程序、計算溫度子程序和顯示數(shù)據(jù)刷新子程序。
程序的主要功能是實時顯示溫度、讀出并處理DS18B20的測量溫度值,溫度測量每1 s進行一次。其程序流程如圖5所示。
DS18B20采用單總線方式傳輸數(shù)據(jù),對時序的要求比較嚴格。MSP430單片機的控制操作不同于51系列,它的I/O口有方向控制及輸入輸出寄存器,讀寫操作要分別控制。以DS18B20為例,給出在MSP430系列單片機語言編譯環(huán)境Work-bench下部分程序代碼。
評論