畢業(yè)論文溫室溫度自動(dòng)控制系統(tǒng)設(shè)計(jì)自動(dòng)保存的_第1頁(yè)
畢業(yè)論文溫室溫度自動(dòng)控制系統(tǒng)設(shè)計(jì)自動(dòng)保存的_第2頁(yè)
畢業(yè)論文溫室溫度自動(dòng)控制系統(tǒng)設(shè)計(jì)自動(dòng)保存的_第3頁(yè)
畢業(yè)論文溫室溫度自動(dòng)控制系統(tǒng)設(shè)計(jì)自動(dòng)保存的_第4頁(yè)
畢業(yè)論文溫室溫度自動(dòng)控制系統(tǒng)設(shè)計(jì)自動(dòng)保存的_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、摘 要中國(guó)農(nóng)業(yè)的發(fā)展必須走現(xiàn)代化農(nóng)業(yè)這條道路,隨著國(guó)民經(jīng)濟(jì)的迅速增長(zhǎng),農(nóng)業(yè)的研究和應(yīng)用技術(shù)越來(lái)越受到重視,特別是溫室大棚已經(jīng)成為高效農(nóng)業(yè)的一個(gè)重要組成部分。現(xiàn)代化農(nóng)業(yè)生產(chǎn)中的重要一環(huán)就是對(duì)農(nóng)業(yè)生產(chǎn)環(huán)境的一些重要參數(shù)進(jìn)行檢測(cè)和控制。本系統(tǒng)以AT89C51單片機(jī)為控制核心,利用溫度傳感器AD590對(duì)蔬菜大棚內(nèi)的溫度進(jìn)行實(shí)時(shí)采集與控制,實(shí)現(xiàn)溫室溫度的自動(dòng)控制。本系統(tǒng)由單片機(jī)系統(tǒng)模塊、溫度采集模塊、加熱模塊、降溫模塊、按鍵以及顯示模塊六個(gè)部分組成。可以通過(guò)按鍵設(shè)定溫室的溫度值,采集的溫度和設(shè)定的溫度通過(guò)LED數(shù)碼管顯示。當(dāng)所設(shè)定的溫度值比采集的溫度大時(shí),通過(guò)加熱器加熱,以達(dá)到設(shè)定值;反之,開啟降溫風(fēng)扇

2、,以快速達(dá)到降溫效果。通過(guò)該系統(tǒng),對(duì)蔬菜大棚內(nèi)的溫度進(jìn)行有效、可靠地檢測(cè)與控制,從而保證大棚內(nèi)作物在最佳的溫度條件下生長(zhǎng),提高質(zhì)量和產(chǎn)量。關(guān)鍵詞:?jiǎn)纹瑱C(jī);溫度傳感器;溫度顯示;鍵盤輸入;溫室AbstractDevelopment of Chinas agricultural must take this path of modern agriculture, with the rapid growth of the national economy, agricultural technology of research and application takes more and more

3、attention, especially in greenhouses which have become an important part of effective agriculture. One of the important parts of modern agricultural production is some important parameters for detection and control. This system takes the AT89C51 single chip as the control core, using the temperature

4、 sensor AD590 to carry on real-time gathering and controlling to the greenhouse of vegetables, so it can realizes auto-control to the greenhouses temperature. This system contains the miniature single chip system module, the temperature gathering module, the heater module, the drop-temperature modul

5、e, the key pressed module and the display module. The gathering temperature or the setting temperature is displayed through the seven-seg LED. It can be established new temperature value in the greenhouse through pressing buttons, when this temperature value is higher than the gathering temperature

6、value, then makes the heater work in order to achieve the defined value; Otherwise, the heater knocks off, and opens the ventilator as fast as to achieve the supposed temperature. It will be effective and reliable to exam and control the temperature of the greenhouse by using this system, thus guara

7、ntee the crop growing fine under the best temperature condition, and enhances the crops quality and output.Key words: Single chip,Temperature sensor, Temperature control,Temperature display, Keyboard entry,Greenhouse 目錄摘 要1ABSTIC2第1章溫室控制系統(tǒng)的總體設(shè)計(jì).51.1 溫室環(huán)境因子.51.2 控制系統(tǒng)設(shè)計(jì)要求.51.3 控制系統(tǒng)總體設(shè)計(jì).6第2章 溫室控制系統(tǒng)硬件設(shè)計(jì)

