花房溫濕度自動控制系統(tǒng)_第1頁
花房溫濕度自動控制系統(tǒng)_第2頁
花房溫濕度自動控制系統(tǒng)_第3頁
花房溫濕度自動控制系統(tǒng)_第4頁
花房溫濕度自動控制系統(tǒng)_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、機電一體化系統(tǒng)設(shè)計小論文指導(dǎo)老師: _吳冬春 _學生姓名: _周靈_學號 : _1160601150_班級 : _Z電氣111_專業(yè) : 電氣工程及其自動化電氣工程學院 2014.12.01花房溫濕度自動調(diào)節(jié)控制系統(tǒng)第1章 背景1.1應(yīng)用環(huán)境 隨著農(nóng)業(yè)現(xiàn)代化的快速發(fā)展,溫室正朝著智能化控制的方向發(fā)展。我國農(nóng)業(yè)也逐漸地從傳統(tǒng)農(nóng)業(yè)向高產(chǎn)、優(yōu)質(zhì)、高效為目的的現(xiàn)代化農(nóng)業(yè)轉(zhuǎn)變。因而花卉大棚自然也離不開現(xiàn)代化的科學技術(shù)。通過國內(nèi)外大量的科學實驗和生產(chǎn)的實踐證明,環(huán)境的控制對花卉生長起到非常重要的作用。只有在適宜的環(huán)境下花卉才能生長良好。對于花卉大棚內(nèi)環(huán)境的控制主要對環(huán)境溫度、濕度等進行測量和控制。用單片機

2、監(jiān)控溫室的溫度/濕。根據(jù)溫室的溫度/濕度的變化自動地實施噴灌調(diào)溫。確保溫室各種花卉生長適宜的溫度、濕度?,F(xiàn)代化農(nóng)業(yè)生產(chǎn)中的重要一環(huán)就是對農(nóng)業(yè)生產(chǎn)環(huán)境的一些重要參數(shù)進行監(jiān)測和控制。例如:空氣的溫度、濕度、二氧化碳含量、土壤的含水量等。在現(xiàn)代化農(nóng)業(yè)生產(chǎn)中,以蔬菜大棚為代表的現(xiàn)代農(nóng)業(yè)設(shè)施在現(xiàn)代化農(nóng)業(yè)生產(chǎn)中發(fā)揮著巨大的作用。大棚內(nèi)的溫度、濕度與二氧化碳含量等參數(shù),直接關(guān)系到花卉的生長。國外的溫室設(shè)施己經(jīng)發(fā)展到比較完備的程度,并形成了一定的標準,但是價格非常昂貴,缺乏與我國氣候特點相適應(yīng)的測控軟件。當今大多數(shù)對大棚溫度、濕度、二氧化碳含量的監(jiān)測與控制都采用人工管理,這樣不可避免的有測控精度低、勞動強度大

3、及測控不及時等弊端,容易造成不可彌補的損失,結(jié)果不但大大增加了成本,浪費了人力資源,而且很難達到預(yù)期的效果。為了實現(xiàn)高效農(nóng)業(yè)生產(chǎn)的科學化并提高農(nóng)業(yè)研究的準確性,推動我國農(nóng)業(yè)的發(fā)展,必須大力發(fā)展農(nóng)業(yè)設(shè)施與相應(yīng)的農(nóng)業(yè)工程,科學合理地調(diào)節(jié)大棚內(nèi)溫度、濕度以及二氧化碳的含量,使大棚內(nèi)形成有利于各種花卉生長的環(huán)境。目前,隨著花卉溫室的迅速增多,人們對其性能要求也越來越高,特別是為了提高生產(chǎn)效率,對大棚的自動化程度要求也越來越高。隨著大棚技術(shù)的普及,溫室大棚數(shù)量不斷增多,溫室大棚的溫濕度控制便成為一個十分重要的課題。傳統(tǒng)的溫濕度控制是在溫室大棚內(nèi)部懸掛溫度計和濕度計,通過讀取溫度值和濕度值了解實際溫濕度,

