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