8、.82. 1 基于AT89C51的單片機(jī)系統(tǒng).82.1.1 時(shí)鐘脈沖.82.1.2 復(fù)位電路.92.2溫度采集模塊.92.2.1 AD轉(zhuǎn)換器ADC0804的功能.112.3 顯示模塊.132.3.1 譯碼IC 7447.132.3.2 七段LED數(shù)碼管.142.4 鍵盤掃描.152.4.1 鍵盤152.4.2 鍵盤掃描芯片16第3章 軟件設(shè)計(jì)243.1 主程序173.2定時(shí)器T0中斷193.3 顯示模塊213.4 按鍵掃描22附 錄24附錄1系統(tǒng)電路圖24附錄2 源程序代碼24第1章溫室控制系統(tǒng)的總體設(shè)計(jì)本系統(tǒng)要控制的對(duì)象為這樣一個(gè)規(guī)模的溫室。溫室結(jié)構(gòu)的參數(shù)為:屋脊高5.2m,檐高3m,單跨度

9、6.5m,長(zhǎng)為20m,地面面積為130平方米3。要實(shí)現(xiàn)的目標(biāo)是,使薄膜溫室的溫度保持在2030之間,在這個(gè)區(qū)域內(nèi)溫度值是可設(shè)定的。1.1 溫室環(huán)境因子作物的生長(zhǎng)發(fā)育及產(chǎn)品的最終形成,其產(chǎn)量與質(zhì)量一方面取決于作物本身的遺傳特性,另一方面取則決于外部環(huán)境條件。在實(shí)際生產(chǎn)中,一方面通過(guò)育種技術(shù)來(lái)獲得具有新遺傳性的品種,另一方面要通過(guò)先進(jìn)的栽培技術(shù)及適宜的環(huán)境條件來(lái)控制其生長(zhǎng)和發(fā)育。溫室內(nèi)氣溫、地溫對(duì)作物的光合作用、呼吸作用、根系的生長(zhǎng)和水分、養(yǎng)分的吸收有著顯著的影響,因此影響作物生長(zhǎng)發(fā)育的環(huán)境條件中,以溫度最為敏感,也最為重要,對(duì)溫室環(huán)境控制的研究也是最先從溫度控制開始的。不同種類的作物對(duì)溫度的要求

10、是不同的,同一作物在不同發(fā)育階段對(duì)溫度的要求亦有所不同,而且在同一發(fā)育期階段內(nèi)對(duì)溫度的要求也會(huì)隨著晝夜變化而呈周期性地變化。一般說(shuō)來(lái)在白天作物進(jìn)行光合作用需要的溫度較高,晚上維持呼吸作用所需的溫度要低一些。另外溫室內(nèi)的氣溫要受到太陽(yáng)輻射強(qiáng)度和室外氣溫變化的影響,在溫室環(huán)境自動(dòng)控制系統(tǒng)的研制中應(yīng)該考慮到這種情況。作物生長(zhǎng)發(fā)育適宜的溫度,隨種類、品種、生育階段及生理活動(dòng)的變化而變化。為了增加光合產(chǎn)物的生成,抑制不必要的呼吸消耗,在一天中,隨著光照強(qiáng)度的變化,實(shí)行變溫管理是一種很有效的管理方法。1.2 控制系統(tǒng)設(shè)計(jì)要求本系統(tǒng)以溫室溫度為主要控制參數(shù),進(jìn)行控制系統(tǒng)的設(shè)計(jì),主要完成以下功能。1. 實(shí)現(xiàn)對(duì)

11、溫室溫度參數(shù)的實(shí)時(shí)采集,測(cè)量空間多點(diǎn)溫度:根據(jù)測(cè)量空間或設(shè)備的實(shí)際需要,由多路溫度傳感器對(duì)關(guān)鍵溫度敏感點(diǎn)進(jìn)行測(cè)量,由單片機(jī)對(duì)各路數(shù)據(jù)進(jìn)行循環(huán)檢測(cè)、數(shù)據(jù)處理、存儲(chǔ),實(shí)現(xiàn)溫度的智能、多空間點(diǎn)的測(cè)量。2. 顯示報(bào)警功能:實(shí)現(xiàn)超數(shù)據(jù)的及時(shí)報(bào)警。溫度檢測(cè)范圍:20-30C,檢測(cè)精度0.5 C。3. 存儲(chǔ)一定時(shí)間的溫室環(huán)境參數(shù)值。由于單片機(jī)對(duì)溫室環(huán)境的檢測(cè)是一個(gè)連續(xù)不斷的過(guò)程,單片機(jī)數(shù)據(jù)存儲(chǔ)器的容量需足夠大,能夠存儲(chǔ)數(shù)天的數(shù)據(jù)。需要保存一組由室內(nèi)、外環(huán)境參數(shù)及其本組數(shù)據(jù)采集時(shí)間組成的一條測(cè)控記錄。本控制系統(tǒng)保存一條測(cè)控記錄需要30個(gè)字節(jié)的存儲(chǔ)單元。32K外部數(shù)據(jù)存儲(chǔ)器中的0300H7FFFH為測(cè)試數(shù)據(jù)存儲(chǔ)

