摘 要:分析由數(shù)字溫度傳感器SWC和模擬集成電路NE555,MC14553,MC14511等實現(xiàn)的數(shù)字溫度計存在的不足,用AT89C2051單片機完成控制和顯示,設(shè)計一種可編程、測溫速度快的數(shù)字溫度計。該電路設(shè)計方法簡單,經(jīng)調(diào)試可實現(xiàn)自動測溫等3種模式的切換,可以適用于不同的測量要求,并且測量穩(wěn)定性和可靠性也得到了一定的提高。
關(guān)鍵詞:AT89C2051;SWC;數(shù)字溫度計;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
溫度是工業(yè)控制中最重要的控制參數(shù)之一,且與人們的日常生活息息相關(guān)。因此溫度的測量顯得尤為重要。SWC是一種設(shè)計新穎、計量準確、基本不受傳輸距離限制、直接將被測溫度轉(zhuǎn)換為數(shù)字信號的溫度傳感器。針對文獻中采用SWC,NE555,MC14553,MC14511等集成電路實現(xiàn)數(shù)字溫度計存在的不足,對原有電路提出改進設(shè)計,用AT89C2051實現(xiàn)譯碼和顯示功能,設(shè)計思路清晰、電路簡單。用匯編程序?qū)崿F(xiàn)測值3次取平均,該數(shù)字溫度計的精度可以達到0.1 ℃。
1 問題分析
原溫度計由數(shù)字式溫度傳感器SWC、單穩(wěn)態(tài)觸發(fā)電路、計數(shù)電路、譯碼與LED數(shù)碼顯示電路等組成。其設(shè)計原理圖如圖1所示:

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

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

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