4、然后根據(jù)現(xiàn)有溫濕度與額定溫濕度進行比較,看溫濕度是否過高或過低,然后進行相應(yīng)的通風或者灑水。這些操作都是在人工情況下進行的,耗費了大量的人力物力?,F(xiàn)在,隨著國家經(jīng)濟的快速發(fā)展,農(nóng)業(yè)產(chǎn)業(yè)規(guī)模的不斷提高,花卉品種在大棚中培育的品種越來越多,對于數(shù)量較多的大棚,傳統(tǒng)的溫度控制措施就顯現(xiàn)出很大的局限性。溫室大棚的建設(shè)對溫濕度檢測與控制技術(shù)也提出了越來越高的要求。1.2應(yīng)用對象與要求四季海棠屬于喜溫作物,但不喜高溫。據(jù)實驗:10以下停止生長,5以下會出現(xiàn)寒害。適合生長的溫度10-30,四季海棠生長最快。四季秋海棠在夏季不耐陽光直射和雨淋,應(yīng)遮陰和防雨,若長期受到與淋,容易造成花莖與葉片腐敗。冬天喜歡充足

5、的陽光,光照不足,則生長柔弱,植株細長,葉色和花色變淡。進入開花期,應(yīng)加大通風量。上午棚內(nèi)溫度升到20,要逐漸打開通風口,降溫排濕。從開花至澆催果水之前,棚溫不要超過30。下午當棚溫降至10時將通風口關(guān)閉。本系統(tǒng)主要完成對四季海棠花房內(nèi)溫度和濕度等參數(shù)的采集、存儲,并具有向監(jiān)控中心傳送數(shù)據(jù)以及執(zhí)行監(jiān)控中心的指令等功能。今天,我們的生活環(huán)境和工作環(huán)境有越來越多稱之為單片機的小電腦在為我們服務(wù)。單片機在工業(yè)控制、尖端武器、通信設(shè)備、信息處理、家用電器等各測控領(lǐng)域的應(yīng)用中獨占鰲頭。時下,家用電器和辦公設(shè)備的智能化、遙控化、模糊控制化已成為世界潮流,而這些高性能無一不是靠單片機來實現(xiàn)的。采用單片機來對

6、溫濕度進行控制,不僅具有控制方便、組態(tài)簡單和靈活性大等優(yōu)點,而且可以大幅度提高被控溫濕度的技術(shù)指標,從而能夠大大提高產(chǎn)品的質(zhì)量和數(shù)量,更重要的是經(jīng)濟實惠。單片機以其功能強、體積小、可靠性高、造價低和開發(fā)周期短等優(yōu)點,成為自動化和各個測控領(lǐng)域中必不可少且廣泛應(yīng)用的器件,尤其在日常生活中也發(fā)揮越來越大的作用。因此,單片機對溫濕度的控制問題是一個工農(nóng)業(yè)生產(chǎn)中經(jīng)常會遇到的問題。因此,本課題圍繞基于單片機的花房溫室度自動調(diào)節(jié)控制系統(tǒng)展開了應(yīng)用研究工作。1.3方案比較1.3.1 單片機的選擇方案一: 采用MCS-51系列單片機中的AT89C52芯片作為核心器件,有4K 字節(jié)的內(nèi)部 FLASH PERAM,

7、能于3V的超低壓工作,而且與MCS-51系列單片機完全兼容,但是運用于電路設(shè)計中時由于不具備ISP在線編程技術(shù),當在對電路進行調(diào)試時,由于程序的錯誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r,對芯片的多次拔插會對芯片造成一定的損壞3。方案二:采用AT89S52芯片作為核心器件,片內(nèi)ROM全都采用Flash ROM;能以3V的超低壓工作;同時也與MCS-51系列單片機完全兼容。該芯片內(nèi)部存儲器為8KB ROM 存儲空間,同樣具有89C51的功能,并且具有在線編程技術(shù),由于程序的錯誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r,不需要對芯片多次拔插,由此不會對芯片造成損壞。所以設(shè)計采用AT89S52作為主控制系

