摘 要:分析由數字溫度傳感器SWC和模擬集成電路NE555,MC14553,MC14511等實現的數字溫度計存在的不足,用AT89C2051單片機完成控制和顯示,設計一種可編程、測溫速度快的數字溫度計。該電路設計方法簡單,經調試可實現自動測溫等3種模式的切換,可以適用于不同的測量要求,并且測量穩定性和可靠性也得到了一定的提高。
關鍵詞:AT89C2051;SWC;數字溫度計;NE555;MC14553
中圖分類號:TP274文獻標識碼:B
文章編號:1004-373X(2008)24-172-03
Design of Programable Digital Thermometer
LI Na,DONG Juntang,ZHANG Weihu,LIU Wenxia,YANG Huicai
(Collage of Physics and Electronics Information,Yan′an University,Yan′an,716000,China)
Abstract:This paper points out the disadvantage of the digital thermometer which based on the integrated circuit such as the SWC,NE555,MC14553,MC14511 and so on,a programmable and fast measurement digital thermometer is designed which the signal chip microcomputer AT89C2051 has completed to control and display .The circuit is simple,the test shows the circuit has the mode to measure automatically,adapt to different demands.The stability and veracity are impreved.
Keywords:AT89C2051;SWC;digital thermomter;NE555;MC14553
溫度是工業控制中最重要的控制參數之一,且與人們的日常生活息息相關。因此溫度的測量顯得尤為重要。SWC是一種設計新穎、計量準確、基本不受傳輸距離限制、直接將被測溫度轉換為數字信號的溫度傳感器。針對文獻中采用SWC,NE555,MC14553,MC14511等集成電路實現數字溫度計存在的不足,對原有電路提出改進設計,用AT89C2051實現譯碼和顯示功能,設計思路清晰、電路簡單。用匯編程序實現測值3次取平均,該數字溫度計的精度可以達到0.1 ℃。
1 問題分析
原溫度計由數字式溫度傳感器SWC、單穩態觸發電路、計數電路、譯碼與LED數碼顯示電路等組成。其設計原理圖如圖1所示:

其中,SWC數字式溫度傳感器又稱為集成數字脈沖式探頭,對外接口分別為控制線K,信號線S和公共線G,是一種三端器件。具有加電啟動和寬脈沖觸發2種啟動方式,在此設計電路中使用寬脈沖觸發形式。定時(單穩態觸發)電路以NE555為核心產生定時寬度為50 ms的閘門脈沖電壓,一路加至SWC的K端作為啟動信號;另一路經過微分電路后加置MC14533的13腳進行計數器清零。用MC14533的11腳作為輸入,第1,2,15腳作為輸出,完成計數功能。最后用具有鎖存/譯碼/驅動功能的MC14511實現BCD譯碼,使數碼管SM4205顯示出溫度數值,完成測溫。詳細工作原理見參考文獻。
用該電路實現測溫每次加電后必須啟動按鈕開關AN,而且每按1次只能實現單次測溫,如要連續測溫則操作比較繁瑣。由MC14533,MC14511集成塊構成計數、顯示功能的電路比較復雜,且連線多,可靠性不好,將電路級聯、焊接好后進行調試和修改都比較復雜。相對于用較多的集成電路,用單片機可以實現測溫電路的控制,實現可編程功能,電路簡單且易于調試。另外,原電路是一次性讀數并顯示,沒有對所測得的數據進行任何處理,所以數據的可信度不高。
2 硬件電路的改進
電路控制部分的核心為單片機AT89C2051,外接SWC、顯示電路和按鍵。
2.1 單片機AT89C2051
單片機AT89C2051是整個電路的中心控制單元,是一個低電壓高性能的8位單片機,與MCS-51單片機的內部結構基本一致,區別是增加了1個模擬比較器,減少了2個對外的端口(P0,P2口),雙向端口P1,P3有獨特的功能,因而使芯片的外部輸入引腳大大減小。指令系統與MCS-51兼容,內含2 kB FLASH Memory和128 B的隨機存取存儲器(RAM),15個可編程I/O線,2個16位定時器/計數器,5個兩級中斷源,1個可編程全雙工串行通信口。故其功能十分強大,可提供給許多高性價比的應用場合。所以本設計的控制部分采用AT89C2051,完全能夠滿足系統中要求的控制、數據處理和譯碼顯示的需要。
2.2 改進電路原理圖
電路原理圖如圖2所示。