12、區(qū),共計(jì)32000個(gè)字節(jié),最多可以存儲(chǔ)1066條記錄。如果每隔lO分鐘存儲(chǔ)一條記錄,則一天需要存儲(chǔ)144條記錄。擴(kuò)展32K數(shù)據(jù)存儲(chǔ)器可以存儲(chǔ)7天的數(shù)據(jù)。完全可以滿足本控制系統(tǒng)的需要。4. 能夠根據(jù)季節(jié)、地區(qū)和作物的不同,設(shè)置不同的控制參數(shù)。操作人員可以根據(jù)不同的季節(jié)、地區(qū)和作物,來(lái)設(shè)置不同的環(huán)境控制參數(shù),以滿足不同的需要達(dá)到最佳效益。5. 自動(dòng)調(diào)節(jié)溫室內(nèi)的環(huán)境參數(shù)。當(dāng)強(qiáng)電柜的轉(zhuǎn)換開關(guān)都放在“自動(dòng)”檔位時(shí),控制系統(tǒng)能夠完全自動(dòng)的控制溫室內(nèi)溫度調(diào)節(jié)機(jī)構(gòu),將溫室內(nèi)溫度調(diào)節(jié)到操作人員設(shè)定的參數(shù)值附近。1.3 控制系統(tǒng)總體設(shè)計(jì)系統(tǒng)原理框圖如圖1所示,溫室溫度自動(dòng)控制系統(tǒng)總體電路圖見附錄一。本系統(tǒng)由單片機(jī)

13、系統(tǒng)模塊、溫度采集模塊、WP型溫室加熱器、降溫模塊、按鍵以及顯示模塊六個(gè)部分組成。通過(guò)按鍵設(shè)定溫度值,設(shè)定的溫度值和采集的溫度值都可以通過(guò)LED數(shù)碼管顯示。當(dāng)所設(shè)定的溫度值比采集的溫度大時(shí),通過(guò)加熱器加熱,以達(dá)到設(shè)定值;反之,開啟降溫風(fēng)扇,以快速達(dá)到降溫效果。該系統(tǒng)對(duì)溫度的控制范圍在2030,溫度控制的誤差小于等于0.5。通過(guò)使用該系統(tǒng),對(duì)蔬菜大棚內(nèi)的溫度進(jìn)行有效、可靠地檢測(cè)與控制,保證大棚內(nèi)作物在最佳的溫度條件下生長(zhǎng),提高質(zhì)量和產(chǎn)量。AT89C51控制系統(tǒng) 溫度采集鍵盤掃描 WP型溫室加熱器降溫模塊顯示圖1系統(tǒng)原理框圖第2章 溫室控制系統(tǒng)硬件設(shè)計(jì)該系統(tǒng)分為六個(gè)模塊,分別是單片機(jī)系統(tǒng)模塊、溫度

14、采集模塊、顯示模塊、鍵盤掃描模塊、加熱模塊和降溫模塊。現(xiàn)分別介紹如下:2. 1 基于AT89C51的單片機(jī)系統(tǒng)本系統(tǒng)采用Atmel公司所生產(chǎn)的MCS51系列中的AT89C51單片機(jī)4。主芯片的功能:AT89C51單片機(jī)系統(tǒng)如圖2所示:圖2 單片機(jī)系統(tǒng)這個(gè)系統(tǒng)由兩部分組成,現(xiàn)介紹如下:AT89C51的內(nèi)容:2.1.1 時(shí)鐘脈沖AT89C51內(nèi)部已具備振蕩電路,只要在接地引腳上面的兩個(gè)引腳(即19、18腳)連接簡(jiǎn)單的石英晶體即可。AT89C51的時(shí)鐘頻率為12MHz。2.1.2 復(fù)位電路 AT89C51的復(fù)位引腳(Reset)5為第9腳,當(dāng)此引腳連接高電平超過(guò)2個(gè)機(jī)器周期(一個(gè)機(jī)器周期為6個(gè)時(shí)鐘脈

15、沖),即可產(chǎn)生復(fù)位的動(dòng)作。以12MHz的時(shí)鐘脈沖為例,每個(gè)時(shí)鐘脈沖1us,兩個(gè)機(jī)器周期為12us,因此,在第9腳上連接一個(gè)12us以上的高電平脈沖,即可產(chǎn)生復(fù)位的動(dòng)作。對(duì)于上電復(fù)位,復(fù)位引腳上串接了一個(gè)電容,當(dāng)復(fù)位引腳接 +5伏電壓時(shí),電容相當(dāng)于短路,經(jīng)過(guò)一段時(shí)間(在這段時(shí)間內(nèi)完成復(fù)位)后,電容處于充電狀態(tài),相當(dāng)于斷開。還有一種是手動(dòng)復(fù)位,它的接法是在AT89C51復(fù)位引腳所串連的電容上并聯(lián)接一個(gè)按鈕開關(guān)。當(dāng)按鈕沒(méi)按下時(shí),電容處于充電狀態(tài);當(dāng)按鈕按下時(shí),電容對(duì)復(fù)位引腳放電,從而在這個(gè)引腳上產(chǎn)生高電平,達(dá)到復(fù)位的目的。2.2溫度采集模塊 本系統(tǒng)的溫度采集和轉(zhuǎn)換電路原理圖如圖3所示,它的工作過(guò)程為