8、統(tǒng)。1.3.2 溫度傳感器的選擇方案一:采用數(shù)字式溫度傳感器DS18B20。此類傳感器為數(shù)字式傳感器而且僅需要一條數(shù)據(jù)線進行數(shù)據(jù)傳輸,易于與單片機連接,由于其輸出為數(shù)字量,所以不需要進行A/D轉(zhuǎn)化,這樣就降低了硬件成本,簡化了系統(tǒng)電路。另外,數(shù)字式溫度傳感器還具有測量精度高、測量范圍廣等優(yōu)點。方案二:采用數(shù)字式溫濕度傳感器DHT90。該傳感器為數(shù)字式傳感器,可以同時采集溫度和濕度,兩線制的串行接口與內(nèi)部的電壓調(diào)整,使外圍系統(tǒng)集成變得快速而簡單。微小的體積和極低的功耗等優(yōu)點,使其成為選擇溫濕度傳感器時的首選。1.3.3 濕度傳感器的選擇方案一:采用HS1100/HS1101濕度傳感器。HS110

9、0/HS1101電容傳感器,在電路構(gòu)成中等效于一個電容器件,其電容量隨著所測空氣濕度的增大而增大。該傳感器具有高可靠性、長期穩(wěn)定性和快速響應(yīng)時間等特點,由頂端接觸(HS1100)和側(cè)面接觸(HS1101)兩種封裝產(chǎn)品,適用于線性電壓輸出和頻率輸出兩種電路,適宜于制造流水線上的自動插件和自動裝配過程等。方案二:采用數(shù)字式溫濕度傳感器DHT90。該傳感器為數(shù)字式傳感器,采集濕度的精度是14位,端口少,只需要單片機的一個端口即可驅(qū)動,精度較高,除此之外,該傳感器還可以同時采集溫度和濕度,并能進行相對濕度補償,易于應(yīng)用,操作簡單。1.3.4 顯示模塊的選擇方案一:采用LCD1602液晶顯示器。其顯示容

10、量為16*2個字符,而此次設(shè)計的是一個大棚溫濕度測控系統(tǒng),需要將設(shè)定的溫濕度值以及采集過來的外界環(huán)境里的溫度值和濕度值顯示出來,而LCD-1602的顯示容量只有兩行,可以顯示八個漢字,這樣無法直接在一屏里面顯示溫度值和濕度值,需要分多次頁數(shù)來顯示,這樣不便于觀察溫濕度的變化,所以在本次設(shè)計中不采用LCD1602液晶顯示器。方案二:采用LCD12864液晶顯示器, 可以顯示四行漢字,每行為16個字符,八個漢字,這樣可進行觀察和比較,清晰明了,易于操作,占用的單片機口線少,可以滿足本系統(tǒng)的設(shè)計要求。因此在本次設(shè)計中的顯示部分選用LCD12864液晶顯示器4。1.4方案的確定綜上所述,對本次設(shè)計系統(tǒng)

11、的方案選定如下: 采用AT89S52作為主控制系統(tǒng);液晶顯示模塊LCD12864作為本次系統(tǒng)的顯示;DHT90溫濕度傳感器作為本次系統(tǒng)溫度和濕度的信息采集5。通過論證擬采用的設(shè)計方案內(nèi)容包括以下幾點:1. 選擇AT89S52單片機作為整個系統(tǒng)的核心器件,發(fā)送并時時處理系統(tǒng)信息。2. 傳感器是實現(xiàn)測量與控制的首要環(huán)節(jié),是測控系統(tǒng)的關(guān)鍵部件,如果沒有傳感器對原始被測信號進行準確可靠的捕捉和轉(zhuǎn)換,一切準確的測量和控制都將無法實現(xiàn)。工業(yè)生產(chǎn)過程的自動化測量和控制,幾乎主要依靠各種傳感器來檢測和控制生產(chǎn)過程中的各種參量,使設(shè)備和系統(tǒng)正常運行在最佳狀態(tài),從而保證生產(chǎn)的高效率和高質(zhì)量。本設(shè)計選用集成溫濕度傳

