版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1引言1.1課題背景及意義當今時代,是一個信息化告訴發(fā)展的時代。科學(xué)技術(shù)的發(fā)展速度越來越快,各種新技術(shù)層出不窮,被廣泛的運用在各個方面。其中農(nóng)業(yè)就是一個重要的應(yīng)用領(lǐng)域。新技術(shù)的出現(xiàn)為農(nóng)業(yè)的發(fā)展帶來了新的動力,讓農(nóng)產(chǎn)品的產(chǎn)量得到增加的同時使用了更少的人力,使生產(chǎn)效率越來越高。在一些地區(qū),溫室大棚得到了廣泛的應(yīng)用,使人們能夠吃到許多原本在當前季節(jié)吃不到的水果與蔬菜。但是,溫室大棚技術(shù)在當前時代的發(fā)展水平還不夠充足,現(xiàn)今的溫室大棚基本為拱形結(jié)構(gòu),外部為薄膜等透光性較好的材料,這樣做使得農(nóng)作物能夠獲得較為充足的太陽光,有利于農(nóng)產(chǎn)品的生長。但是溫度卻得不到有效的控制,使得大棚內(nèi)的溫度或高或低,不利于蔬菜
2、或水果的發(fā)育和有機物的積累,造成的結(jié)果就是大棚內(nèi)的產(chǎn)物產(chǎn)量不高,從而使得市場上的價格偏高,不能讓大棚內(nèi)的食品成為每個人都有能力食用的產(chǎn)品,讓人們不在期盼與嘗試,這對于大棚農(nóng)業(yè)的發(fā)展有百害而無一利。為了解決這個不可避免的問題,本設(shè)計使用51單片機進行大棚內(nèi)的溫度控制,通過檢測大棚內(nèi)的溫度實時調(diào)節(jié)以保持最佳溫度,讓大棚里的作物得到最好的生長環(huán)境,從而使得產(chǎn)量能夠增加。使用51單片機主要是由于當前單片機的發(fā)展與廣泛使用,讓單片機的價格不斷下降,從而使用戶得到最高的性價比。1.2單片機在農(nóng)業(yè)生產(chǎn)自動化中的應(yīng)用現(xiàn)狀由于人口增長、資源短缺和環(huán)境變化,經(jīng)濟發(fā)達國家和一些發(fā)展中國家都在研究21世紀農(nóng)業(yè)可持續(xù)發(fā)
3、展的問題。將各種現(xiàn)代化高新技術(shù)應(yīng)用于農(nóng)業(yè)生產(chǎn),在有限的自然條件下,通過人工建造的設(shè)施控制環(huán)境,提高農(nóng)業(yè)自動化水平,于是產(chǎn)生了設(shè)施農(nóng)業(yè),這些設(shè)施大部分都是通過單片機進行控制的。設(shè)施農(nóng)業(yè)就是通過采用現(xiàn)代農(nóng)業(yè)技術(shù),改變自然環(huán)境,為種植業(yè)、養(yǎng)殖業(yè)以及產(chǎn)品的儲藏保鮮等提供適當?shù)沫h(huán)境條件,而在一定程度上擺脫對自然環(huán)境的依賴進行有效生產(chǎn)的農(nóng)業(yè)。設(shè)施農(nóng)業(yè)以其技術(shù)含量高、品質(zhì)高、效益高和集約化等優(yōu)點,在國外發(fā)達國家得到了快速發(fā)展。國外發(fā)達國家一直致力于把自動控制技術(shù)應(yīng)用于設(shè)施農(nóng)業(yè)中,即將自動化技術(shù)應(yīng)用于農(nóng)作物的耕種、施肥、灌溉、防治病蟲害、收貨的全過程,畜禽水產(chǎn)品等飼養(yǎng)全過程,以及農(nóng)產(chǎn)品的加工、儲藏和保鮮的全過
4、程。隨著農(nóng)業(yè)自動化的發(fā)展,發(fā)達國家的設(shè)施農(nóng)業(yè)已經(jīng)形成設(shè)施技術(shù)完備、生產(chǎn)規(guī)范、質(zhì)量保證性強的特點,并向高度自動化、智能化方向發(fā)展,成為推動現(xiàn)代農(nóng)業(yè)發(fā)展的重要方面。目前,設(shè)施農(nóng)業(yè)比較發(fā)達的國家有荷蘭、以色列、美國和日本。農(nóng)業(yè)設(shè)施自動化的基本特征就是以農(nóng)業(yè)自動化設(shè)施代替人的勞作,完成農(nóng)業(yè)生產(chǎn)的部分或全部作業(yè)。建立在以計算機技術(shù)、自動傳感和控制技術(shù)基礎(chǔ)上的農(nóng)業(yè)自動化技術(shù)在設(shè)施農(nóng)業(yè)中的應(yīng)用主要體現(xiàn)在:節(jié)水灌溉作業(yè)的自動控制、農(nóng)業(yè)溫室的自動控制、果實收獲作業(yè)的自動控制、農(nóng)產(chǎn)品加工的自動控制和農(nóng)業(yè)生產(chǎn)工廠化等方面。1.3本文結(jié)構(gòu)本文一共分為6章,包含了從背景、設(shè)計、開發(fā),結(jié)論等各個方面,比較系統(tǒng)的介紹了基于
5、51單片機的溫度控制系統(tǒng)。本文的具體結(jié)構(gòu)如下:第一章為引言,重點介紹了當前大棚技術(shù)的發(fā)展,以及單片機技術(shù)在農(nóng)業(yè)生產(chǎn)中的應(yīng)用,給出了本設(shè)計的設(shè)計目的。第二章為主要器件的應(yīng)用介紹,針對本設(shè)計,給出了所使用的一系列器件的基本介紹,告訴了讀者這些器件的特性,以及使用這些器件的原因。第三章為系統(tǒng)的總體設(shè)計,給出了總體設(shè)計的流程圖,介紹了設(shè)計的思路,給出了系統(tǒng)的組成與各組成的具體功能。第四章為硬件設(shè)計,介紹了使用的各器件的具體內(nèi)部電路第五章為軟件設(shè)計,給出了相關(guān)代碼,并對軟件實現(xiàn)的過程進行了簡單的解釋第六章為總結(jié),主要是對本設(shè)計的一個歸納,介紹了本設(shè)計的特點與不足,以及對未來此設(shè)計的一個發(fā)展規(guī)劃。2 主要
6、應(yīng)用器件介紹2.1溫度傳感器DS18B20DS18B20溫度傳感器是當前最常用的一種溫度傳感器,它的有效位數(shù)為9位,能夠滿足大部分的使用場合。它使用方便,僅需一條線就能正常的讀指令、寫指令、轉(zhuǎn)換溫度,不需要電池等外部供電設(shè)備,讓它的適應(yīng)范圍得到了最大程度的體現(xiàn)。同時,由于如今的產(chǎn)量較高,DS18B20的價格比較低廉,使用起來性價比較高,不會承擔太多的經(jīng)濟壓力。并且它能夠在各種惡劣的環(huán)境下完成溫度的識別,它可以測量從-55攝氏度到125攝氏度范圍內(nèi)的溫度,范圍比較廣泛。雖然誤差較大,有0.5,但是應(yīng)用在大棚技術(shù)上精度已經(jīng)足夠,所以是最適合的一款溫度傳感器。圖2-1DS18B20的引腳排列Figu
7、re 2-1 pin arrangement of DS18B20DS18B20的溫度轉(zhuǎn)換速度較快,這就為實時控制溫度提供了可能,他可以在一秒內(nèi)將溫度變?yōu)閿?shù)字,也就是說可以該系統(tǒng)的延時不會超過2秒,這遠遠超過了大棚技術(shù)的要求。同時一條總線上還可以使用多個傳感器,這就可以分類控制,讓大棚內(nèi)的作物不必要只有一種,可以一種作物設(shè)定一種溫度,為農(nóng)業(yè)生產(chǎn)提供了最大的靈活性,同時也不會出現(xiàn)生產(chǎn)過剩的問題,讓農(nóng)民可以合理種植,合理搭配種植的數(shù)量與種類。2.2步進電機步進電機在大棚溫控系統(tǒng)中是相當重要的一個部分,是溫控系統(tǒng)的執(zhí)行器,溫度的實時控制全程需要步進電機的模擬,它在大部分領(lǐng)域都有極其重要的應(yīng)用。其中,
8、自動化領(lǐng)域是步進電機的主要使用領(lǐng)域,尤其是在微電子和計算機技術(shù)飛速發(fā)展的先進,步進電機在自動化控制領(lǐng)域的使用越來越普遍。步進電機的工作原理也相當容易理解,主要就是將接收到的電脈沖轉(zhuǎn)化為角位移。通俗來說,就是步進電機一開始處于等待狀態(tài),之后,脈沖信號開始到來,每當接收一個脈沖信號,步進電機就旋轉(zhuǎn)一個很小的角度,這個角度就叫做角位移。每種步進電機的角位移都不一樣,角位移越小,步進電機的精確程度越高,控制步進電機旋轉(zhuǎn)的角度的就越準確。想要旋轉(zhuǎn)固定的角度,只需要給它相應(yīng)數(shù)量的脈沖信號。例如,如果想轉(zhuǎn)動75度,角位移為7.5度,那么只需要給它10個脈沖就能完成。步進電機速度與加速度的改變也不復(fù)雜,主要是
9、通過控制脈沖的頻率來完成的,這些功能足以完成當前設(shè)計的模擬。同直流電機相比,雖然成本偏高,但是誤差卻大大降低,因此還被廣泛的應(yīng)用在各種開環(huán)控制中?,F(xiàn)在市場上的步進電機各種各樣,但比較常用的差不多4種,用戶可以根據(jù)自己的需求靈活選擇。永磁式步機電機的角位移較大,無法實現(xiàn)精準的控制。反應(yīng)式步進電機轉(zhuǎn)矩很大,角位移比與上一種相比較低,但噪音較大,不適合靜音裝置,在大型車間可以使用。混合式步進電機是上面兩種步進電機優(yōu)點的結(jié)合體,角位移很小,所有控制的精準度很高,而且噪音不大,適合靜音裝置的使用。正是因為優(yōu)點眾多,這種步進電機的使用比上面兩種更加廣泛,在這次大棚溫控系統(tǒng)中使用的就是這種步進電機。2.3
10、89c51單片機單片機簡稱MCU,學(xué)術(shù)名稱叫做微控制器。在大多數(shù)人眼里,單片機相當于一臺小型的計算機,因為二者的結(jié)構(gòu)相似。都是由5部分組成,包括運算器、控制器、存儲器、輸入設(shè)備、輸出設(shè)備。二者都可以外接許多設(shè)備,完成一些特定的功能。與計算機相比,他由于體積的關(guān)系,并沒有提供外圍設(shè)備,因此功能相對較少。但是隨著科學(xué)技術(shù)的飛速發(fā)展,自動化和智能設(shè)備日新月異的情況下,單片機的應(yīng)用也越來越廣泛,大到國家武器,小到家用家電都離不開單片機的使用。說的重要一點就是,沒有了單片機,就沒有如今自動化的發(fā)展。 單片機內(nèi)部存儲器和計算機內(nèi)部的存儲器大致類似,可分為兩種存儲器。一種為只讀存儲器(ROM),顧名思義就是
11、存儲器里的數(shù)據(jù)只能讀取,不能存儲,這種存儲器的靈活程度比較低,但是斷電后存儲器里面的內(nèi)容不會丟失。另一種為隨機存取存儲器(RAM),同上一種存儲器相比,這種存儲器既可以讀取,又可以存儲,靈活性大大加強,但與此同時,這種存儲器也有一個很大的缺點,斷電后存儲器里面的內(nèi)容會清空。也就是說碰上意外斷電的情況時,你的勞動成果可能會一去不回。存儲器中的數(shù)據(jù)用高低電平表示,通過不同的編碼規(guī)則確定獨一無二的數(shù)據(jù)。當你想要存儲某個數(shù)據(jù)時,只需要將數(shù)據(jù)用特定的0,1代碼表示出來,但是在個人電腦上,由于操作系統(tǒng)自動完成這種操作,所以不必需要記住如此復(fù)雜的編碼。AT89C51單片機內(nèi)部含有一個4k大小的而且用flas
12、h工藝制造的FPEROM和一個128字節(jié)大小RAM。 AT89C51是一種能耗比較高的單片機。因為它擁有8位的微處理器和用Flash工藝制造的存儲器,所以在控制領(lǐng)域游刃有余。它的具體組成如下:38個管腳,30個雙向端口,4個外部中斷接口,4個16位定時計數(shù)器,4個串行數(shù)據(jù)交流接口。因為它內(nèi)部有一個隨意修改的Flash存儲器,用戶可以盡情修改,達到高品質(zhì)、低成本的美好結(jié)果。圖2-2 單片機原理圖Figure 2-2 Singlechip schematic diagram2.4本章小結(jié)本部分介紹了設(shè)計所使用的器件,包括DS18B20溫度傳感器,步進電機,單片機等,為之后使用這些器件打下了基礎(chǔ)。3
13、 系統(tǒng)的總體設(shè)計3.1設(shè)計思路本次溫度設(shè)計以51單片機為控制部分,使用溫度傳感器DS18B20將大棚里面的溫度測量出來,將數(shù)據(jù)發(fā)送給單片機,經(jīng)過單片機處理和存儲后,比較現(xiàn)在的溫度與用戶所設(shè)置的溫度界限,如果測量到的溫度在設(shè)定的溫度以下,就通過數(shù)碼管顯示當前的溫度,如果不在設(shè)定的范圍內(nèi),就在顯示此溫度的同時自動改變當前的溫度。本系統(tǒng)的主要功能有能夠在數(shù)碼管上實時顯示當前溫度以方便用戶的讀??;并且設(shè)有溫室大棚的溫度限制,超出溫度范圍后可以自動調(diào)節(jié)溫室大棚的溫度,保持溫室大棚的正常溫度,使農(nóng)作物可以在最合適的溫度下生長。用戶可以在單片機上設(shè)定溫室大棚所需要的合適溫度,并且可以對系統(tǒng)運行的溫度進行及時
14、調(diào)整。圖3-1系統(tǒng)設(shè)計流程圖Figure 3-1 flow chart of system design3.2設(shè)計的功能及系統(tǒng)組成這次的大棚溫控系統(tǒng)主要由4部分組成:AT89C51單片機、溫度采集系統(tǒng),步進電機執(zhí)行系統(tǒng),顯示模塊。主要功能是實現(xiàn)在在溫室大棚中采集實時的溫度并將溫度顯示在靜態(tài)數(shù)碼管上,同時自動調(diào)節(jié)溫室大棚的溫度,使它始終保持在最適溫度范圍內(nèi)。AT89C51單片機:系統(tǒng)的主要控制中心,溫度傳感器采集到的數(shù)據(jù)需要存儲到單片機的存儲器中,并且在單片機的處理器進行數(shù)據(jù)的處理,同時編寫的程序也需要下載的單片機中才能實現(xiàn)設(shè)定的功能,比如溫度和轉(zhuǎn)速的修改等。溫度采集系統(tǒng):溫度的采集需要依賴溫度
15、傳感器,考慮到性價比、測量的溫度范圍以及編程的難度,這次使用的市面上最常見的溫度傳感器DS18B20。步進電機執(zhí)行系統(tǒng):步進電機執(zhí)行系統(tǒng)是系統(tǒng)組成的重要部分,是該設(shè)計的執(zhí)行部分,當溫度超出設(shè)定溫度時,步進電機開始旋轉(zhuǎn),以此模擬溫控設(shè)備進行降溫;并且溫度越高,通過使步進電機的轉(zhuǎn)速加快來模擬降溫程度更大,以達到實時控制溫室大棚溫度的目的。顯示模塊:通過靜態(tài)數(shù)碼管顯示當前溫度,使用戶在知道當前溫度的前提下合理的設(shè)置所需要的合適溫度。3.3本章小結(jié)這部分介紹了本設(shè)計的總體設(shè)計思路,給出了設(shè)計的流程圖以及設(shè)計的主要思想。最后給出了一部分的實驗方法。4系統(tǒng)硬件組成及硬件設(shè)計4.1溫度采集系統(tǒng)溫度采集是大棚
16、溫控系統(tǒng)中負責采集溫度信息的一個模塊,在這個系統(tǒng)中,選用的是DS18B20溫度傳感器,支持多點測溫;同時不需外部電源,所需電源只需數(shù)據(jù)線就能提供。初始化操作:首先將總線電平置零480到960微秒之間,然后將電平設(shè)置為1,在15到60微秒之間,溫度傳感器會做出反應(yīng)。如果此時電平為1,初始化成功,反之則失敗。讀字節(jié)操作:首先將總線電平拉低1微秒,然后拉高,等待6微秒后讀取數(shù)據(jù),讀取完一個數(shù)之后過48微秒在接著讀取下一個數(shù)。寫字節(jié)操作:首先將總線電平拉低1微秒。然后寫入數(shù)據(jù),延時等待不得少于60微秒,之后將總線電平拉高,過1微秒之后重復(fù)上述操作寫入第二個數(shù)據(jù)。4.2步進電機執(zhí)行系統(tǒng)步進電機執(zhí)行系統(tǒng)是
17、系統(tǒng)的執(zhí)行部分,通過步進電機的轉(zhuǎn)速變化來模擬溫控設(shè)備對大棚溫度的改變。步進電機的IC型號為UDN2916LB,UDN2916LB能夠驅(qū)動雙繞組雙極步進電機。試用的電機電壓范圍是10V-45V,邏輯電源電壓不超過7V;通過內(nèi)部脈寬調(diào)制控制器(PWM)實現(xiàn)750mA的輸出電流。每個PWM控制器由一組電橋、一個感應(yīng)電阻、一個內(nèi)部比較器和一個單穩(wěn)多諧振蕩器組成,來獨立感應(yīng)和控制輸出電流。圖4-1步進電機原理圖Figure4-1 Schematic diagram of stepping motor4.3顯示模塊數(shù)碼管在生活中運用廣泛,大到每個路口都有的紅綠燈,小到電子手表,都已經(jīng)慢慢的滲透在我們的一言
18、一行之中。數(shù)碼管顯示的數(shù)字都是通過段碼控制的,想要使用數(shù)碼管顯示數(shù)據(jù)時,就是用編程的方法設(shè)置數(shù)碼管的段碼和位碼。數(shù)碼管價格實惠,是當前顯示的主要載體,因此在這個設(shè)計中使用的數(shù)碼管。平常的數(shù)碼管顯示數(shù)據(jù)只會顯示一位數(shù)字,這明顯不符合期望。為了顯示多位數(shù)字,我們可以將數(shù)字之間的延時定到合適的大小。在這種情況下,雖然還是一位一位顯示,但是利用眼中的余暉,就會同時看到多位數(shù)字,這樣就可以讀取到大棚的溫度了。數(shù)碼管也叫7段數(shù)碼管,他的7段亮光共同組成了一個8字,點亮不同亮段的組合就形成了數(shù)字0-9,但其實它一共有8段,第8段是用來控制小數(shù)點的位置,與顯示的數(shù)字沒有關(guān)系。其中,數(shù)碼管有兩種類型:共陰極和共
19、陽極。二者的差距主要就是看數(shù)碼管段碼連接到一起的地方是接地還是接電源。如果是接地,就是共陰極,反之,就是共陽極。二者的點亮方式正好相反,使用共陰極時,如果需要點亮相應(yīng)的段時,只需要賦予它高電平即可,如果是共陽極,那么點亮它就需要給它低電平,二者的段碼是不能共用的。 圖4-2數(shù)碼管動態(tài)顯示原理圖Figure4-2 Dynamic display of digital tube schematic diagram表4-21602的引腳說明Table 4-21602 pins instructions編號符號引腳說明編號符號引腳說明1VSS電源地9D2Data 1/02VDD電源正極10D3Data
20、 1/03VL液晶顯示偏壓信號11D4Data 1/04RS數(shù)據(jù)命令選擇12D5Data 1/05R/W讀寫選擇端13D6Data 1/06E使能信號14D7Data 1/07D0Data 1/015BLA背光源正極8D1Data 1/016BLK背光源負極4.4電路設(shè)計4.4.1單片機引腳及電路圖了解單片機結(jié)構(gòu)就要先熟悉單片機內(nèi)部的連線,在單片機內(nèi)部 主要用到一下結(jié)構(gòu):(1) 電源:單片機電源為5V或者3.5V,可以通過手工隨意切換。單片機的供電主要是通過與電腦相連的數(shù)據(jù)線供電,不需外接其他電源,使得單片機的使用比較方便。 (2) 振蕩模塊:提供定時器所需的時序信號,與外接的晶振電容相連接,
21、外部的晶振電容的頻率可以自己選擇適合自己的,具有很高的靈活性,沒有晶振電容,振蕩電路就無法正常的工作。(3) 復(fù)位模塊:連接到正電源端。單片機共有4個端口,分別為P0到P4,其中P0端口是單片機中常用的端口。如圖所示,P0端口包括鎖存器、輸入緩沖器、鎖存器、多路開關(guān)、輸出緩沖器、內(nèi)部總線、與非門等器件組成。輸入緩沖器中由兩個三臺緩沖器,其中的三態(tài)指的是三種狀態(tài),分別為0態(tài)、1態(tài)和高阻態(tài),這是數(shù)據(jù)進入單片機的必經(jīng)之路。單片機也是一種時序電路,而要形成鎖存器也需要時序電路,形成時序電路,需要觸發(fā)器保存二進制數(shù)和D觸發(fā)器,對于D觸發(fā)器,當D觸發(fā)器的輸入端板有數(shù)據(jù)輸入時,只有同時存在時序脈沖式輸入信號
22、才能從傳到Q端。 與門就是00為0,01為0,11為1。而與非門則相反,00為1,01為1,11為0。大部分的與非門就是在與門之前加一個反相器,所以二者的本質(zhì)是一樣的。圖4-3 P0口工作原理Figure 4-3 P0 port working principle4.4.2晶振模塊時序電路是單片機中不可或缺的一部分,單片機工作離不開時序電路的控制,就如溫度傳感器一般,溫度傳感器的使用也需要根據(jù)時序圖進行編程。但是單片機的所需的頻率是有范圍的,必須要有所限制,否則就無法正常工作。與此同時,所選的晶振頻率據(jù)定了單片機的頻率,由此推斷出晶振頻率也不能隨意選擇,必須要進行必要的限制,否則可能會造成頻率
23、過高或者過低,定時器等無法正常工作,嚴重時可能還會損害芯片。 圖4-4晶振工作原理圖 Figure 4-4crystal vibration principle diagram4.4.3復(fù)位模塊從日常的生活中,我們無時無刻不能感覺到復(fù)位電路的重要性,當一個計算器或者其他電子產(chǎn)品卡死時,除了等它耗光電只有復(fù)位鍵才能拯救他們,沒有了復(fù)位鍵,一個電子產(chǎn)品就像少了一個清理工與維修器。復(fù)位模塊的原理也不復(fù)雜,主要就是通電復(fù)位,通過給電路提供電流,造成電容的短接,此時電流無法工作,只能給電容充電,直到 RSTC端的電壓降低為低電平,電路才能正常工作,復(fù)位需要的時間不多,但是卻不可缺少,它相當于清除了單片機
24、所有的負面狀態(tài)。復(fù)位模塊的構(gòu)造也不復(fù)雜,它主要由3個元件構(gòu)成:在一個電容并聯(lián)一個開關(guān)的前提下在串聯(lián)一個接地的電阻。單片機能夠復(fù)位主要就是因為電容充電導(dǎo)致電路所需的電大不足,當充電完畢后,電壓達到了電路的要求,復(fù)位就無法繼續(xù)了。在每次啟動單片機時候,都可以進行復(fù)位,這樣可以使得單片機可以以最好的狀態(tài)運行。 圖4-5復(fù)位電路電路圖 Figure 4-5 reset circuit diagram4.5本章小結(jié)本部分主要介紹了本次設(shè)計所需要的硬件開發(fā)平臺以及所有的外圍硬件部分,為之后硬件的使用和連接以及硬件平臺的使用奠定了基礎(chǔ)。 5 系統(tǒng)的軟件設(shè)計5.1軟件設(shè)計流程軟件設(shè)計就是根據(jù)所需功能在相關(guān)電路
25、的基礎(chǔ)上編寫代碼的過程。在硬件設(shè)計完成之后,軟件設(shè)計就是要利用溫度傳感器讀取溫度,將讀取到的數(shù)據(jù)經(jīng)過緩沖器送到存儲器之中,在運算器中進行數(shù)據(jù)的處理,根據(jù)不同的溫度范圍,編程控制步進電機的旋轉(zhuǎn)速度。 溫度判斷的具體過程,要進行溫度判斷分析,首先進行初始化,然后讀入溫度數(shù)值。如果溫度沒有超過溫度界限,那么步進電機不工作,溫度不需要改變;假如溫度超過值較小,比如在5攝氏度之內(nèi),那么步進電機以低速旋轉(zhuǎn),模擬溫控設(shè)備降低溫度;假如溫度超過溫度界限較大時,那么步進電機以高速旋轉(zhuǎn),使溫度快速回到限定范圍之內(nèi),以此來達到控制溫度的目的。同時,將溫度數(shù)值通過數(shù)碼管顯示出來,讓用戶了解當前的溫度,以此來獲得更好的
26、使用感覺。5.2DS18B20的軟件實現(xiàn)DS18B20的使用需要進行初始化和讀、寫操作的定義,此定義都是根據(jù)溫度傳感器所給的文檔中的時序圖進行編程實現(xiàn)的,此程序如下。 圖5-1初始化時序圖 Figure 5-1 Initialization sequence diagramunsigned char Ds18b20Init()unsigned int i;DSIO=0; /將總線拉低480us960usi=70;while(i-);/延時642usDSIO=1;/然后拉高總線,若DS18B20做出反應(yīng)會將在15us60us后將總線拉低i=0;while(DSIO)/等待DS18B20拉低總線i
27、+;if(i>50000)/等待>50MSreturn 0;/初始化失敗return 1;/初始化成功 圖5-2寫電路時序圖 Figure 5-2 Write circuit timing diagramVoid unsigned Ds18b20WriteByte(unsigned char dat)unsigned int i,j;for(j=0;j<8;j+)DSIO=0;/每寫入一位數(shù)據(jù)之前先把總線拉低1usi+;DSIO=dat&0x01; /然后寫入一個數(shù)據(jù),從最低位開始i=6;while(i-); /延時68us,持續(xù)時間最少60usDSIO=1;/然后釋
28、放總線,至少1us給總線恢復(fù)時間才能接著寫入第二個數(shù)值dat>>=1; 圖5-3讀電路時序圖Figure 5-3 Read circuit timing diagramunsigned char Ds18b20ReadByte()unsigned char byte,bi;unsigned int i,j;for(j=8;j>0;j-)DSIO=0;/先將總線拉低1usi+;DSIO=1;/然后釋放總線i+;i+;/延時6us等待數(shù)據(jù)穩(wěn)定bi=DSIO; /讀取數(shù)據(jù),從最低位開始讀取byte=(byte>>1)|(bi<<7); /*將byte左移一位
29、,然后與上右移7位后的bi,注意移動之后移掉那位補0。*/ i=4;/讀取完之后等待48us再接著讀取下一個數(shù)while(i-);return byte;表5-1 DS18B20控制指令Table 5-1 DS18B20 control command將初始化和讀、寫時序編寫完畢后之后,就可以使用以上指令得到溫度值,方便實用。5.3步進電機的軟件實現(xiàn)步進電機的轉(zhuǎn)動分為正轉(zhuǎn)和反轉(zhuǎn),主要是通過節(jié)拍控制的。電機內(nèi)部分為兩個線圈,節(jié)拍就是通過這兩個線圈的正反電流來控制的。正轉(zhuǎn):A線圈反向電流B線圈正向電流A線圈正向電流B線圈反向電流反轉(zhuǎn):B線圈反向電流A線圈正向電流B線圈正向電流A線圈反向電流void
30、 Go() /A PH1 = 0; /PH1為0 則A線圈為反向電流 I01 = 0;I11 = 0; /以最大電流輸出PH2 = 0; /PH2為0 則B線圈為反向電流I02 = 1;I12 = 1; /輸出0delay(speed);/0PH1 = 0; /PH1為0 則A線圈為反向電流 I01 = 1; /輸出0I11 = 1;PH2 = 1; /PH2為1 則B線圈為正電流I02 = 0; /以最大電流輸出I12 = 0;delay(speed);PH1 = 1; /PH1為1 則A線圈為正向電流 I01 = 0; /以最大電流輸出I11 = 0;PH2 = 1; /PH2為1 則B線
31、圈為正向電流I02 = 1; /輸出0I12 = 1;delay(speed);PH1 = 1; /PH1為1 則A線圈為正向電流I01 = 1;I11 = 1;PH2 = 0; /PH2為0 則B線圈為反向電流I02 = 0;I12 = 0;delay(speed); 5.4 Keil應(yīng)用Keil相對于單片機就相當于VC+6.0對于C語言和C+,Keil也是一個開發(fā)平臺,在此平臺上人們進行建立新的工程項目,用C語言或者匯編語言編寫單片機的程序,之后進行編譯,無錯后生成HEX文件,這些流程與其他的軟件開發(fā)平臺大致類似,不會讓使用者有太多的陌生感,為單片機的開發(fā)提供了相當大的便利。有了Keil這
32、個編程平臺,使用C語言進行編程就會更加簡單,同時如同別的變成平臺一般,Keil也提供了一系列的庫函數(shù)和開發(fā)調(diào)試工具,讓新手更容易上手,也讓那些學(xué)習(xí)過C語言的大學(xué)生更加適應(yīng)。同時,Keil也支持匯編編程,針對那些使用低級語言的年紀較大的編程者,Keil充分考慮到了這些人的使用習(xí)慣,這也使得keil成為單片機開發(fā)一個經(jīng)典的平臺。 Keil軟件的使用和其他的編程軟件大致類似,僅需要以下幾個步驟,就能實現(xiàn)代碼的實現(xiàn)。(1)創(chuàng)建一個新工程,根據(jù)單片機選擇合適的芯片。(2)建立C文件和h文件,將這些與工程有聯(lián)系的文件增添到此設(shè)計的工程目錄當中。(3)像之前一樣使用C語言或者匯編語言就行程序的編寫。(4)進
33、行編譯,找到程序中的錯誤,直到編譯通過。(5)生成HEX文件,將該文件下載到單片機中 在Keil軟件中編寫的代碼完全適用C語言的所有規(guī)則,并且多了單片機編程中專用的h文件,如reg51.h。源代碼由uVision4 IDE創(chuàng)建,并被C51編譯或A51匯編。編譯器和匯編器從源代碼生成可重定位的目標文件。Keil軟件由于使用C語言編程,所以他的編譯器和VC+6.0的大致類似,遵循的標準都是當前流行的ANSI C語言標準,上面所描述的所有C語言的特點在keil軟件編程中都能得到最好的體現(xiàn),使得keil軟件同C語言一樣流行。Keil的編譯器同大多數(shù)的編譯器一般,也需要很多信息,如,變量名,語法規(guī)則,編
34、譯算法等。如果缺少了其中任意部分,編譯器都無法正常的工作。5.5系統(tǒng)的分析與調(diào)試大棚溫控系統(tǒng)由于是使用單片機所做的開發(fā),所以該設(shè)計是在Keil開發(fā)平臺上完成的,同時由于大學(xué)中學(xué)習(xí)了C語言的使用,并且C語言同匯編語言相比更加簡潔,方便,不需了解內(nèi)部結(jié)構(gòu),因為選用C語言作為這次溫控系統(tǒng)的編程語言。所以完成這和設(shè)計最主要的就是熟悉Keil開發(fā)平臺,單片機的接口以及C語言的使用。首先通過書籍和視頻,了解到Keil軟件工程的建立方法,以及接下來一系列的步驟,如添加文件,創(chuàng)建HEX文件等。之后便如同在其他開發(fā)平臺上一樣,使用C語言進行單片機程序的編寫,編寫完成后進行編譯,直到提示沒有錯誤時,單片機程序的編
35、寫才最終完成。之后在Keil軟件上創(chuàng)建HEX文件,這是單片機與電腦連接的重要文件,這個文件需要燒錄軟件才能下載到單片機中,所以這次設(shè)計我是用的燒錄軟件是PZ-ISP V1.48。這款軟件使用簡單,這也是我選用的主要原因,下載程序僅需要設(shè)置一些參數(shù)即可,方便實用。 設(shè)置步驟如下:(1) 選擇芯片的型號,這主要取決于你所使用的單片機的芯片型號,因此本設(shè)計選擇的型號為STC89C5XX系列,這符合我們單片機的類型。(2) 選擇串口號,這主要取決于你的單片機連接到哪個端口,基本上軟件會自己選擇,不需要用戶自己設(shè)定(3) 選擇波特率,這決定了下載的速度,波特率對于串口通信極其重要。(4) 選擇文件,找到
36、你剛剛建立的HEX文件,你所要下載的就是這個文件。之后點擊下載程序,打開你所使用的單片機,編寫的程序就會下載到單片機的芯片上,單片機就會通過控制器根據(jù)你寫的代碼,進行控制。當然,想要實現(xiàn)功能,還要根據(jù)單片機的電路結(jié)構(gòu),進行合理的連線,達到軟件和硬件相結(jié)合,這時才會看到理想中的結(jié)果。圖5-1Keil C程序運行Figure 51 keil C program running圖5-2下載圖Figure 5-2 download figure演示時,由于單片機中已經(jīng)存在你所編寫的程序,并且外部的連線也已經(jīng)完成,所以只需要通過數(shù)據(jù)線給它供電即。開始供電后,數(shù)碼管會顯示當前的溫度,而我們需要做的就是觀察
37、。觀察當前溫度的變化。將當前的溫度與自己設(shè)定溫度界限進行比較。若當前溫度沒有超過溫度界限,則步進電機不進行工作,此為正?,F(xiàn)象;此時,若想觀察其他情況,可以用手捂住DS18B20傳感器,讓傳感器的溫度慢慢上升,觀察數(shù)碼管顯示的當前溫度,同時觀察步進電機的轉(zhuǎn)速。會發(fā)現(xiàn)溫度越高,步進電機的轉(zhuǎn)速越快。經(jīng)過測試,完全可行。因而簡單實現(xiàn)了對溫度的控制。5.6本章小結(jié)本部分具體的介紹了各個模塊的軟件實現(xiàn)方法,通過給出一系列相關(guān)代碼解釋了相關(guān)模塊是如何在相關(guān)代碼的控制下工作的。6 總結(jié)將程序通過軟件燒錄到單片機中,經(jīng)過簡單連線后,靜態(tài)數(shù)碼管開始顯示當前溫度,當溫度低于30度時,發(fā)現(xiàn)步進電機不轉(zhuǎn)動,當溫度處于3
38、0-35攝氏度時,步進電機低速轉(zhuǎn)動,當溫度大于35攝氏度時,步進電機高速轉(zhuǎn)動。此設(shè)計很好的完成了對溫度控制的模擬,但是在精度方面還需要改進,由于水平問題,本設(shè)計的精度過大,無法完成精準的溫度控制,在相當大的范圍內(nèi)步進電機的轉(zhuǎn)速都是一致的,這與實際的使用并不符合,因此以后可以對精度進行更加準確的控制。這次大棚溫控系統(tǒng)主要是的控制器就是單片機,溫度傳感器在測量后,將溫度數(shù)據(jù)通過輸入緩沖器發(fā)送給單片機,供單片機存儲和控制,單片機控制步進電機的轉(zhuǎn)動,通過步進電機的轉(zhuǎn)速來模擬溫控設(shè)備對于溫室大棚的溫度控制。同時,這篇文章也介紹了一些單片機的相關(guān)知識,介紹了單片機的硬件機構(gòu),如內(nèi)部的各種寄存器、存儲器、緩
39、沖器和相關(guān)電路。同時介紹了軟件結(jié)構(gòu),如,單片機端口的使用等。重點介紹了溫度傳感器優(yōu)缺點、結(jié)構(gòu)、工作原理和使用方法。溫度傳感器是此次設(shè)計的核心器件,他的選擇好壞直接關(guān)系著設(shè)計的成功與否,一個合適的傳感器可以正確的采集到想要的數(shù)據(jù)并且在壞境變化時受到較小的影響,能夠使得產(chǎn)品有更好的現(xiàn)實使用價值。本次設(shè)計通過51單片機和溫濕度傳感器使得系統(tǒng)可以比較精確的測得想要的數(shù)據(jù),并且憑借51單片機和溫度傳感器BS18B20的高性價比和實用性、使得系統(tǒng)有較高的推廣和顯示應(yīng)用的價值。嚴歌苓說,人之間的關(guān)系不一定從陌生進展為熟識,從熟識走向陌生,同樣是正常進展。人與人之間的緣分,遠沒有想像中的那么牢固,也許前一秒鐘還牽手一起經(jīng)歷風雨,后一秒就說散就散,所以,你要懂得善待和珍惜。人與
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 婚紗行業(yè)流行趨勢分析報告
- 衛(wèi)浴行業(yè)慘淡現(xiàn)狀分析報告
- 小學(xué)三年級數(shù)學(xué)《什么是面積》教案范文
- 電梯衛(wèi)生清潔保養(yǎng)制度
- 單位衛(wèi)生整治制度
- 辦公場所衛(wèi)生防疫制度
- 公共衛(wèi)生事件報告制度
- 接待大廳衛(wèi)生制度
- 財務(wù)衛(wèi)生管理制度
- 商場環(huán)境衛(wèi)生管理制度
- DB37∕T 3467-2018 美麗鄉(xiāng)村標準化試點建設(shè)與驗收指南
- 2025年河南省中招理化生實驗操作考試ABCD考場評分表
- 2024年吉林省高職高專院校單獨招生統(tǒng)一考試數(shù)學(xué)試題
- 四川省成都市邛崍市2024-2025學(xué)年九年級上學(xué)期期末化學(xué)試題(含答案)
- 2025新滬教版英語(五四學(xué)制)七年級下單詞默寫表
- 食品行業(yè)停水、停電、停汽時應(yīng)急預(yù)案
- MEMRS-ECG心電網(wǎng)絡(luò)系統(tǒng)使用說明書
- 美國變壓器市場深度報告
- 建設(shè)工程第三方質(zhì)量安全巡查標準
- 乳化液處理操作規(guī)程
- 飯店轉(zhuǎn)讓協(xié)議合同
評論
0/150
提交評論