16、:系統(tǒng)通過(guò)AD5906采集外界的溫度參數(shù),并通過(guò)三個(gè)放大器的作用將溫度轉(zhuǎn)化為電流模擬量;此模擬量通過(guò)ADC08047的轉(zhuǎn)化變成數(shù)字量,以便單片機(jī)辨認(rèn)接收。圖3 AD590溫度傳感器工作的系統(tǒng)結(jié)構(gòu)電路圖根據(jù)電路圖,說(shuō)明各個(gè)器件的功能如下:溫度傳感器AD590的功能:如上圖3所示:OPA1:以0為標(biāo)準(zhǔn),調(diào)節(jié)可變電阻R10使其輸出電壓為2.73伏特。OPA2:減2.73伏特,并反相。OPA3:放大5倍并反相。例如:AD590輸出電壓為1.5伏特,則其溫度為:1.5/5(OPA3)+2.732(OPA2=3.032伏特;3.032/10K=303.2微安培;303.2-273.2=30微安培30。注意

17、:ADC0804的VREF=2.56V。表1 各溫度與3個(gè)OPA及ADC0804的輸入與輸出關(guān)系溫度值OPA1OPA2OPA3ADC VINADC輸出值02.732V0V0V0V00H102.832V-0.1V0.5V0.5V19H202.932V-0.2V1V1V32H303.032V-0.3V1.5V1.5V4BH403.132V-0.4V2V2V64H503.232V-0.5V2.5V2.5V7DH603.332V-0.6V3V3V96H703.432V-0.7V3.5V3.5VAFH803.532V-0.8V4V4VC8H903.632V-0.9V4.5V4.5VE1H1003.732

18、V-1V5V5VFAH2.2.1 AD轉(zhuǎn)換器ADC0804的功能圖4 ADC0804(1)如圖4所示,所謂A/D轉(zhuǎn)換器就是模擬/數(shù)字轉(zhuǎn)換器,是將輸入的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)。信號(hào)輸入端的信號(hào)可以是傳感器或是轉(zhuǎn)換器的輸出,而ADC輸出的數(shù)字信號(hào)可以提供給微處理器,以便更廣泛地應(yīng)用。(2)ADC0804電壓輸入與數(shù)字輸出關(guān)系如下表2所示:表2 ADC0804電壓輸入與數(shù)字輸出關(guān)系十六進(jìn)制二進(jìn)制碼 二與滿刻度的比率相對(duì)電壓值VREF=2.56伏高四位字節(jié)低四位字節(jié)高四位字節(jié)電壓低四位字節(jié)電壓F111115/1615/2564.8000.300E111014/1614/2564.4800.280D11

19、0113/1613/2564.0600.260C110012/1612/2563.8400.240B101111/1611/2563.5200.220A101010/1610/2563.2000.200910019/169/2562.8800.180810008/168/2562.5600.160701117/167/2562.2400.140601106/166/2561.9200.120501015/165/2561.6000.100401004/164/2561.2800.080300113/163/2560.9600.060200102/162/2560.6400.040100011/

20、161/2560.3200.0200000000例如:VIN=3V,由上表可知2.880+0.120=3V,為10010110B=96H。(3)AD590產(chǎn)生的電流與絕對(duì)溫度成正比,它可接收的工作電壓為4V30V,檢測(cè)的溫度范圍為-55+150,它有非常好的線性輸出性能,溫度每增加1,其電流增加1微安培。當(dāng)攝氏溫度為0時(shí),AD590的電流為273.2微安培,經(jīng)10千歐姆電阻后其電壓為2.732伏特。余者依上述方法類推。(4)利用AD590以及接口電路把溫度轉(zhuǎn)換成模擬電壓,經(jīng)由ADC0804轉(zhuǎn)換成數(shù)字信號(hào)后傳送給AT89C51處理。(5)溫度采集和AD590溫度傳感器工作的系統(tǒng)結(jié)構(gòu)電路圖為圖3.