12、感器DHT90。3. 顯示電路的設(shè)計:設(shè)計采用液晶LCD12864進行顯示,簡單明了。4. 報警電路的設(shè)計:在微型計算機控制系統(tǒng)中,為了安全生產(chǎn),對于一些重要的參數(shù)或系統(tǒng)部位,都設(shè)有緊急狀態(tài)報警系統(tǒng),以便提醒操作人員注意,或采取緊急措施。其方法就是把計算機采集的數(shù)據(jù)通過計算機進行數(shù)據(jù)處理、數(shù)字濾波和標度變換,這些已經(jīng)在軟件程序里邊處理過,所以顯示溫濕度即為外界采集的溫濕度,和設(shè)定的值比較,如果高于上限值或低于下限值則進行報警,否則就作為采樣的正常值,進行顯示和控制。本設(shè)計采用聲光報警電路。溫度和濕度任何一個超過設(shè)定范圍,蜂鳴器均報警。設(shè)計選用二極管的亮滅顯示溫度或者濕度是否過限,這樣便于觀察,

13、可以更加直接的確定是要升降溫還是要增減濕度,給工作人員減少了工作量。蜂鳴器報警電路是通過MCS-52的1根口線經(jīng)驅(qū)動器驅(qū)動蜂鳴音發(fā)聲。5. 溫濕度控制主程序的設(shè)計要考慮以下問題:(1) 溫濕度采樣,數(shù)字濾波;(2) 越限報警和處理;(3) 溫度標度轉(zhuǎn)換。第2章 硬件設(shè)計2.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計根據(jù)題目要求和單片機的工作原理,以AT89S52為控制器,進行主要的信息處理。系統(tǒng)只要由檢測電路、顯示電路、復(fù)位電路、報警電路、鍵盤電路以及調(diào)節(jié)電路組成。總體結(jié)構(gòu)框圖如圖1: AT89S52傳感檢測電路液晶顯示電路上電復(fù)位電路超溫報警電路鍵盤輸入電路調(diào)節(jié)電路總體結(jié)構(gòu)框圖2.2 單片機模塊的設(shè)計2.2.1

14、單片機的功能特性描述AT89S52是一種低功耗、高性能CMOS 8位微控制器,存儲器是采用Atmel公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品的指令和引腳完全兼容。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52具有以下標準功能:8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下

15、,CPU 停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作;掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機停止一切工作,直到下一個中斷或硬件復(fù)位為止。AT89S52的引腳結(jié)構(gòu)圖如圖2-1所示。P0 口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。 在Flash編程時,P0口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,需要外部上拉電阻。 P1 口:P1 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,P1輸出緩沖器能驅(qū)動4 個 TTL 邏輯電平。對P1 端口寫“1”時,內(nèi)部上拉電阻把端

16、口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。 2.2.2 單片機的中斷系統(tǒng)單片機與外部設(shè)備交換信息一般采用兩種方式,即查詢方式和中斷方式。中斷方式具有CPU效率高,適合于實時控制,將從現(xiàn)場采集到的數(shù)據(jù)通過中斷方式及時傳送給CPU,經(jīng)過處理后就可立即做出響應(yīng),實現(xiàn)現(xiàn)場控制。而采用查詢方式就很難做到及時采集、實時控制。從面向用戶的角度來看,8051單片機的中斷系統(tǒng)就是由如下幾個殊功能寄存器組成:·定時器控制寄存器TCON·中斷允許寄存器IE·中斷優(yōu)先級寄存器IP·串行口控制器SCON89C51單片

17、機是一個多中斷源系統(tǒng)。有5個中斷源,即兩個外部中斷,兩個外部中斷、兩個定時器/計數(shù)器中斷和一個串行口中斷。定時器控制寄存器TCON 表5 TCON控制位的分布 D7D6D5D4D3D2D1D0控制位TF1TR1TF0TR0IE1IT1IE0IT0 ·TF1(TCON.7):計時器 1溢出標志,當計時溢出時,由硬件設(shè)定為 1,在執(zhí)行相對的中斷服務(wù)程序后則自動清 0。 ·TR1(TCON.6):計時器1啟動控制位,可以由軟件來設(shè)定或清除。TR1時啟動計時器工作,TRl=0 時關(guān)閉。 ·TF0(TCON.5):計時器 0溢出標志,當計時溢出時,由硬件設(shè)定為 1,在執(zhí)行相

