1 DS1620芯片介紹
DS1620是一片8引腳的片內(nèi)建有溫度測量并轉(zhuǎn)換為數(shù)字值的集成電路,,他集溫度傳感、溫度數(shù)據(jù)轉(zhuǎn)換與傳輸,、溫度控制等功能于一體,。測溫范圍:-55~+125℃,精度為0.5℃,。該芯片非常容易與單片機連接,,實現(xiàn)溫度的測控應(yīng)用,單獨做溫度控制器使用時,,可不用外加其他輔助元件,。
引腳功能及排列如圖1所示。
其中:RST,,CLK/CONV及DQ為三線串行通信線,;DQ為數(shù)據(jù)輸入輸出端。當RST保持高電平,,對應(yīng)CLK/CONV時鐘脈沖的上升沿處,,DQ可按位輸入各種控制指令及數(shù)據(jù),在CLK/CONV時鐘脈沖的下降沿處開始按位輸出9 B溫度值,分2個字節(jié)輸出,,最低位(LSB)在最先輸出,,先輸出的1個字節(jié)(8 B)除以2就是攝氏溫度值,后輸出的1個字節(jié)(僅1 B)為溫度的符號位,,是0為正
,,是1為負。RST為低電平時結(jié)束通信,,CLK/CONV保持低電平,,DQ呈現(xiàn)高阻態(tài),但芯片內(nèi)部在進行溫度的測量與數(shù)字轉(zhuǎn)換(即溫度值的更新),,這需要大約1 s的時間,。
引腳THIGH為高溫臨界觸發(fā)輸出端,當所測溫度高于高溫臨界寄存器中設(shè)定的溫度TH時,,該引腳由低電平變?yōu)楦唠娖?,而溫度低于TH時又回到低電平;TLOW為低溫臨界觸發(fā)輸出端,,其電平變化與THIGH類似,;TCOM為高/低溫臨界組合觸發(fā)輸出端;他們都可作為溫度調(diào)節(jié)器的輸出端,,直接控制加熱或冷卻設(shè)備,。
DS1620內(nèi)部有一個工作方式寄存器,如表1所示,。
其中:DONE為溫度數(shù)據(jù)轉(zhuǎn)換位,,為0時表示正,在轉(zhuǎn)換過程中,,為1表示已轉(zhuǎn)換完畢,;THF:高溫標志位,當溫度高于或等于高溫臨界寄存器中的設(shè)定值TH時,,硬件對該位置位,,但硬件不能對該位清零;TLF:低溫標志位,,當溫度低于或等于設(shè)定值TL時,,硬件對該位置位,同樣,,硬件不能對該位清零,;CPU:CPU使用位,通過軟件對該位清零時,,若RST為低電平,,則可由CLK/CONV控制溫度數(shù)據(jù)的轉(zhuǎn)換,,通過軟件對該特定溫度轉(zhuǎn)換位,若通過軟件對該位置1,,則DS1620進行該時刻的溫度轉(zhuǎn)換,,并等待讀取,若該位被置0,,則DS1620將不停地進行溫度轉(zhuǎn)換,。
DS1620的工作狀態(tài)都是由外部輸入的指令來控制的,具體的指令如下:
AAH 讀取轉(zhuǎn)換好的溫度數(shù)據(jù),;從指令輸入后的第9個時鐘(亦稱移位)脈沖開始,,將輸出溫度寄存器中的數(shù)據(jù)。
01H 給高溫臨界寄存器寫入TH數(shù)據(jù),。
02H 給低溫臨界寄存器寫入TL數(shù)據(jù)。
A1H 讀高溫臨界寄存器中的TH數(shù)據(jù),。
A2H 讀低溫臨界寄存器中的TL數(shù)據(jù),。
EEH 開始轉(zhuǎn)換溫度數(shù)據(jù)。
22H 停止轉(zhuǎn)換溫度數(shù)據(jù),。
0CH 寫工作方式寄存器,。
ACH 寫工作方式寄存器。
2 電路設(shè)計
如圖2所示,,單片機P3.3~P3.5與DS1620按三線通信方式相連,,P1口輸出七段碼,P3.0~P3.2通過驅(qū)動三極管接到共陽數(shù)碼管的COM端,,3個按鍵在P3.7的配合下提供功能擴展,。
3 程序設(shè)計
程序的流程圖如圖3所示,各程序模塊均為子程序及嵌套有子程序的調(diào)用,,其中讀,、寫DS1620模塊模塊為子程序,完成1個字節(jié)的溫度值或指令的讀寫,;按鍵服務(wù)模塊主要完成對高/低溫臨界寄存器中TH,、TL值的改寫。
下面給出寫/讀DS1620,、配置DS1620,、開始轉(zhuǎn)換、讀取溫度等5個子程序的匯編語言程序,,其余模塊及程序不再贅述,。
4 結(jié) 語
所設(shè)計的數(shù)字溫度計測量精度高、工作可靠,、體積小,、成本低,,可擴展為溫度調(diào)節(jié)器。不足之處是由于DS1620測溫的遲滯性,,不宜做即時溫度測量,。