21、2。2.3 顯示模塊譯碼IC及溫度顯示的電路圖如圖5所示。顯示部分的工作原理是,它將溫度轉(zhuǎn)換的數(shù)字量,即溫度值,經(jīng)由AT89C51的P1口由兩個(gè)譯碼IC輸出并分別送入兩個(gè)七段數(shù)碼管顯示8,這兩個(gè)LED都是共陽(yáng)極的。圖5 譯碼IC及溫度顯示2.3.1 譯碼IC 7447BCD碼轉(zhuǎn)換成7段LED數(shù)碼管的譯碼驅(qū)動(dòng)IC,如圖6所示,首推7447系列,包括7446、7449、74LS499。其中的7446及7447輸出低電平驅(qū)動(dòng)的顯示碼,用以推動(dòng)共陽(yáng)極7段LED數(shù)碼管;而7448及74LS49輸出高電平驅(qū)動(dòng)顯示碼,用以推動(dòng)共陰極7段LED數(shù)碼管,7446、7447與7448的引腳相同(雙并排16pins

22、)。7447引腳說(shuō)明:1、D、C、B、A:BCD碼輸入引腳。2、a、b、c、g:7段數(shù)碼管輸出引腳。3、/LT:本引腳為測(cè)試引腳,當(dāng)接高電平時(shí),所連接的7段LED數(shù)碼管全亮。正常顯示下應(yīng)接低電平。4、/RBI:本引腳為漣波淹沒(méi)輸入引腳,正常顯示下應(yīng)接低電平。5、/BI和/RBO:本引腳為淹沒(méi)輸入或漣波淹沒(méi)輸出引腳,正常顯示下應(yīng)接低電平。圖6 譯碼IC 74472.3.2 七段LED數(shù)碼管7段LED數(shù)碼管是利用7個(gè)LED組合而成的顯示設(shè)備,可以顯示0到9共10個(gè)數(shù)字。當(dāng)要顯示多個(gè)數(shù)碼管,可分別驅(qū)動(dòng)每個(gè)數(shù)碼管;當(dāng)要利用人類的視覺(jué)暫留現(xiàn)象,則可以采用快速掃描的方式,只要一組驅(qū)動(dòng)電路即可達(dá)到顯示多個(gè)數(shù)

23、碼管的目的。一般來(lái)說(shuō),7段LED數(shù)碼管可分為共陽(yáng)極和共陰極兩種,共陽(yáng)極就是把所有LED的陽(yáng)極連接到共同的接點(diǎn)com,而每個(gè)LED的陰極分別為a、b、c、d、e、f、g及dp(小數(shù)點(diǎn));同樣的,共陰極就是把所有LED的陰極連接到共同的接點(diǎn)com,而每個(gè)LED的陽(yáng)極分別為a、b、c、d、e、f、g及dp(小數(shù)點(diǎn))。2.4 鍵盤掃描圖7是鍵盤掃描的電路圖,其中7492210是鍵盤掃描IC。鍵盤掃描電路的原理是,將鍵盤接在一個(gè)鍵盤掃描IC 74922上,當(dāng)在鍵盤上按下鍵時(shí),相關(guān)的鍵碼將通過(guò)74922的A、B、C、D口線傳遞給AT89C51單片機(jī)。圖7鍵盤掃描電路2.4.1 鍵盤本鍵盤采用電話式鍵盤,其

24、結(jié)構(gòu)如圖8所示。鍵盤是接在鍵盤掃描IC 74922(上圖7所示)上面的,鍵盤的輸入通過(guò)74922的X1X4和Y1Y4輸入。 X1 X2 X3Y1123456789*0# Y2 Y3 Y4 圖8 電話式鍵盤但鑒于鍵盤掃描IC為4*4形式,以下鍵盤編碼每行后面都有0FFH,以配合硬件使用。按鍵及分別對(duì)應(yīng)的鍵盤編碼如表3所示:表3 鍵盤編碼按鍵123456對(duì)應(yīng)編碼01H02H03H04H05H06H按鍵789*0#對(duì)應(yīng)編碼07H08H09H0AH00HOBH2.4.2 鍵盤掃描芯片鍵盤掃描芯片74922的圖形如圖7所示。鍵盤掃描IC 74922的工作過(guò)程是這樣的:X1X4接鍵盤的行,Y1Y4接鍵盤的

