主要介紹一種用DSl8820測溫、用SMCl602A液晶來顯示的新型溫度計。該溫度計較之其它數顯式溫度計,具有測量精度高、電路簡單、易於觀察的優點。
由圖1可看到,本電路主要由DSl8820溫度傳感器晶片、SMCl602A液晶顯示模塊晶片和89C2051單片機晶片組成。其中,DSI8B20溫度傳感器晶片採用「一線制」與單片機相連,它獨立地完成溫度測量以及將溫度測量結果送到單片機的工作。DSl8820的連接引腳圖如圖2所示。
SMCI602A液晶顯示模塊晶片,是長沙太陽人電子有限公司生產的一種液晶顯示晶片。該晶片可顯示162個字符,比以前的七段數碼管LED顯示器在顯示字符的數量上要多得多。另外,由於SMCl602晶片編程比較簡單,界面直觀,因此更加易於使用者操作和觀測。SMCl602A晶片的接口信號說明如表1所列。
2 軟體設計
程序流程如圖3所示。
DSl8B20輸出的數據格式在圖4中有具體的說明,其中MS表示數據 的高8位,LS表示數據的低8位。由於溫度在0℃以上為正溫度,而在0℃以下為負溫度,因此在計算 溫度時必須在轉換之前先對正負數進 行判別,然後再進行轉換。
當S=0時,表示正數;S=1時,表示負數。對於負數,在處理時是採用了「先取反再加一」. 即將補碼轉換為原碼的方法。同時,為了提高測量的精度, DSl8820採用了12位數據轉換的方式,其中,符號位佔l位,整數佔7位,小數佔4位。因此,在計算與處理時,還必須將整數和小數分開進行處理。通過對百分位數據的「四捨五入」處理之後,溫度的顯示範圍就可達到-99℃~99.9C。
註:部分源程序見本刊網站www.dpj.com.cn。