18、對的中斷服務(wù)程序后則自動清 0。 ·TR0(TCON.4):計時器 0啟動控制位,可以由軟件來設(shè)定或清除。TR0=1時,啟動計時器工作,TR0=時關(guān)閉。 ·IE1(TCON.3):外部中斷 1工作標志,當外部中斷被檢查出來時,硬件自動設(shè)定此位,在執(zhí)行中斷服務(wù)程序后,則清 0。 ·IT1 (TCON.2):外部中斷 1工作形式選擇,IT1=1時,由下降緣產(chǎn)生外部中斷,IT1=0時,則為低電位產(chǎn)生中斷。252.3 溫濕度采集系統(tǒng)的設(shè)計2.3.1 溫濕度傳感器的概述DHT90是數(shù)字溫濕度傳感器系列中插針型的傳感器。此類型傳感器把傳感元件和信號處理集成起來,輸出全標定的數(shù)

19、字信號。傳感器包括一個電容性聚合體測濕敏感元件、一個用能隙材料制成的測溫元件,并在同一芯片上與 14 位的 A/D轉(zhuǎn)換器以及串行接口電路實現(xiàn)無縫連接。傳感器采用專利的CMOS技術(shù),確保產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性。因此,該產(chǎn)品具有品質(zhì)卓越、響應(yīng)超快、抗干擾能力強、性價比極高等優(yōu)點。傳感器采用的是原裝進口數(shù)字溫濕度傳感器芯片,引腳插針為標準2.54插針,使用時無需重新校準。傳感器直接與單片機相連,無需其他外部元件??傊?,極低的功耗、極高的性價比、卓越的品質(zhì)等優(yōu)點使其成為我們在選擇溫濕度傳感器時的首選。DHT90的基本特性如下:測濕范圍:0100%RH;測溫范圍:-40123.8;響應(yīng)時

20、間:溫度:< 30s,濕度:<8s;分辨率:溫度:0.01,濕度:0.03%RH;重復(fù)性:溫度:0.1  濕度:0.1%RH;測量精度:溫度:±0.5 濕度:±4.5%RH;安裝方式:2.54mm間距插針。2.3.2 DHT90的溫濕度補償及轉(zhuǎn)換相對濕度為補償濕度傳感器的非線性以獲取準確數(shù)據(jù),可參閱表3-2,可使用公式(3-1)。 (3-1) 表3-2 濕度轉(zhuǎn)換系數(shù)12bit-4.00000.0405-2.8000E-68bit-4.00000.6480-7.2000E-4溫度轉(zhuǎn)換溫度轉(zhuǎn)換數(shù)可參閱表3-3,可使用溫度轉(zhuǎn)度公式(3-2)。 (3

21、-2)表3-3 溫度轉(zhuǎn)換數(shù)VDDd1 ()d1()5V-40.1-40.24V-39.8-39.63.5V-39.7-39.53V-39.6-39.32.5V-39.4-38.9SOTd2 ()d2()14bit0.010.01812bit0.040.0722.3.3 傳感器的接口說明DHT90引腳結(jié)構(gòu)如表2-1所示。表2-1 DHT90引腳結(jié)構(gòu)PinNameComment1SCK時鐘信號2VDD電源3GND地4DATA數(shù)據(jù)輸出DHT90的供電電壓為2.4-5.5V,建議供電電壓為3.3V。DHT90的串行接口,在傳感器信號的讀取及電源損耗方面,都做了優(yōu)化處理;傳感器不能按照I2C 協(xié)議編址,

