王 斌
(四川建筑職業(yè)技術(shù)學(xué)院,四川 德陽 618000)
STC89C51RC采用的是8051核的ISP系統(tǒng)可編程芯片,ISP為“In System Programming”的縮寫。工作時最高可擁有80MHz的時鐘頻率,片內(nèi)包含的Flash只讀程序存儲器為8K Bytes,它可反復(fù)擦寫1000次,該單片機(jī)既由MCS-51指令系統(tǒng)又有80C51的引腳結(jié)構(gòu),有通用的8位中央處理器在STC89C51內(nèi)部集成,并且它還包含ISP Flash存儲單元,可以實現(xiàn)在系統(tǒng)可編程的功能,可以用電腦進(jìn)行程序的下載,無需購買通用編程器。STC89C51RC系列的單片機(jī)是單時鐘/機(jī)器周期(1T)的兼容8051 內(nèi)核單片機(jī),既高速又低耗。
Pt100溫度傳感器是測量溫度并利用自身阻值由溫度變化而產(chǎn)生變化的特點進(jìn)行溫度信號轉(zhuǎn)換成標(biāo)準(zhǔn)的輸出信號的儀表,可以用來檢測和調(diào)節(jié)工程生產(chǎn)過程的溫度參數(shù)。由兩部分構(gòu)成帶傳感器的變送器,它們分別是“傳感器”和“信號轉(zhuǎn)換器”。熱電偶或者熱電阻是傳感器的主要材料;信號轉(zhuǎn)換器主要由測量單元、信號處理和轉(zhuǎn)換單元組成(由于工業(yè)用熱電阻和熱電偶分度表是標(biāo)準(zhǔn)化的,因此信號轉(zhuǎn)換器作為獨立產(chǎn)品時也稱為變送器),有些變送器增加了顯示單元,有些還具有現(xiàn)場總線功能。
LED數(shù)碼管實際上是由七段LED燈組成一個“8”字形,若算上小點則共有八個LED小燈,根據(jù)各個小燈亮滅不同,它可以顯示從“0”到十六進(jìn)制的“F”。LED數(shù)碼管按連接方式的不同可分為共陰極接法和共陽極接法。共陰極接法的數(shù)碼管要接通高電平才可以導(dǎo)通工作,而共陽極則需要接通低電平才可以導(dǎo)通工作。本設(shè)計采用共陰極接法的兩位LED數(shù)碼管,連接在單片機(jī)的P2口。
單片機(jī)通過P1.1引腳對繼電器的斷開和和閉合進(jìn)行控制從而控制加熱系統(tǒng)的工作與否。當(dāng)輸出為低電平時,三極管導(dǎo)通,加熱系統(tǒng)開始工作。當(dāng)輸出為高電平時,三極管截止,加熱系統(tǒng)停止工作。
圖1 繼電器控制的加熱系統(tǒng)
本系統(tǒng)運用STC89C51單片機(jī)進(jìn)行對于室溫的測量及調(diào)控,運用Pt100溫度傳感器進(jìn)行溫度的測量以及標(biāo)準(zhǔn)信號的傳輸,這樣做是為了進(jìn)一步的對溫度進(jìn)行調(diào)節(jié)。我們在上文已經(jīng)了解到了Pt100溫度傳感器既包括傳感器又包括信號轉(zhuǎn)換器,這滿足我們對溫度檢測后轉(zhuǎn)換成標(biāo)準(zhǔn)信號交給單片機(jī)進(jìn)行判斷的要求。它設(shè)計的主要原理為根據(jù)溫度的不同則自身電阻值不同,從而影響電路中電壓,所以根據(jù)溫度的不同可換算成不同的電壓值,也就有不同的標(biāo)準(zhǔn)信號相對應(yīng)。當(dāng)單片機(jī)檢測到溫度傳感器發(fā)送給單片機(jī)的標(biāo)準(zhǔn)信號之后,單片機(jī)根據(jù)預(yù)先設(shè)定的溫度進(jìn)行判斷,若高于這個溫度則使風(fēng)扇轉(zhuǎn)動,若低于這個溫度則使風(fēng)扇停轉(zhuǎn)并且使暖爐工作。在所有過程中,用LED數(shù)碼管來進(jìn)行溫度的顯示。
該風(fēng)扇工作原理為根據(jù)溫度不同來調(diào)整風(fēng)速,風(fēng)速共有四檔,但為了簡潔起見只用其中兩檔,即0檔和四檔,當(dāng)室溫小于等于27攝氏度時,該風(fēng)扇為零度,當(dāng)室溫大于27度時,該風(fēng)扇轉(zhuǎn)速為四檔。
作為調(diào)高溫度的部分,它需要交流供電,而單片機(jī)只能提供最大為5伏的電壓,所以想要通過單片機(jī)直接對加熱系統(tǒng)進(jìn)行控制是不現(xiàn)實的,所以在這里用到了繼電器來實現(xiàn)加熱系統(tǒng)中電路的導(dǎo)通和斷開,而用單片機(jī)來控制繼電器是否工作,當(dāng)單片機(jī)P1.1引腳輸出低電平時三極管導(dǎo)通,加熱系統(tǒng)開始工作,而當(dāng)P1.1引腳輸出高電平時,三極管截止,加熱系統(tǒng)停止工作。
在這個室溫調(diào)控系統(tǒng)中,A/D轉(zhuǎn)換器在Pt100溫度傳感器電路中,是為了將熱電阻測得的溫度信號轉(zhuǎn)換成標(biāo)準(zhǔn)的數(shù)字信號以便于單片機(jī)檢測并作出相應(yīng)的運算及判斷。因為單片機(jī)只能運算數(shù)字語言,即“0”和“1”,不能直接對溫度信號加以運算,故我們需要用A/D轉(zhuǎn)換裝置將信號進(jìn)行轉(zhuǎn)化,相當(dāng)于“翻譯”的功能。
在主接線的核心部分是四十只引腳的STC89C51單片機(jī),它的P2口連接一個共陰極兩位LED數(shù)碼管,而它的陰極分別連接在單片機(jī)的P1.6引腳和P1.7引腳,數(shù)碼管用來顯示當(dāng)前溫度,而溫度的來源為Pt100溫度傳感器測量的溫度。Pt100溫度傳感器測量的溫度通過一個A/D轉(zhuǎn)換裝置連接在STC89C51單片機(jī)的P0口上,實現(xiàn)溫度信號轉(zhuǎn)換成標(biāo)準(zhǔn)數(shù)字信號并向單片機(jī)傳輸?shù)墓δ堋TC89C51單片機(jī)接收到溫度轉(zhuǎn)換成的標(biāo)準(zhǔn)數(shù)字信號后,通過掃描預(yù)先下載進(jìn)去的主程序進(jìn)行內(nèi)部的運算與判斷,當(dāng)溫度高于27攝氏度時,啟動交流調(diào)速風(fēng)扇,進(jìn)行降溫工作,而當(dāng)溫度低于27度后,交流調(diào)速風(fēng)扇將停止工作,并且在室溫比27攝氏度低很多(在本設(shè)計中為5攝氏度)時使單片機(jī)控制繼電器使增溫系統(tǒng)工作,知道溫度重新升回27攝氏度。
本程序運用C語言來進(jìn)行設(shè)計,設(shè)計的主體思路是分別設(shè)計A/D轉(zhuǎn)換子程序、數(shù)碼管顯示子程序、溫度調(diào)控子程序,其中交流調(diào)速風(fēng)扇的調(diào)速程序要通過中斷程序來實現(xiàn),它的主要原理是:我國交流電的頻率為50Hz,即周期為0.02s,我們先將供給交流調(diào)速風(fēng)扇的交流電整流成連續(xù)的正半周期的交流電,利用單片機(jī)控制通電與斷電的占空比從而調(diào)節(jié)交流調(diào)速風(fēng)扇的檔位,在中斷程序中根據(jù)Pt100溫度傳感器測得的溫度信號轉(zhuǎn)換成的標(biāo)準(zhǔn)數(shù)字信號的不同來設(shè)定不同的占空比。對于Pt100溫度傳感器測得的溫度信號,要根據(jù)公式轉(zhuǎn)換成一個對應(yīng)的數(shù)字,整體趨勢是溫度越高這個數(shù)字越低。這部分由程序中的A/D轉(zhuǎn)換子程序來實現(xiàn)。對于數(shù)碼管的顯示,我們通過定義數(shù)字表以及定義端口(用兩個不同的參數(shù)來表示連接數(shù)碼管陰極的P1.6引腳和P1.7引腳)來實現(xiàn)對數(shù)碼管顯示的控制。對于交流調(diào)速風(fēng)扇和對加熱系統(tǒng)的控制在主程序中是通過設(shè)定兩個不同的參數(shù)來實現(xiàn)的,這兩個參數(shù)分別代表連接繼電器的P1.1引腳和連接交流調(diào)速風(fēng)扇的P1.2引腳,通過給這兩個參數(shù)賦值(“0”和“1”)來實現(xiàn)降溫和升溫的功能。
[1] 李朝青,單片機(jī)原理及接口技術(shù)(簡明修訂版)[M].北京:北京航空航天大學(xué),1998.
[2] 李曉荃.單片機(jī)原理與應(yīng)用[M].北京:電子工業(yè)出版社,2000,(8).