AT89C2051單片機采用最小化應用設計。數字溫度傳感器SWC的K端接P1.2,用作連接50 ms高電平觸發電平,G端接地,S端作為SWC的信號端連接AT89C2051片內模擬比較器的正向輸入即P1.0,P1.1連接R2,R3后外接5 V電壓作為反向輸入端;通過調整R2和R3的阻值,可以使模擬比較器的反向輸入端電壓是同向輸入端即SWC的S輸入端電壓的1/2,這樣可以有效地提高測量的可靠性。顯示采用動態掃描方式實現,P1口輸出段碼數據,P3.2,P3.3,P3.4作輸出掃描位碼。為提供LED 數碼管的驅動電路,用三極管9012作電源驅動輸出。P3.0連接外部按鍵,用于接收用戶的命令,切換不同的測溫模式,實現溫度計的可編程功能。單片機時鐘采用內部振蕩器外配12 MHz晶振,復位采用上電自動復位電路。
3 軟件設計
3.1 設計思想
總體設計思想是用單片機AT89C2051實現以前復雜的集成電路實現的功能,并設計自動測溫等編程模式。
溫度傳感器SWC采用單線輸出方式,當K端使用50 ms寬脈沖觸發后,S端輸出一串脈沖,每個脈沖為0.1 ℃增量,脈沖個數代表了被測溫度的數字量。用程序將計數/定時器T0的計數輸入端和單片機AT89C2051的內置模擬比較器輸出端P3.6短接(用P3.6讀入直接寫到P3.4來實現);單片機采用T0為計數工作方式,T1為定時工作方式,即設計每50ms定時時間到達后,統計出T0計數的脈沖值,即是數字溫度傳感器SWC所測得的溫度值。將此數值存入預先開辟的內存單元,在測量3次后,對所測數值取平均后送到P1口顯示,即為所測出的溫度值。圖3是系統總流程框圖。當檢測到P3.0外接的按鍵按下,P3.0為低電平時,實現點動式測溫模式,如P3.0按下時間大于1 s后,進入自動測溫模式。

3.2 50 ms定時初值設置
當系統加電后,首先對單片機進行初始化。設50 ms計數初值為X,根據公式X=M-定時時間/T,有X=216-50 ms/1 μs,計算的初始值X=15 536,二進制表示為11110010110000 B,16進制表示為3CBOH,即TL0初始化置B0H,TH0置3CH。并置P1.0,P1.1為0,用作內置模擬比較器的輸入。
MOV SP,#70H;
MOV TMOD,15H;
設置T0計數模式、T1為定時、工作方式1
MOV TH1,#03CH;
MOV TL0,#0B0H;
CLR P1.0;模擬比較器同向輸入端設置
CLR P1.1;模擬比較器反向輸入端設置
SETB EA;開總中斷
3.3 鍵盤處理子程序設計
在每次測量完成后,都要檢測鍵盤的狀況,當檢測到P3.0的鍵盤按下時,啟動延時程序。在延時的過程中,一直監測鍵盤的狀況,如在延時結束前鍵盤被釋放,則進入測溫程序,測量1次溫度,這樣就可以實現點動測溫。而在延時的過程中鍵一直被按下,則延時結束后轉去執行自動測溫子程序。在自動測溫子程序中,每執行完1次測溫,就檢測1次鍵盤,如鍵被按下,就推出自動測溫模式,否則繼續執行測溫程序。
部分程序如下:
DELAY: MOV R5,#50H;
DEL0: MOV R6,#100H;
DEL1: MOV R7,#100H;
DEL2: JB P3.0,FINISH
DJNZ R7,DEL2;
DJNZ R6,DEL1;
DJNZ R5,DEL0;
JMP AUTO
3.4 數據處理
由于SWC已經過了非線性處理,所以數據處理部分主要完成3次測量結果平均值的計算和譯碼顯示。單次測量結果最大為500,所以用8位MCU時需要注意,應該用2個存儲單元進行存儲。對于譯碼顯示較為簡單,只需要對計數結果,用查表的方式送顯就可以實現。
4 結 語
傳統的溫度檢測大都以熱敏電阻作為溫度傳感器,但是熱敏電阻的可靠性較差、測量溫度準確率低,并且還必須經過專門的電路轉化成數字信號后才能用單片機進行處理。本文相當于文獻,基于單片機AT89C2051和數字溫度傳感器SWC實現的數字溫度計比原設計電路簡單、需要元器件少,主要依靠單片機實現原來復雜的集成電路實現的功能;在軟硬件設計中,都采用了提高可靠性的措施,所以,測量數據可靠性大大加強。另外,用軟件實現原硬件實現的功能,可以降低成本,方便調試。用文中設計的溫度計具有硬件連接簡單、體積小、測量精度高、可以實現自動和點動測溫2種方式;抗干擾能力強,測得溫度準確,可以根據具體要求添加不同的測溫模式等特點,可廣泛應用于溫度測量和性價比要求較高的領域。
參考文獻
[1]楊延寧,張志勇,張虎,等.一種基于SWC的數字溫度計的設計[J].現代電子技術,2007,30(21):104-105.
[2]余錫存,曹國華.單片機原理及接口技術[M].西安:西安電子科技大學出版社,2004.
[3]赫建國,鄭燕,薛延俠.單片機在電子電路設計中的應用[M].北京:清華大學出版社,2005.
[4]楊偉濤,苗風東,倪邦發.基于ARM的熱敏電阻溫度計的設計.現代電子技術,2007,30(8):59-61.
[5]沙春芳.紅外溫度計MLX90614及其應用.現代電子技術,2007,30(22):36-37,40.
[6]呂宏強.基于DS1620和AT89C2051的數字溫度計.2003,26(6):81-82,86.
作者簡介 李 娜 女,1983年出生,陜西渭南人,延安大學在讀研究生。主要從事信號理論與技術,DSP等方面的研究。