摘 要:分析由數(shù)字溫度傳感器SWC和模擬集成電路NE555,MC14553,MC14511等實(shí)現(xiàn)的數(shù)字溫度計(jì)存在的不足,用AT89C2051單片機(jī)完成控制和顯示,設(shè)計(jì)一種可編程、測(cè)溫速度快的數(shù)字溫度計(jì)。該電路設(shè)計(jì)方法簡(jiǎn)單,經(jīng)調(diào)試可實(shí)現(xiàn)自動(dòng)測(cè)溫等3種模式的切換,可以適用于不同的測(cè)量要求,并且測(cè)量穩(wěn)定性和可靠性也得到了一定的提高。
關(guān)鍵詞:AT89C2051;SWC;數(shù)字溫度計(jì);NE555;MC14553
中圖分類號(hào):TP274文獻(xiàn)標(biāo)識(shí)碼:B
文章編號(hào):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)。因此溫度的測(cè)量顯得尤為重要。SWC是一種設(shè)計(jì)新穎、計(jì)量準(zhǔn)確、基本不受傳輸距離限制、直接將被測(cè)溫度轉(zhuǎn)換為數(shù)字信號(hào)的溫度傳感器。針對(duì)文獻(xiàn)中采用SWC,NE555,MC14553,MC14511等集成電路實(shí)現(xiàn)數(shù)字溫度計(jì)存在的不足,對(duì)原有電路提出改進(jìn)設(shè)計(jì),用AT89C2051實(shí)現(xiàn)譯碼和顯示功能,設(shè)計(jì)思路清晰、電路簡(jiǎn)單。用匯編程序?qū)崿F(xiàn)測(cè)值3次取平均,該數(shù)字溫度計(jì)的精度可以達(dá)到0.1 ℃。
1 問(wèn)題分析
原溫度計(jì)由數(shù)字式溫度傳感器SWC、單穩(wěn)態(tài)觸發(fā)電路、計(jì)數(shù)電路、譯碼與LED數(shù)碼顯示電路等組成。其設(shè)計(jì)原理圖如圖1所示:
其中,SWC數(shù)字式溫度傳感器又稱為集成數(shù)字脈沖式探頭,對(duì)外接口分別為控制線K,信號(hào)線S和公共線G,是一種三端器件。具有加電啟動(dòng)和寬脈沖觸發(fā)2種啟動(dòng)方式,在此設(shè)計(jì)電路中使用寬脈沖觸發(fā)形式。定時(shí)(單穩(wěn)態(tài)觸發(fā))電路以NE555為核心產(chǎn)生定時(shí)寬度為50 ms的閘門脈沖電壓,一路加至SWC的K端作為啟動(dòng)信號(hào);另一路經(jīng)過(guò)微分電路后加置MC14533的13腳進(jìn)行計(jì)數(shù)器清零。用MC14533的11腳作為輸入,第1,2,15腳作為輸出,完成計(jì)數(shù)功能。最后用具有鎖存/譯碼/驅(qū)動(dòng)功能的MC14511實(shí)現(xiàn)BCD譯碼,使數(shù)碼管SM4205顯示出溫度數(shù)值,完成測(cè)溫。詳細(xì)工作原理見(jiàn)參考文獻(xiàn)。
用該電路實(shí)現(xiàn)測(cè)溫每次加電后必須啟動(dòng)按鈕開(kāi)關(guān)AN,而且每按1次只能實(shí)現(xiàn)單次測(cè)溫,如要連續(xù)測(cè)溫則操作比較繁瑣。由MC14533,MC14511集成塊構(gòu)成計(jì)數(shù)、顯示功能的電路比較復(fù)雜,且連線多,可靠性不好,將電路級(jí)聯(lián)、焊接好后進(jìn)行調(diào)試和修改都比較復(fù)雜。相對(duì)于用較多的集成電路,用單片機(jī)可以實(shí)現(xiàn)測(cè)溫電路的控制,實(shí)現(xiàn)可編程功能,電路簡(jiǎn)單且易于調(diào)試。另外,原電路是一次性讀數(shù)并顯示,沒(méi)有對(duì)所測(cè)得的數(shù)據(jù)進(jìn)行任何處理,所以數(shù)據(jù)的可信度不高。
2 硬件電路的改進(jìn)
電路控制部分的核心為單片機(jī)AT89C2051,外接SWC、顯示電路和按鍵。
2.1 單片機(jī)AT89C2051
單片機(jī)AT89C2051是整個(gè)電路的中心控制單元,是一個(gè)低電壓高性能的8位單片機(jī),與MCS-51單片機(jī)的內(nèi)部結(jié)構(gòu)基本一致,區(qū)別是增加了1個(gè)模擬比較器,減少了2個(gè)對(duì)外的端口(P0,P2口),雙向端口P1,P3有獨(dú)特的功能,因而使芯片的外部輸入引腳大大減小。指令系統(tǒng)與MCS-51兼容,內(nèi)含2 kB FLASH Memory和128 B的隨機(jī)存取存儲(chǔ)器(RAM),15個(gè)可編程I/O線,2個(gè)16位定時(shí)器/計(jì)數(shù)器,5個(gè)兩級(jí)中斷源,1個(gè)可編程全雙工串行通信口。故其功能十分強(qiáng)大,可提供給許多高性價(jià)比的應(yīng)用場(chǎng)合。所以本設(shè)計(jì)的控制部分采用AT89C2051,完全能夠滿足系統(tǒng)中要求的控制、數(shù)據(jù)處理和譯碼顯示的需要。
2.2 改進(jìn)電路原理圖
電路原理圖如圖2所示。
AT89C2051單片機(jī)采用最小化應(yīng)用設(shè)計(jì)。數(shù)字溫度傳感器SWC的K端接P1.2,用作連接50 ms高電平觸發(fā)電平,G端接地,S端作為SWC的信號(hào)端連接AT89C2051片內(nèi)模擬比較器的正向輸入即P1.0,P1.1連接R2,R3后外接5 V電壓作為反向輸入端;通過(guò)調(diào)整R2和R3的阻值,可以使模擬比較器的反向輸入端電壓是同向輸入端即SWC的S輸入端電壓的1/2,這樣可以有效地提高測(cè)量的可靠性。顯示采用動(dòng)態(tài)掃描方式實(shí)現(xiàn),P1口輸出段碼數(shù)據(jù),P3.2,P3.3,P3.4作輸出掃描位碼。為提供LED 數(shù)碼管的驅(qū)動(dòng)電路,用三極管9012作電源驅(qū)動(dòng)輸出。P3.0連接外部按鍵,用于接收用戶的命令,切換不同的測(cè)溫模式,實(shí)現(xiàn)溫度計(jì)的可編程功能。單片機(jī)時(shí)鐘采用內(nèi)部振蕩器外配12 MHz晶振,復(fù)位采用上電自動(dòng)復(fù)位電路。
3 軟件設(shè)計(jì)
3.1 設(shè)計(jì)思想
總體設(shè)計(jì)思想是用單片機(jī)AT89C2051實(shí)現(xiàn)以前復(fù)雜的集成電路實(shí)現(xiàn)的功能,并設(shè)計(jì)自動(dòng)測(cè)溫等編程模式。
溫度傳感器SWC采用單線輸出方式,當(dāng)K端使用50 ms寬脈沖觸發(fā)后,S端輸出一串脈沖,每個(gè)脈沖為0.1 ℃增量,脈沖個(gè)數(shù)代表了被測(cè)溫度的數(shù)字量。用程序?qū)⒂?jì)數(shù)/定時(shí)器T0的計(jì)數(shù)輸入端和單片機(jī)AT89C2051的內(nèi)置模擬比較器輸出端P3.6短接(用P3.6讀入直接寫到P3.4來(lái)實(shí)現(xiàn));單片機(jī)采用T0為計(jì)數(shù)工作方式,T1為定時(shí)工作方式,即設(shè)計(jì)每50ms定時(shí)時(shí)間到達(dá)后,統(tǒng)計(jì)出T0計(jì)數(shù)的脈沖值,即是數(shù)字溫度傳感器SWC所測(cè)得的溫度值。將此數(shù)值存入預(yù)先開(kāi)辟的內(nèi)存單元,在測(cè)量3次后,對(duì)所測(cè)數(shù)值取平均后送到P1口顯示,即為所測(cè)出的溫度值。圖3是系統(tǒng)總流程框圖。當(dāng)檢測(cè)到P3.0外接的按鍵按下,P3.0為低電平時(shí),實(shí)現(xiàn)點(diǎn)動(dòng)式測(cè)溫模式,如P3.0按下時(shí)間大于1 s后,進(jìn)入自動(dòng)測(cè)溫模式。
3.2 50 ms定時(shí)初值設(shè)置
當(dāng)系統(tǒng)加電后,首先對(duì)單片機(jī)進(jìn)行初始化。設(shè)50 ms計(jì)數(shù)初值為X,根據(jù)公式X=M-定時(shí)時(shí)間/T,有X=216-50 ms/1 μs,計(jì)算的初始值X=15 536,二進(jìn)制表示為11110010110000 B,16進(jìn)制表示為3CBOH,即TL0初始化置B0H,TH0置3CH。并置P1.0,P1.1為0,用作內(nèi)置模擬比較器的輸入。
MOV SP,#70H;
MOV TMOD,15H;
設(shè)置T0計(jì)數(shù)模式、T1為定時(shí)、工作方式1
MOV TH1,#03CH;
MOV TL0,#0B0H;
CLR P1.0;模擬比較器同向輸入端設(shè)置
CLR P1.1;模擬比較器反向輸入端設(shè)置
SETB EA;開(kāi)總中斷
3.3 鍵盤處理子程序設(shè)計(jì)
在每次測(cè)量完成后,都要檢測(cè)鍵盤的狀況,當(dāng)檢測(cè)到P3.0的鍵盤按下時(shí),啟動(dòng)延時(shí)程序。在延時(shí)的過(guò)程中,一直監(jiān)測(cè)鍵盤的狀況,如在延時(shí)結(jié)束前鍵盤被釋放,則進(jìn)入測(cè)溫程序,測(cè)量1次溫度,這樣就可以實(shí)現(xiàn)點(diǎn)動(dòng)測(cè)溫。而在延時(shí)的過(guò)程中鍵一直被按下,則延時(shí)結(jié)束后轉(zhuǎn)去執(zhí)行自動(dòng)測(cè)溫子程序。在自動(dòng)測(cè)溫子程序中,每執(zhí)行完1次測(cè)溫,就檢測(cè)1次鍵盤,如鍵被按下,就推出自動(dòng)測(cè)溫模式,否則繼續(xù)執(zhí)行測(cè)溫程序。
部分程序如下:
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)過(guò)了非線性處理,所以數(shù)據(jù)處理部分主要完成3次測(cè)量結(jié)果平均值的計(jì)算和譯碼顯示。單次測(cè)量結(jié)果最大為500,所以用8位MCU時(shí)需要注意,應(yīng)該用2個(gè)存儲(chǔ)單元進(jìn)行存儲(chǔ)。對(duì)于譯碼顯示較為簡(jiǎn)單,只需要對(duì)計(jì)數(shù)結(jié)果,用查表的方式送顯就可以實(shí)現(xiàn)。
4 結(jié) 語(yǔ)
傳統(tǒng)的溫度檢測(cè)大都以熱敏電阻作為溫度傳感器,但是熱敏電阻的可靠性較差、測(cè)量溫度準(zhǔn)確率低,并且還必須經(jīng)過(guò)專門的電路轉(zhuǎn)化成數(shù)字信號(hào)后才能用單片機(jī)進(jìn)行處理。本文相當(dāng)于文獻(xiàn),基于單片機(jī)AT89C2051和數(shù)字溫度傳感器SWC實(shí)現(xiàn)的數(shù)字溫度計(jì)比原設(shè)計(jì)電路簡(jiǎn)單、需要元器件少,主要依靠單片機(jī)實(shí)現(xiàn)原來(lái)復(fù)雜的集成電路實(shí)現(xiàn)的功能;在軟硬件設(shè)計(jì)中,都采用了提高可靠性的措施,所以,測(cè)量數(shù)據(jù)可靠性大大加強(qiáng)。另外,用軟件實(shí)現(xiàn)原硬件實(shí)現(xiàn)的功能,可以降低成本,方便調(diào)試。用文中設(shè)計(jì)的溫度計(jì)具有硬件連接簡(jiǎn)單、體積小、測(cè)量精度高、可以實(shí)現(xiàn)自動(dòng)和點(diǎn)動(dòng)測(cè)溫2種方式;抗干擾能力強(qiáng),測(cè)得溫度準(zhǔn)確,可以根據(jù)具體要求添加不同的測(cè)溫模式等特點(diǎn),可廣泛應(yīng)用于溫度測(cè)量和性價(jià)比要求較高的領(lǐng)域。
參考文獻(xiàn)
[1]楊延寧,張志勇,張虎,等.一種基于SWC的數(shù)字溫度計(jì)的設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2007,30(21):104-105.
[2]余錫存,曹國(guó)華.單片機(jī)原理及接口技術(shù)[M].西安:西安電子科技大學(xué)出版社,2004.
[3]赫建國(guó),鄭燕,薛延俠.單片機(jī)在電子電路設(shè)計(jì)中的應(yīng)用[M].北京:清華大學(xué)出版社,2005.
[4]楊偉濤,苗風(fēng)東,倪邦發(fā).基于ARM的熱敏電阻溫度計(jì)的設(shè)計(jì).現(xiàn)代電子技術(shù),2007,30(8):59-61.
[5]沙春芳.紅外溫度計(jì)MLX90614及其應(yīng)用.現(xiàn)代電子技術(shù),2007,30(22):36-37,40.
[6]呂宏強(qiáng).基于DS1620和AT89C2051的數(shù)字溫度計(jì).2003,26(6):81-82,86.
作者簡(jiǎn)介 李 娜 女,1983年出生,陜西渭南人,延安大學(xué)在讀研究生。主要從事信號(hào)理論與技術(shù),DSP等方面的研究。