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