22、但是,如果I2C總線上沒有掛接別的元件,傳感器可以連接到I2C總線上,但單片機必須按照傳感器的協(xié)議工作。SCK用于微處理器與 DHT90之間的通訊同步。由于接口包含了完全靜態(tài)邏輯,因而不存在最小SCK頻率。DATA三態(tài)門用于數(shù)據(jù)的讀取。DATA在 SCK 時鐘下降沿之后改變狀態(tài),并且僅在 SCK時鐘上升沿有效。數(shù)據(jù)傳輸期間,在SCK時鐘高電平時,DATA必須保持穩(wěn)定。為避免信號沖突,微處理器應(yīng)驅(qū)動 DATA在低電平。需要一個外部的上拉電阻 (例如:10k)將信號提拉至高電平。熱電偶是一種感溫元件,它直接測量溫度,并把溫度信號轉(zhuǎn)換成熱電動勢信號。常用熱電偶可分為標準熱電偶和非標準熱電偶兩大類。所

23、調(diào)用標準熱電偶是指國家標準規(guī)定了其熱電勢與溫度的關(guān)系、答應(yīng)誤差、并有統(tǒng)一的標準分度表的熱電偶,它有與其配套的顯示儀表可供選用。非標準化熱電偶在使用范圍或數(shù)量級上均不及標準化熱電偶,一般也沒有統(tǒng)一的分度表,主要用于某些特殊場合的測量。標準化熱電偶我國從1988年1月1日起,熱電偶和熱電阻全部按IEC國際標準生產(chǎn),并指定S、B、E、K、R、J、T七種標準化熱電偶為我國統(tǒng)一設(shè)計型熱電偶。本論文采用的是K型熱電阻。2.4顯示模塊的設(shè)計2.4.1 LCD12864的概述顯示器是最常用的輸出設(shè)備。顯示器件使用最多的是發(fā)光二極管顯示器(LED)和液晶顯示器(LCD)。因為它們都具有結(jié)構(gòu)簡單、耗電少、價格低廉

24、、接口簡單、壽命長等優(yōu)點,廣泛應(yīng)用于智能儀表場合,尤其是單片機系統(tǒng)中大量應(yīng)用。LCD以其功耗低、視覺范圍廣等特點也被廣泛應(yīng)用。顯示電路的設(shè)計是不可缺少的。對于溫濕度測控系統(tǒng)的設(shè)計而言,顯示電路的設(shè)計也是不可缺少的。在本設(shè)計系統(tǒng)中,不僅要顯示測量的溫濕度值,而且還有不同的溫濕度報警參數(shù),故而顯示器的設(shè)計是十分必要的??紤]到本設(shè)計的特點(工作溫濕度、顯示行列數(shù)、光線等),設(shè)計中選用的是FYD12864顯示器。該顯示器的大屏幕顯示具有顯示清晰、視覺范圍廣、價格低等優(yōu)點。液晶顯示模塊提供兩種界面來連接微處理機:8位串行及并行兩種連接方式。具有多種功能:光標顯示、畫面移位、睡眠模式等。和LED顯示器一樣

25、,LCD也有字符型和點陣型兩種。字符和數(shù)字的簡單顯示,不能滿足漢字和圖形曲線現(xiàn)實的要求;點陣式LCD不僅可以顯示字符、數(shù)字,還可以顯示各種曲線、圖像及漢字,并且可以實現(xiàn)屏幕上下的滾動、反轉(zhuǎn)、閃爍等功能,用途十分廣泛。本設(shè)計中的顯示器設(shè)計采用的是點陣式液晶顯示模塊。FYD12864-0402B是一種具有4位/8位并行、2線或3線串行多種接口方式,內(nèi)部含有國標一級、二級簡體中文字庫的點陣圖形液晶顯示模塊;其顯示分辨率為128×64, 內(nèi)置8192個16*16點漢字,和128個16*8點ASCII字符集。低電壓低功耗是其又一顯著特點。與同類型的圖形點陣液晶顯示模塊相比,不論其硬件電路結(jié)構(gòu)或