25、列,按鍵信息由這幾個(gè)口輸入,由A、B、C、D四個(gè)口輸出到P3口的低四位,再通過(guò)P1口經(jīng)過(guò)譯碼IC顯示在LED上。鍵盤掃描芯片不斷查詢是否有按鍵輸入,當(dāng)查詢到有按鍵時(shí),DA置1,同時(shí)執(zhí)行相應(yīng)的程序,比較溫度是否超出上、下限,進(jìn)而決定是加熱還是降溫。第3章 軟件設(shè)計(jì)本系統(tǒng)的工作流程是,操作人員可以從鍵盤上輸入要設(shè)定的溫度值。當(dāng)此溫度值與當(dāng)前溫度不同時(shí),單片機(jī)控制系統(tǒng)采取調(diào)節(jié)的動(dòng)作。當(dāng)設(shè)定溫度大于測(cè)定溫度時(shí),則使加熱器工作;當(dāng)設(shè)定溫度小于測(cè)定溫度時(shí),則開啟降溫風(fēng)扇。此程序流程包括4個(gè)部分。第一部分是主程序,它描述的是程序的總體結(jié)構(gòu);第二部分是定時(shí)器T0的描述,它的功能是將實(shí)際溫度和設(shè)定的溫度比較,再

26、作出相應(yīng)的動(dòng)作;第三部分是鍵盤掃描部分;第四部分是顯示部分,用于顯示溫度值(系統(tǒng)總程序見附錄2)。3.1 主程序主程序流程圖如圖9所示:YN按鍵程序顯示A/D轉(zhuǎn)換完成否?判斷有無(wú)按鍵?A/D轉(zhuǎn)換系統(tǒng)初始化開始NY圖9 主程序流程圖本溫度控制系統(tǒng)的主程序流程圖,溫度控制系統(tǒng)采用溫度傳感器AD590采集溫度數(shù)據(jù),再由ADC0804模數(shù)轉(zhuǎn)換器將溫度轉(zhuǎn)化為單片機(jī)可以處理的數(shù)據(jù)。本系統(tǒng)將溫度總體控制在20到30之間,并且可以通過(guò)鍵盤輸入要設(shè)定的溫度值,并通過(guò)7段數(shù)碼管顯示出來(lái)。在整個(gè)系統(tǒng)的運(yùn)行期間,有一個(gè)定時(shí)器T0中斷每隔20ms掃描一次,用于當(dāng)前溫度與設(shè)定溫度的比較,然后發(fā)出加溫或降溫的命令。程序代碼

27、如下:ORG 00H JMP START ORG 0BH JMP TIM0 ;定時(shí)器T0中斷子程序START: MOV TMOD,#01H ;選擇TIMER0,MODE1 MOV TH0,#60 MOV TL0,#76 SETB TR0 ;啟動(dòng)定時(shí)器T0 MOV IE,#82H MOV R4,#09H ;(30H)-(38H)寄存器 MOV R0,#30HCLEAR: MOV R0,#00H ;清除RAM(30H)-(38H) DJNZ R4,CLEAR MOV A,#00H MOV DPTR,#TABLE1 MOVC A,A+DPTR MOV 34H,A ;(34H)為上限溫度-30度 MO

28、V A,#01H MOV DPTR,#TABLE1 MOVC A,A+DPTR MOV 35H,A ;(35H)為下限溫度-20度 MOV 36H,#0FFH ;(36H)為存儲(chǔ)的舊溫度值START0: MOVX R0,A ; /WR=0,ADC0804開始轉(zhuǎn)換WAIT: JB P3.4,KEYIN ; P3.4=1表示有按鍵,轉(zhuǎn)往按鍵子程序 JB P2.0,ADC ;檢測(cè)ADC0804轉(zhuǎn)換完成否?P2.0=1,; 則完成 JMP WAITADC: MOVX A,R0 ;將轉(zhuǎn)換好的數(shù)據(jù)送入累加器 MOV 37H,A ;溫度的比較。將現(xiàn)溫度值存入37H CLR C SUBB A,36H ;現(xiàn)溫度

29、值減去舊溫度寄存器的值 JC TDOWNTUP: MOV A,37H ;將現(xiàn)溫度值存入A CLR C SUBB A,34H ;與上限溫度作比較 JNC POFF ;C=0表示比上限溫度大,必須停止加熱 JMP LOOPPON: CLR P2.1 JMP START0POFF: SETB P2.1 ;繼電器不動(dòng)作,即停止加熱 JMP LOOPTDOWN: MOV A,37H ;將現(xiàn)溫度值存入A CLR C SUBB A,35H ;與下限溫度作比較 JC PON ;C=1表示比下限溫度小,須加熱 JMP LOOPLOOP: MOV 36H,37H ;將現(xiàn)溫度值存入36H中 CLR A MOV R4

