基于DS18B20的溫度測量和顯示系統設計與仿真
要產生寫1時隙,單片機在拉低總線后必須在15 μs之內釋放總線。總線被釋放后,上拉電阻將把總線拉高。要產生寫0時隙,單片機在拉低總線后必須繼續保持總線低電平使時隙至少60μs。DS18B20在時隙開始后15~60 μs之間的時間段內對總線進行采樣,如果總線是高電平,則向DS18B20寫入一個1,如果總線是低電平,則向DS18B20寫入一個0。
下面是向DS18B20寫入一個字節數據的程序代碼:
3.4 主要命令
DS18B20有5個ROM操作命令,6個存儲器操作命令,表1所列是DS18B20的操作命令。
本系統主要使用了表1中的3個命令,即跳過ROM、溫度變換和讀暫存器命令。本文引用地址:http://www.j9360.com/article/192907.htm
3.5 顯示程序
DS18B20提供的溫度數據有兩個字節,其中低8位的末4位是小數部分,因此,程序中對溫度數據的整數部分和小數部分要分別進行處理。如t=t>>4;即得到溫度值的整數部分,t=t0x0f;則得到溫度值的小數部分,然后分別在數碼管上進行顯示。
3.6 報警部分
在程序中設置溫度上限和溫度下限后,測量溫度將與門限值進行比較。如果測量溫度高于溫度上限或者低于溫度下限,系統就發出報警。
4 結語
本文基于數字溫度傳感器DS18B20設計并仿真了一個溫度測量與顯示系統,同時,系統設置了溫度上限和溫度下限,當測量溫度超出溫度門限值時,系統便會報警。事實上,具有顯示與報警功能的溫度測量系統的應用非常廣泛,而且DS18B20可以支持多點組網,因此可以同時測量多點溫度。
評論