26、顯示程序都要簡潔得多,且該模塊的價格也略低于相同點陣的圖形液晶模塊10。其基本特性如下:低電源電壓:VDD:+3.0-+5.5V; 顯示分辨率:128×64點;內(nèi)置漢字字庫:提供8192個16×16點陣漢字(簡繁體可選);內(nèi)置點陣字符:128個16×8;時鐘頻率:2MHZ;顯示方式:STN、半透、正顯;驅(qū)動方式:1/32DUTY,1/5BIAS;視角方向:6點;背光方式:側(cè)部高亮白色LED,功耗僅為普通LED的1/51/10;通訊方式:串行、并口可選;內(nèi)置轉(zhuǎn)換電路:DC-DC,無需外加負壓;工作溫度:0 - +55,存儲溫度:-20 - +60。顯示模塊流程圖如下

27、所示:圖3-6 LCD顯示流程圖第3章 軟件設(shè)計與硬件設(shè)計相對應(yīng),軟件設(shè)計也采用模塊化程序設(shè)計的方式,包括主程序模塊,初始化參數(shù)設(shè)置模塊,無線通訊發(fā)送模塊,無線通訊接收模塊,數(shù)據(jù)采集程序模塊,顯示模塊。3.1 初始化子程序 初始化程序主要完成以下功能:當系統(tǒng)啟動時確定電磁閥關(guān)閉、程序設(shè)置溫濕度的上下限值的初始值、用于定時器T1、TO的初始化、串口中斷的初始化。/*- 定時器0初始化-*/void TIM0init(void)/定時器0初始化 TMOD=0x02;/定時器0工作方式2,TH0是重裝值,TL0是初值 TH0=0x00; /重載值 TL0=0x00; /初始化值 ET0=1; /開中

28、斷 TR0=1; /*- 外部中斷0初始化-*/void EX0init(void) IT0 = 1; /指定外部中斷0下降沿觸發(fā),INT0 (P3.2) EX0 = 1; /使能外部中斷 EA = 1; /開總中斷3.2 數(shù)據(jù)采集模塊軟件流程準備開始標志:當?shù)碗娖降陀?8ms后,單片機將輸出端口改為輸入,開始讀取DHT11的數(shù)據(jù)。然后將電平拉高,等待DHT11響應(yīng),DHT11將電平信號拉低以示響應(yīng)單片機信號,而后將電平拉高準備發(fā)送數(shù)據(jù)信息。讀取數(shù)據(jù)過程:DHT11先發(fā)送1214us的低電平信號,然后緊跟高電平,如果在116118us左右,將自動識別為1,如果在2628us左右將識別為0。這樣

29、循環(huán)40次,共40位二進制數(shù),每八位為一組,其中包括八位濕度整數(shù)位、八位濕度小數(shù)位、八位溫度整數(shù)位,八位溫度小數(shù)位、八位較檢位。由于設(shè)計的需要,現(xiàn)只讀取八位濕度整數(shù)值,將讀取的濕度值傳給單片機。程序如下:#include"DHT11.h"unsigned char wendu,shidu; void delay_us() / 延時子程序 unsigned char i; i-; i-; i-; i-; i-; i-;void delayms(unsigned int x) / 根據(jù)給定值進行延時子程序unsigned char n;while(x-)!=0)for(n=0;

30、n<115;n+);char receive()unsigned int i; unsigned char temp,respond; unsigned char com_data=0;for(i=0;i<=7;i+) respond=2;while(!TRH)&&respond+);delay_us();delay_us();delay_us(); if(TRH) temp=1; respond=2; while(TRH)&&respond+); else temp=0; com_data<<=1; com_data|=temp;ret

31、urn(com_data);/濕度讀取子程序 /溫度高8位= TL_data/溫度低8位= TH_data/濕度高8位= RH_data/濕度低8位= RH_data/校驗 8位 = CK_data/調(diào)用的程序有 delay();, Delay_5us();,RECEIVE(); void read()unsigned int respond;unsigned int RH_temp,RL_temp,TH_temp,TL_temp,CK_temp,untemp, RH_data,RL_data,TH_data,TL_data,CK_data;/主機拉低18msTRH=0;delayms(18)