30、,#0FFH ;延遲 DJNZ R4,$ CALL L1 ;二-十進(jìn)制轉(zhuǎn)換程序 MOV 21H,#10H ;顯示延遲 NOV R1,#30HDISP1: CALL DISP ;溫度值的顯示 DJNZ 21H,DISP1 JMP START03.2 定時(shí)器T0中斷定時(shí)器T0中斷的工作流程如圖10所示。當(dāng)定時(shí)器T0發(fā)生中斷時(shí),就將按鍵輸入的設(shè)定的溫度值與當(dāng)前的溫度值比較。當(dāng)輸入的溫度值大于當(dāng)前測(cè)定的溫度值,單片機(jī)就控制加熱器加熱;當(dāng)設(shè)定的溫度值小于當(dāng)前測(cè)定的溫度值,就開啟降溫風(fēng)扇。定位裝入初值比較的十位相同?比較的個(gè)位相同?開啟降溫風(fēng)扇返回加熱器工作設(shè)定溫度測(cè)定溫度?加熱器停止工作YNYNNY圖1

31、0 定時(shí)器T0中斷子程序程序代碼如下:TIM0: PUSH ACC PUSH PSW MOV TH0,#60 ;重設(shè)中斷時(shí)間 MOV TL0,#76 MOV A,33H CJNE A,31H,T ;設(shè)定溫度的十位是否等于所 ;測(cè)溫度的十位數(shù) MOV A,32H CJNE A,30H,T ;設(shè)定溫度的個(gè)位是否等于所 ;測(cè)溫度的個(gè)位數(shù) JMP OFF ;個(gè)位相等,則令加熱器停止加熱T: JC OFF ;設(shè)定溫度小于現(xiàn)在溫度,停止加熱 CLR P2.1 ;否則加熱RETURN: POP PSW POP ACC RETIOFF: SETB P2.1 ;停止加熱 JMP RETURNDELAY: MOV

32、 R7,#06 ;顯示器掃描時(shí)間D1: MOV R6,#248 DJNZ R6,$ DJNZ R7,D1 RET3.3 顯示模塊顯示子程序流程圖如圖11所示:(說(shuō)明:30H用于暫時(shí)存放要顯示溫度的高四位,31H用于暫時(shí)存放要顯示溫度的低四位,38H用于存放最終要顯示在7段數(shù)碼管上的溫度值;D1、D2分別表示兩個(gè)7段數(shù)碼管的存儲(chǔ)地址。)取(30H)高四位為D1取(31H)低四位為D2返回將(38H)的值送P1將(30H)、(31H)合成為(38H)延時(shí)DISP圖11 顯示子程序 系統(tǒng)提供溫度的顯示功能,將溫度用兩個(gè)7段數(shù)碼管顯示出來(lái)。程序如下:DISP: MOV A,R1 ANL A,#0F0H

33、 ;D1值:取(30H)高4位 SWAP A MOV 38H,A INC R1 MOV A,R1 ANL A,#0FH ;D2值:取(31H)低4位 SWAP AORL A,38H ;D1,D2合成為8位 MOV P1,A ;送給7段數(shù)碼管顯示 CALL DELAY ;掃描延遲 RET3.4 按鍵掃描按鍵掃描子程序流程圖如圖12所示:按鍵是“*”?YYNN有新的按鍵?是“*”?是“#”?顯示NNYY按鍵 圖12 按鍵子程序?qū)㈡I盤接在一個(gè)鍵盤掃描IC 74922上,所按鍵將被此芯片處理后傳送給單片機(jī)處理。工作流程如圖12所示。如果要設(shè)定新的溫度值,操作流程為:按“*”要設(shè)定的溫度值按“*”,這樣

34、就完成了溫度的設(shè)定。程序代碼如下:KEYIN: JB P3.4,$ ;有按鍵,放開否?MOV A,P3 ;是則讀74922的按鍵值 ANL A,#0FH ;取有效的低4位 MOV DPTR,#TABLE ;至TABLE取鍵盤轉(zhuǎn)換碼 MOVC A,A+DPTR XRL A,#0AH ;是否按“*”? JNZ START0 ;不是,回到現(xiàn)在溫度模式 JB P3.4,KEYIN1 ;有新的按鍵否? MOV R1,#32H ;無(wú),設(shè)定溫度顯示地址 CALL DISP ;顯示設(shè)定溫度地址中的值 MOV R5,4FH ;幾秒鐘后無(wú)按鍵則自動(dòng)解除 ;設(shè)定溫度模式D4: MOV R7,#0FFHD3: MOV

35、 R6,#0FFHD2: JB P3.4,KEYIN1 DJNZ R6,D2 DJNZ R7,D3 DJNZ R5,D4 JMP START0KEYIN1: JB P3.4,$ ;按鍵放開否? MOV A,P3 ;放開則讀74922鍵盤值 ANL A,#0FH MOV DPTR,#TABLE MOVC A,A+DPTR MOV 20H,A ;按鍵值存入(20H) XRL A,#0AH ;是否按“*”? JZ X1 ;是,則溫度設(shè)定完成 MOV A,20H XRL A,#0BH ;#未設(shè)定鍵 JZ WAIT1 MOV A,20H ;不是*、#,則為數(shù)字鍵 XCH A,32H ;按鍵值存入(32H

36、),(33H) XCH A附 錄附錄1系統(tǒng)電路圖附錄2 源程序代碼程序要完成的功能是將總體溫度控制在2030之間,在這個(gè)范圍內(nèi),可以設(shè)定任一溫度值,并使之達(dá)到恒溫效果;如果超出這個(gè)范圍,則程序自動(dòng)控制繼電器工作使溫度穩(wěn)定在這個(gè)范圍之間。程序中各寄存器說(shuō)明如下:30H、31H:所測(cè)得的實(shí)際溫度32H、33H:鍵盤設(shè)定的溫度34H:系統(tǒng)的上限溫度值(30)35H:系統(tǒng)的下限溫度值(20)36H:舊溫度值的存放地址源程序如下:ORG 00H JMP START ORG 0BH JMP TIM0START: MOV TMOD,#01H ;選擇TIMER0,MODE1 MOV TH0,#60 MOV T

37、L0,#76 SETB TR0 ;啟動(dòng)定時(shí)器T0 MOV IE,#82H MOV R4,#09H;(30H)-(38H) MOV R0,#30HCLEAR: MOV R0,#00H ;清除RAM(30H)-(38H) DJNZ R4,CLEAR MOV A,#00H MOV DPTR,#TABLE1 MOVC A,A+DPTR MOV 34H,A ;(34H)為上限溫度:30度 MOV A,#01H MOV DPTR,#TABLE1 MOVC A,A+DPTR MOV 35H,A ;(35H)為下限溫度:20度 MOV 36H,#0FFH ;(36H)為存儲(chǔ)的舊溫度值START0: MOVX

38、R0,A ;令A(yù)DC0804開始轉(zhuǎn)換/WR=0WAIT: JB P3.4,KEYIN ;有按鍵否?按“*”才有效。P3.4=1表;示有按鍵 JB P2.0,ADC ;檢測(cè)ADC0804轉(zhuǎn)換完成否?P2.0=1,; 則完成 JMP WAITADC: MOVX A,R0 ;將轉(zhuǎn)換好的數(shù)據(jù)送入累加器 MOV 37H,A ;將現(xiàn)溫度值存入37H CLR C SUBB A,36H ;現(xiàn)溫度值減去舊溫度寄存器的值 JC TDOWNTUP: MOV A,37H ;將現(xiàn)溫度值存入A CLR C SUBB A,34H ;與上限溫度作比較 JNC POFF ;C=0表示比上限溫度大,必須停止加熱 JMP LOOP

39、PON: CLR P2.1 JMP START0POFF: SETB P2.1 ;繼電器不動(dòng)作,即停止加熱 JMP LOOPTDOWN: MOV A,37H ;將現(xiàn)溫度值存入A CLR C SUBB A,35H ;與下限溫度作比較 JC PON ;C=1表示比下限溫度小,須加熱 JMP LOOPLOOP: MOV 36H,37H ;將現(xiàn)溫度值存入36H中 CLR A MOV R4,#0FFH ;延遲 DJNZ R4,$ CALL L1 ;調(diào)用二-十進(jìn)制轉(zhuǎn)換程序 MOV 21H,#10H ;顯示延遲 NOV R1,#30HDISP1: CALL DISP DJNZ 21H,DISP1 JMP START0L1: CLR C MOV 30H,#00H ;十進(jìn)制轉(zhuǎn)換的低位寄存器 MOV 31H,#00H ;十進(jìn)制轉(zhuǎn)換的高位寄存器 MOV R3,#08H ;調(diào)整的次數(shù)NEXT: RLC A ;將取入值轉(zhuǎn)換為十進(jìn)制 MOV R2,A MOV A,30H ADDC A,30H ;(30H)*2+CY DA A ;作十進(jìn)制的調(diào)整 MOV 30H,A ;結(jié)果存回(30H) MOV A,31H ADDC A,31H DA A MOV 31H,A MOV A,R2 DJNZ R3,NEXTL2: MOV A,30H ;(30H)*2 ADD A,30H DA A MOV 30H,A MO

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論