32、;TRH=1;/DATA總線由上拉電阻拉高 主機延時20usdelay_us();delay_us();delay_us();delay_us();TRH=1;/判斷DHT11是否有低電平響應(yīng)信號 如不響應(yīng)則跳出,響應(yīng)則向下運行if(!TRH) respond=2; /判斷DHT11發(fā)出 80us 的低電平響應(yīng)信號是否結(jié)束 while(!TRH)&&respond+); respond=2; /判斷從機是否發(fā)出 80us 的高電平,如發(fā)出則進入數(shù)據(jù)接收狀態(tài) while(TRH)&&respond+); /數(shù)據(jù)接收 RH_temp=receive(); RL_te

33、mp=receive(); TH_temp=receive(); TL_temp=receive(); CK_temp=receive(); TRH=1; untemp=(RH_temp+RL_temp+TH_temp+TL_temp); /數(shù)據(jù)校驗if(CK_temp=untemp)RH_data=RH_temp;RL_data=RL_temp;TH_data=TH_temp;TL_data=TL_temp;CK_data=CK_temp;/x是溫度值 y是濕度值wendu=(unsigned char)(TH_data );shidu=(unsigned char)(RH_data );3

34、.3 顯示模塊 初始化LCD1602顯示模塊,設(shè)置8位格式,2行,5*7矩陣顯示,整體顯示,關(guān)光標,不閃爍設(shè)定輸入方式,增量不移位,清除屏幕顯示,延時等待,將采集到的溫濕度數(shù)據(jù)進行轉(zhuǎn)換,十六進制轉(zhuǎn)換成十進制,輸入相應(yīng)的地址數(shù)據(jù),延時等待,輸入需要顯示的數(shù)據(jù)。/*- 主函數(shù)-*/void main(void) EX0init(); /初始化外部中斷 TIM0init();/初始化定時器 LCD_Init(); /初始化液晶 delayms(20); /延時有助于穩(wěn)定 LCD_Clear(); /清屏 LCD_Write_String(5,0,"RECEIVE"); LCD_W

35、rite_Char(9,1,0xdf);/右上角點 LCD_Write_Char(10,1,'C');/ LCD_Write_Char(15,1,'%');/用于顯示溫度濕度單位 while(1)/主循環(huán) if(irok) /如果接收好了進行數(shù)據(jù)處理 Ircordpro(); irok=0; if(irpro_ok) /如果處理好后進行工作處理 LCD_Write_Char(1,1,displayadres1); /寫地址位 LCD_Write_Char(2,1,displayadres2); LCD_Write_Char(7,1,displaydat1); /

36、寫數(shù)據(jù)1 LCD_Write_Char(8,1,displaydat2); LCD_Write_Char(13,1,displaydat3); /寫數(shù)據(jù)2 LCD_Write_Char(14,1,displaydat4);irpro_ok=0; /處理完成標志 delay500ms(); delay500ms(); 終端液晶顯示程序#include "1602.h"#include "delay.h"sbit RS = P24; /定義端口 sbit RW = P25;sbit EN = P26;#define RS_CLR RS=0 #define R

37、S_SET RS=1#define RW_CLR RW=0 #define RW_SET RW=1 #define EN_CLR EN=0#define EN_SET EN=1#define DataPort P0 /*- 判忙函數(shù)-*/ bit LCD_Check_Busy(void) DataPort= 0xFF; RS_CLR; RW_SET; EN_CLR; _nop_(); EN_SET; return (bit)(DataPort & 0x80); /*- 寫入命令函數(shù)-*/ void LCD_Write_Com(unsigned char com) while(LCD_C

38、heck_Busy(); /忙則等待 RS_CLR; RW_CLR; EN_SET; DataPort= com; _nop_(); EN_CLR; /*- 寫入數(shù)據(jù)函數(shù)-*/ void LCD_Write_Data(unsigned char Data) while(LCD_Check_Busy(); /忙則等待 RS_SET; RW_CLR; EN_SET; DataPort= Data; _nop_(); EN_CLR; /*- 清屏函數(shù) -*/ void LCD_Clear(void) LCD_Write_Com(0x01); delayms(5); /*- 寫入字符串函數(shù)-*/ void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *s) if (y = 0) LCD_Write_Com(0x80 + x); /表示第一行 else LCD_Write_Com(0xC0 + x); /表示第二行 while (*s) LCD_Write_Dat

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論