《單片機(jī)原理及應(yīng)用》自動節(jié)水灌溉系統(tǒng)_第1頁
《單片機(jī)原理及應(yīng)用》自動節(jié)水灌溉系統(tǒng)_第2頁
《單片機(jī)原理及應(yīng)用》自動節(jié)水灌溉系統(tǒng)_第3頁
《單片機(jī)原理及應(yīng)用》自動節(jié)水灌溉系統(tǒng)_第4頁
《單片機(jī)原理及應(yīng)用》自動節(jié)水灌溉系統(tǒng)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 數(shù)理與信息工程學(xué)院單片機(jī)原理及應(yīng)用期末課程設(shè)計(jì) 題 目: 基于單片機(jī)的自動節(jié)水灌溉系統(tǒng) 專 業(yè): 班 級: 計(jì)算機(jī)07X班 姓 名: X X X 學(xué) 號: 05191137 指導(dǎo)老師: 成 績: (此文是期末課程設(shè)計(jì)的格式母版,正文無參考價值) ( 2009.6 )目 錄 第1節(jié) 引 言31.1 節(jié)水灌溉系統(tǒng)概述31.2 本設(shè)計(jì)任務(wù)和主要內(nèi)容4第2節(jié) 系統(tǒng)主要硬件電路設(shè)計(jì)52.1 單片機(jī)控制系統(tǒng)原理52.2 單片機(jī)主機(jī)系統(tǒng)電路52.2.1時鐘電路6 2.2.2復(fù)位電路62.2.3數(shù)據(jù)存儲器的擴(kuò)展電路62.3 數(shù)據(jù)采集處理電路72.4 LED顯示系統(tǒng)電路82.5 超限報警電路10第3節(jié) 系統(tǒng)軟

2、件設(shè)計(jì)11 3.1 系統(tǒng)主程序設(shè)計(jì)113.2 采樣子程序設(shè)計(jì)123.3 數(shù)據(jù)處理13 3.3. 1數(shù)字濾波技術(shù)13 3.3.2標(biāo)度變換15 3. 3. 3 BCD轉(zhuǎn)換18 3. 4 LED動態(tài)顯示程序18第4節(jié) 結(jié)束語21參考文獻(xiàn)22基于單片機(jī)的自動節(jié)水灌溉系統(tǒng)(黑體三號,居中)數(shù)理與信息工程學(xué)院 06計(jì)算機(jī)專升本 XX指導(dǎo)教師:余水寶 第1節(jié) 引 言 (黑體小三,居中,以下同)(要求:正文行距1822磅,若有公式,請用WORD公式編輯器,以下同)自動控制節(jié)水灌溉技術(shù)的高低代表著農(nóng)業(yè)現(xiàn)代化的發(fā)展?fàn)顩r,灌溉系統(tǒng)自動化水平較低是制約我國高效農(nóng)業(yè)發(fā)展的主要原因。單片機(jī)控制的滴灌節(jié)水灌溉系統(tǒng),該系統(tǒng)可

3、對不同土壤的濕度進(jìn)行監(jiān)控,并按照作物對土壤濕度的要求進(jìn)行適時、適量灌水,其核心是單片機(jī)和PC機(jī)構(gòu)成的控制部分,主要對土壤濕度與灌水量之間的關(guān)系、灌溉控制技術(shù)及設(shè)備系統(tǒng)的硬件、軟件編程各個部分進(jìn)行實(shí)現(xiàn)。 單片機(jī)控制部分采用AT89C51單片機(jī)為核心,主要由土壤濕度傳感器,信號處理電路,顯示電路,輸出控制電路,故障報警電路等組成,軟件選用匯編語言編程。單片機(jī)可將土壤濕度傳感器檢測到的土壤濕度模擬量轉(zhuǎn)換成數(shù)字量,顯示于LED顯示器上。該系統(tǒng)靈活性強(qiáng),易于操作,可靠性高,將會有更廣闊的開發(fā)前景。1.1 節(jié)水灌溉系統(tǒng)概述 (黑體四號,段前段后空0.5行,以下同) 生命之起源,水為必要條件,沒有了水,地球

4、上的生命將會枯竭。 隨著21世紀(jì)的到來,能源危機(jī)將接踵而至。比能源危機(jī)更可怕的是,作為人類生命之源的水的短缺到了前所未有的程度,這一狀況還將隨著時間的推移和社會的發(fā)展繼續(xù)惡化。水資源危機(jī)已成為全球性的突出問題,利用科技手段緩解這一危機(jī),將是人類主要的出路。農(nóng)業(yè)是人類社會最古老的行業(yè),是各行各業(yè)的基礎(chǔ),也是人類頓以生存的最重要的行業(yè)。農(nóng)業(yè)的發(fā)展從長遠(yuǎn)來看很重要,一是水的問題,二是科技的問題。農(nóng)業(yè)的根本出路在科技,在教育。由傳統(tǒng)農(nóng)業(yè)向現(xiàn)代化農(nóng)業(yè)轉(zhuǎn)變,由粗放經(jīng)營向集約經(jīng)營轉(zhuǎn)變,必須要求農(nóng)業(yè)科技有一個大的發(fā)展,進(jìn)行一次新的農(nóng)業(yè)技術(shù)革命。農(nóng)業(yè)與工業(yè)、交通等行業(yè)相比仍然比較落后,農(nóng)業(yè)灌溉技術(shù)尤其落后。灌溉

5、系統(tǒng)自動化水平較低是制約我國高效農(nóng)業(yè)發(fā)展的主要原因。傳統(tǒng)的灌溉模式自動化程度極低,基本上屬粗放的人工操作,即便對于給定的量,在操作中也無法進(jìn)行有效的控制,為了提高灌溉效率,縮短勞動時間和節(jié)約水資源,必須發(fā)展節(jié)水灌溉控制技術(shù)。 現(xiàn)代智能型控制器是進(jìn)行灌溉系統(tǒng)田間管理的有效手段和工具,它可提高操作準(zhǔn)確性,有利于灌溉過程的科學(xué)管理,降低對操作者本身素質(zhì)的要求。除了能大大減少勞動量,更重要的是它能準(zhǔn)確、定時、定量、高效地給作物自動補(bǔ)充水分,以提高產(chǎn)量、質(zhì)量,節(jié)水、節(jié)能。 現(xiàn)代灌溉控制器的研究使用在我國農(nóng)、林、及園藝為數(shù)不多,與發(fā)達(dá)國家相比,有較大的差距,還基本停留在人工操作上,即使有些地方搞了一些灌溉

6、工程的自動化控制系統(tǒng),也是根據(jù)經(jīng)驗(yàn)法來確定每天灌溉次數(shù)和每次灌溉量,如果灌溉量與作物實(shí)際需水量相比太少,便不能有效的促進(jìn)作物健康成長;而灌溉量太多,肥水流失,又會造成資源浪費(fèi),同時傳統(tǒng)的灌溉法還需要相關(guān)專家的實(shí)時觀察并經(jīng)驗(yàn)指導(dǎo)生產(chǎn),勞動生產(chǎn)率低,這也不能與現(xiàn)代化農(nóng)業(yè)向優(yōu)化、高效化方向發(fā)展要求同步。 隨著計(jì)算機(jī)技術(shù)和傳感器技術(shù)的迅猛發(fā)展,計(jì)算機(jī)和傳感器的價格日益降低,可靠性日益提高,用信息技術(shù)改造農(nóng)業(yè)不僅是可能的而且是必要的。用高新技術(shù)改造農(nóng)業(yè)產(chǎn)業(yè),實(shí)施節(jié)水灌溉已成為我國農(nóng)業(yè)乃至國民經(jīng)濟(jì)持續(xù)發(fā)展帶戰(zhàn)略性的根本大事。本文旨在設(shè)計(jì)一套能對作物生長的土壤濕度進(jìn)行自動監(jiān)控的系統(tǒng),它能對作物進(jìn)行適時、適量

7、的灌水,起到高效灌溉,節(jié)水、節(jié)能的作用。1.2 本設(shè)計(jì)任務(wù)和主要內(nèi)容(黑體四號,段前段后空0.5行,以下同)本論文主要研究單片機(jī)控制的滴灌節(jié)水灌溉系統(tǒng),分別對土壤濕度與灌水量之間的關(guān)系、灌溉控制技術(shù)及系統(tǒng)設(shè)備的軟、硬件各個部分進(jìn)行了研究。主要內(nèi)容如下: 根據(jù)滴灌技術(shù)的特點(diǎn),進(jìn)行節(jié)水灌溉控制系統(tǒng)的整體研究與設(shè)計(jì)。 針對土壤濕度難以用精確的數(shù)學(xué)模型描述的特點(diǎn),采用模糊控制理論,對這一理論進(jìn)行了深入的研究,重點(diǎn)研究雙輸入單輸出的模糊控制方式。 LED顯示土壤濕度值,在灌水期間以倒計(jì)時的方式顯示灌水剩余時間。 當(dāng)土壤濕度值低于設(shè)定的最低值時,系統(tǒng)可自動報警。若有公式,請用WORD公式編輯器,示例如下:

8、限流電阻確定如下: (1-1)第1節(jié)的公式編號依此為(1-1),(1-2) . (1- n)第2節(jié)的公式編號依此為(2-1),(2-2) . (2- n) 第2節(jié) 系統(tǒng)主要硬件電路設(shè)計(jì) (黑體小三居中,另起一頁) (本節(jié)最好有方案比較)2.1 組成框圖(黑體四號,段前段后空0.5行,以下同)圖2-1 電子鐘系統(tǒng)原理框圖(宋體5號,以下同)22 單片機(jī)主機(jī)系統(tǒng)電路AT89C51單片機(jī)是51系列單片機(jī)的一個成員,是8051單片機(jī)的簡化版。內(nèi)部自帶2K字節(jié)可編程FLASH存儲器的低電壓、高性能COMS八位微處理器,與Intel MCS-51系列單片機(jī)的指令和輸出管腳相兼容。由于將多功能八位CPU和閃

9、速存儲器結(jié)合在單個芯片中,因此,AT89C2051構(gòu)成的單片機(jī)系統(tǒng)是具有結(jié)構(gòu)最簡單、造價最低廉、效率最高的微控制系統(tǒng),省去了外部的RAM、ROM和接口器件,減少了硬件開銷,節(jié)省了成本,提高了系統(tǒng)的性價比。圖2-2 單片機(jī)主機(jī)系統(tǒng)圖(宋體5號,以下同)2.2.1時鐘電路(宋體小四加黑,段前段后空0.5行,以下同) 單片機(jī)的時鐘信號用來提供單片機(jī)片內(nèi)各種微操作的時間基準(zhǔn),時鐘信號通常用兩種電路形式得到:內(nèi)部振蕩和外部振蕩。MCS-51單片機(jī)內(nèi)部有一個用于構(gòu)成振蕩器的高增益反向放大器,引腳XTALl和XTAL2分別是此放大電器的輸入端和輸出端,由于采用內(nèi)部方式時,電路簡單,所得的時鐘信號比較穩(wěn)定,實(shí)

10、際使用中常采用這種方式,如圖2-2所示在其外接晶體振蕩器(簡稱晶振)或陶瓷諧振器就構(gòu)成了內(nèi)部振蕩方式,片內(nèi)高增益反向放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起可構(gòu)成一個自激振蕩器并產(chǎn)生振蕩時鐘脈沖。 圖2-2中外接晶體以及電容C2和C1構(gòu)成并聯(lián)諧振電路,它們起穩(wěn)定振蕩頻率、快速起振的作用,其值均為30P左右,晶振頻率選6MHz oRESET2.2.2復(fù)位電路(宋體小四加黑,段前段后空0.5行,以下同) 為了初始化單片機(jī)內(nèi)部的某些特殊功能寄存器,必須采用復(fù)位的方式,復(fù)位后可使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初始狀態(tài)開始正常工作。單片機(jī)的復(fù)位是靠外電路來實(shí)現(xiàn)的,在正常運(yùn)行情況下,

11、只要RST引腳上出現(xiàn)兩個機(jī)器周期時間以上的高電平,即可引起系統(tǒng)復(fù)位,但如果RST引腳上持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài)。復(fù)位后系統(tǒng)將輸入/輸出(1/0)端口寄存器置為FFH,堆棧指針SP置為07H, SBUF內(nèi)置為不定值,其余的寄存器全部清0,內(nèi)部RAM的狀態(tài)不受復(fù)位的影響,在系統(tǒng)上電時RAM的內(nèi)容是不定的。復(fù)位操作有兩種情況,即上電復(fù)位和手動(開關(guān))復(fù)位。本系統(tǒng)采用上電復(fù)位方式。 圖2-2中R9和Cl組成上電復(fù)位電路,其值R取為1KQ, C取為1pF.2.2.3 數(shù)據(jù)存儲器的擴(kuò)展電路(宋體小四加黑,段前段后空0.5行,以下同) AT89C51單片機(jī)外接數(shù)據(jù)RAM時,P2口輸出存儲器地址

12、的高8位,PO口分時輸出地址的低8位和傳送指令字節(jié)或數(shù)據(jù)。PO口先輸出低8位地址信號,在ALE有效時將它鎖存到外部地址鎖存器中,然后PO口作為數(shù)據(jù)總線使用,此處地址鎖存器選用74LS373,實(shí)際電路圖連接如圖2-4所示。圖2-4 數(shù)據(jù)存儲器的擴(kuò)展電路(宋體5號,以下同) 2.3 數(shù)據(jù)采集處理電路 ADC0809是一種8位逐次逼近式A/D轉(zhuǎn)換器,內(nèi)部具有鎖存控制的8路模擬開關(guān),外接8路模擬輸入端,可同時對8路0-5V的輸入模擬電壓信號分時進(jìn)行采集轉(zhuǎn)換,本系統(tǒng)只用到INO和INl兩路輸入通道。ADC0809轉(zhuǎn)換器的分辨率為8位,最大不可調(diào)誤差小于士1LSB,采用單一+5V供電,功耗為15mW,不必

13、進(jìn)行零點(diǎn)和滿度調(diào)整。由于ADC0809轉(zhuǎn)換器的輸出數(shù)據(jù)寄存器具有可控的三態(tài)輸出功能,輸出具有TTL三態(tài)鎖存緩沖器,故其8位數(shù)據(jù)輸出引腳可直接與數(shù)據(jù)總線相連。A/D轉(zhuǎn)換器需外部控制啟動轉(zhuǎn)換信號方能進(jìn)行轉(zhuǎn)換,這一啟動轉(zhuǎn)換信號可由CPU提供,不同型號的A/D轉(zhuǎn)換器,對啟動轉(zhuǎn)換信號的要求也不同,分脈沖啟動和電平啟動兩種,ADC0809采用脈沖啟動轉(zhuǎn)換,只需給A/D轉(zhuǎn)換器的啟動控制轉(zhuǎn)換的輸入引腳(START)上,加入正脈沖信號,即啟動A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換開始后,轉(zhuǎn)換結(jié)束信號輸出端(EOC)信號變低,轉(zhuǎn)換結(jié)束時,EOC返回高電平,以通知主機(jī)讀取轉(zhuǎn)換結(jié)果的數(shù)字量,這個信號可以作為A/D轉(zhuǎn)換器的狀態(tài)信號

14、供查詢,也可以用作中斷請求信號。圖2-5 數(shù)據(jù)采集處理電路(宋體5號,以下同)本系統(tǒng)中ADC0809與AT89C51單片機(jī)的接口如圖2-5所示,采用等待延時方式。ADC0809的時鐘頻率范圍要求在10-1280kHz , AT89C51單片機(jī)的ALE腳的頻率是單片機(jī)時鐘頻率的1/6,因此當(dāng)單片機(jī)的時鐘頻率采用6MHz,ADC0809輸入時鐘頻率即為CLK=1MHz,發(fā)生啟動脈沖后需延時100Us才可讀取A/D轉(zhuǎn)換數(shù)據(jù)。 如圖2-5連接方式,ADC0809的8位數(shù)據(jù)輸出引腳可直接與數(shù)據(jù)總線相連,地址譯碼引腳A, B, C分別與74LS373的A, B, C相連,以選通INO- IN7中的一個通道

15、。AT89C51的p 2.6作為片選信號,在啟動AM轉(zhuǎn)換時,由單片機(jī)的寫信號WR和p2.??刂艫DC的地址鎖存和轉(zhuǎn)換啟動。由于ALE與START連在一起,因此ADC0809在鎖存通道地址的同時也啟動轉(zhuǎn)換,在讀取轉(zhuǎn)換結(jié)果時,用單片機(jī)的讀信號RD和p2.。引腳一級或非門產(chǎn)生的正脈沖作為OE信號,用以打開三態(tài)輸出鎖存器。24 LED顯示系統(tǒng)電路微機(jī)化測控系統(tǒng)中常用的測量數(shù)據(jù)的顯示器有發(fā)光二極管顯示器(簡稱LED或數(shù)碼管)和液晶顯示器(簡稱LCD)。這兩種顯示器都具有線路簡單、耗電少、成本低、壽命長等優(yōu)點(diǎn),本系統(tǒng)輸出結(jié)果選用4個LED顯示。數(shù)碼管有共陰共陽之分,本系統(tǒng)采用8段共陰型LED,其原理圖如圖

16、2-6所示,每位數(shù)碼管內(nèi)部有8個發(fā)光二極管,公共端由8個發(fā)光二極管的陰極并接而成,正常顯示時公共端接低電平(GND),各發(fā)光二極管是否點(diǎn)亮取決于a-dp各引腳上是否是高電平。 LED數(shù)碼管的外形結(jié)構(gòu)如圖2-6,外部有10個引腳,其中3, 8腳為公共端也稱位選端,其余8個引腳稱為段選端,當(dāng)要使某一位數(shù)碼管顯示某一數(shù)字(0-9中的一個)必須在這個數(shù)碼管的段選端加上與數(shù)字顯示數(shù)字對應(yīng)的8位段選碼(也稱字形碼),在位選端加上低電平即可。由于系統(tǒng)要顯示的內(nèi)容比較簡單,顯示量不多,所以選用數(shù)碼管既方便又經(jīng)濟(jì)。LED有共陰極和共陽極兩種。如圖2-6所示。二極管的陰極連接在一起,通常此公共陰極接地,而共陽極則

17、將發(fā)光二極管的陽極連接在一起,接入+5V的電壓。一位顯示器由8個發(fā)光二極管組成,其中7個發(fā)光二極管構(gòu)成字型“8”的各個筆劃(段)ag,另一個小數(shù)點(diǎn)為dp發(fā)光二極管。當(dāng)在某段發(fā)光二極管施加一定的正向電壓時,該段筆劃即亮;不加電壓則暗。為了保護(hù)各段LED不被損壞,需外加限流電阻。 符號和引腳 共陰極 共陽極圖2-6 LED數(shù)碼管結(jié)構(gòu)原理圖數(shù)碼管顯示器有兩種工作方式,即靜態(tài)顯示方式和動態(tài)掃描顯示方式。為節(jié)省端口及降低功耗,本系統(tǒng)采用動態(tài)掃描顯示方式。動態(tài)掃描顯示方式需要解決多位LED數(shù)碼管的“段控”和“位控”問題,本電路的通過P1口實(shí)現(xiàn):而每一位的公共端,即LED數(shù)碼管的“位控”,則由P3口控制。這

18、種連接方式由于多位字段線連在一起,因此,要想顯示不同的內(nèi)容,必然要采取輪流顯示的方式,即在某一瞬間,只讓其中的某一位的字位線處于選通狀態(tài),其它各位的字位線處于斷開狀態(tài),同時字段線上輸出這一位相應(yīng)要顯示字符的字段碼。在這一瞬時,只有這一位在顯示,其他幾位則暗。在本系統(tǒng)中,字位線的選通與否是通過PNP三極管的導(dǎo)通與截止來控制,即三極管處于“開頭”狀態(tài)。因AT89C51單片機(jī)I/O口資源有限,必須對其Il0口進(jìn)行擴(kuò)展才能滿足實(shí)現(xiàn)系統(tǒng)功能,如圖2-7所示為用8155擴(kuò)展1/0口的4個8位LED動態(tài)顯示器,顯示掃描由程控實(shí)現(xiàn),其中PA口輸出字型碼,PC口輸出位選信號即掃描信號,圖中片選線CE和AT89C

19、51的P2.7口相連,IO/ M選通輸入線與P2.4口相連,該系統(tǒng)中當(dāng)P2.7=0且P2.4 =1時,選中8155芯片內(nèi)三個I/O口。相應(yīng)的端口地址分配如表2-1:表2-1 8155端口地址分配 (宋體5號)圖2-7 顯示電路2.5 超限報警電路為了在某些緊急狀態(tài)或反常狀態(tài)下,能使操作人員不致忽視,以便及時處理,往往需要有某種更能引起人們注意提起警覺的報警信號產(chǎn)生,這種報警信號通常有三種類型:閃光報警、鳴音報警、語音報警,本系統(tǒng)采用簡單易行的聲光報警電路。如圖2-8所示報警電路,報警設(shè)備選用壓電式蜂鳴器,它約需要10mA的驅(qū)動電流,只需在其兩條引線上加3一15V的直流電壓,即可產(chǎn)生3KHz左右

20、的蜂鳴聲音,圖中蜂鳴器的一端接在高電平+SV,另一端接Pl.0,在初態(tài)Pl.0始終輸出高電平1,當(dāng)需要報警時,程序?qū)ζ涠丝谇辶慵纯?,聲音的長短可用延時程序控制實(shí)現(xiàn)。圖中接入的發(fā)光二極管LED為超高線報警器,當(dāng)P1.1端輸出為低電平“0”時,二極管導(dǎo)通,燈亮發(fā)出報警信號。 圖2-8 報警電路第3節(jié) 系統(tǒng)的軟件設(shè)計(jì)系統(tǒng)軟件程序設(shè)計(jì)主要包括:主程序設(shè)計(jì),采樣子程序設(shè)計(jì),數(shù)據(jù)處理程序,顯示子程序,串口通信程序等。各芯片地址編碼為:RAM6116: OFOOOH-OF7FFH 81551/0口:7FF8H - 7FFDHADC0809: OBFF8H-OBFFFH31 系統(tǒng)主程序設(shè)計(jì) (主要程序應(yīng)有流程

21、圖和必要的說明)ADTURNO EQU 21H ;INO通道A/D轉(zhuǎn)換數(shù)據(jù)存放首址ADTURN1 EQU 2CH ;IN1通道A/D轉(zhuǎn)換數(shù)據(jù)存放首址LINEADRO EQU 37H ;1N0采集數(shù)據(jù)經(jīng)濾波處理數(shù)據(jù)存放地址LINEADR1 EQU 38H ;INl采集數(shù)據(jù)經(jīng)濾波處理數(shù)據(jù)存放地址 LINEADR EQU 39H ;平均值存放地址 HUMID EQU 3BH ;標(biāo)度變換后的濕度值存放地址 BCDADR EQU 3CH ;BCD轉(zhuǎn)換后的濕度值存放地址 HUMADR EQU 3DH ;上位機(jī)傳來的濕度值存放地址 TIMEADR EQU 3EH ;上位機(jī)傳來的時間值存放地址 T100US

22、EQU 256-50 ;延時參 Cl00US EQU 3FH SHOWADR EQU 40H ;顯示區(qū)數(shù)據(jù)存放首址 ORG OOOOH SJMP START ORG OOOBH ;定時器0中斷服務(wù)程序入口 LJMP TOINT ORG 0023H ;串行I/O中斷服務(wù)程序入口 LJMP SERVE ORG 0050HSTART: MOV SP, #50H ;設(shè)置堆棧 MOV HUMADR, #OFFH SETB OD3H ;選中寄存器3 SETS OD4H MOV R0, #HUMADR CLR OD3H ;選中寄存器0 CLR OD4H MOV TMOD, #22H ;主程序初始化MOV T

23、H1, #OF3HMOV TLl, #OF3HMOV SCON, #50HMOV PCON, #80HMOV DPTR, #7FF8HMOV A, #4DHMOVX DPTR, ASETB TR1SETB EASETB ESRUN: LCALL AD;調(diào)用A/D轉(zhuǎn)換子程序LCALL MAOPAO;調(diào)用濾波子程序LCALL TURN;調(diào)用濕度轉(zhuǎn)換子程序MOV A, HUMID;將濕度值送往上位機(jī)MOV SBUF, ALCALL TWOSEC;延時等待兩妙鐘LCALL BCDTURN;調(diào)用BCD轉(zhuǎn)換子程序LCALL SHOW;調(diào)用顯示子程序MOV A, HUMIDCJNE A, HUMADR, C

24、OMP; 檢測到的濕度值大于上位機(jī)送來 的濕度值時,則循環(huán)采樣,否則報 警灌溉DONE: CLR P1.1LCALL ALARM;調(diào)用報警延時子程序進(jìn)行灌溉動作LCALL TIMEORL P1, #02HLCALL TENMIN;灌水結(jié)束等待10分鐘Limp RUN;回到主程序COMP: JC DONELJMP RUN END32 采樣子程序設(shè)計(jì)根據(jù)電路圖2-5,因EOC未接入單片機(jī),故只能采用延時等待的方法來讀取A/D轉(zhuǎn)換結(jié)果,ADC0809的INO和INl兩個地址分別是OBFF8H, OBFF9H, INO通道采集到的11個數(shù)據(jù)放入以ADTURNO(片內(nèi)21H)為首址的一片數(shù)據(jù)區(qū)內(nèi),IN1

25、通道采集到的11個數(shù)據(jù)放入以ADTURN1(片內(nèi)2CH)為首址的另一片數(shù)據(jù)區(qū)內(nèi)。 程序清單:AD: MOV R0, #ADTURNO MOV R6, #OBHADLOOP: MOV DPTR, #OBFF8H; 啟動INO通道A/D轉(zhuǎn)換GOON: MOVX DPTR, A MOV R7, #OAOH; 延時等待轉(zhuǎn)換結(jié)束DLAY: NOP NOP NOP NOP NOP DJNZ R7, DLAY MOVX A, DPTR MOV R0, A;將轉(zhuǎn)換后的數(shù)據(jù)送入以ADTURNO為首址的一片RAM內(nèi)INC RODJNZ R6, ADLOOPSJMP ADRET3.3 數(shù)據(jù)處理3.3.1 數(shù)字濾波技

26、術(shù) 在單片機(jī)進(jìn)行數(shù)據(jù)采集時,輸入信號總難免受到這樣那樣的隨機(jī)干擾,它們來自被測信號源、傳感器、外界干擾等,從而使A/D送入單片機(jī)的數(shù)據(jù)中存在誤差,這種因隨機(jī)千擾而引入的誤差為隨機(jī)誤差,其特點(diǎn)是在相同條件下測量同一量時,其大小和符號作無規(guī)則變化而無法預(yù)測,但測量次數(shù)足夠多時,其總體服從統(tǒng)計(jì)規(guī)律,大多數(shù)隨機(jī)誤差服從正態(tài)分布。為了克服隨機(jī)干擾引起的誤差,硬件上可采用濾波技術(shù);軟件上可按照統(tǒng)計(jì)規(guī)律采用數(shù)字濾波方法來抑制有效信號中的干擾成分,消除誤差。本系統(tǒng)即采用數(shù)字濾波法。 數(shù)字濾波無需硬件,它是用軟件算法來實(shí)現(xiàn)的,只要適當(dāng)改變軟件濾波程序的運(yùn)行參數(shù),就能方便的改變其濾波特性,實(shí)時性很強(qiáng)。常用的數(shù)字濾

27、波算法有:限幅濾波法、中位值濾波法、算術(shù)平均濾波法、去極值平均濾波法、移動平均濾波法、加權(quán)平均濾波法、低通濾波法、復(fù)合濾波法等。 中位值濾波法能有效的克服偶然因素引起的波動或采樣器不穩(wěn)定引起的誤碼等脈沖干擾,對變化比較緩慢的被測參數(shù)采用此法能收到良好的濾波效果。因本系統(tǒng)的被測參數(shù)土壤濕度為緩慢變化參數(shù),故采用中位值濾波算法。 中位值濾波算法實(shí)際上是一種排序方法,其具體思路是:對被測參數(shù)連續(xù)采樣N次(一般N為奇數(shù)),然后把N次采樣值按大小排列,取其中間值為本次采樣值。 本程序每次對土壤濕度連續(xù)采樣11次,ADTURNO為片內(nèi)RAM的21H地址單元,是采樣值放入內(nèi)存的首地址,濾波結(jié)果放入片內(nèi)RAM

28、的37H地址單元,即LINEADRO地址。 程序清單:MAOPAO: MOV Rl, #ADTURNO MOV R5, #OAH CLR OOHFILTER: MOV 3CH, R1 INC Rl MOV A, R1 CLR C SUBB A, 3CH JNC NEXT MOV A, Rl MOV R1, 3CH DEC R1 MOV Rl, A INC Rl SETB OOHNEXT: DJNZ R5, FILTER JB OOH, MAOPAO MOV LINEADRO, 26H RET圖3-1 數(shù)字濾波程序流程圖 3.3.2 標(biāo)度變換 在微機(jī)化測控系統(tǒng)中,經(jīng)A/D轉(zhuǎn)換器接口送入微機(jī)的數(shù)據(jù)

29、,是對被測量進(jìn)行測量得到的原始數(shù)據(jù)。這些原始數(shù)據(jù)送入微機(jī)后通常要先進(jìn)行一定的處理,然后才能輸出作為顯示器的顯示數(shù)據(jù)。例如當(dāng)被測溫度為1000 C,經(jīng)熱電偶轉(zhuǎn)換成熱電勢,再經(jīng)放大和A/D轉(zhuǎn)換得到的數(shù)字是10,這個A/D轉(zhuǎn)換結(jié)果10雖然與1000C溫度是對應(yīng)的,但數(shù)字上并不是相等的。因此,不能當(dāng)作溫度值去顯示或打印,必須把A/D轉(zhuǎn)換結(jié)果10變換成供顯示或打印的溫度值100,這個變換就是數(shù)字顯示的標(biāo)度變換。 在該系統(tǒng)中,濕度傳感器和A/D相連,川D轉(zhuǎn)換器和單片機(jī)相連,其中不包括任何非線性的數(shù)字化測量通道,因此被測量的值N與A/D轉(zhuǎn)換結(jié)果D,存在如圖3-2所示線性關(guān)系。圖3-2 線性關(guān)系在該系統(tǒng)中,土

30、壤濕度測量范圍0100%對應(yīng)的輸出電壓范圍為0-5V,ADC0809為8位A./D轉(zhuǎn)換器,轉(zhuǎn)換輸出的數(shù)碼為0255。即根據(jù)上面公式,DL=0lD H =255,NL=0, NH=100.TURN: SETB OD3H CLR OD4H;選則第一組寄存器 CLR C MOV A, LINEADR MOV B, #20 MUL AB CLR OD2H MOV R7, B MOV R6, A MOV R5, #00H MOV R4, #33HLOOP1: MOV A, R7 JNZ LOOP2 MOV A, R6 JNZ LOOP2 MOV R7, #0 MOV R6, #0 SJMP$LOOP2:

31、 CLR A MOV R2, A MOV R3, A MOV Rl, #16ADIN: CLR C MOV A, R6 RLC A MOV R6, A MOV A, R7 RLC A MOV R7, A MOV A, R2 RLC A MOV R2, A MOV A, R3 RLC ALOOP3:DJNZ R1,ADIN MOV A,R3 JB ACC.7, LOOP4 MOV A, R2RLC AMOV R2,AMOV A, R3RLC ASUBB A,R5JC DONE1JNZ LOOP4MOV A,R2SUBB A,R4JC DONE1LOOP4:MOV A,R6 ADD A,#1 MO

32、V R6,A MOV A,R7 ADDC A,#0 MOV R7,ADONE1: MOV HUMID,R6 CLR 0D3HRET3.3.3 BCD轉(zhuǎn)換 計(jì)算機(jī)所能識別和處理的是二進(jìn)制數(shù),在進(jìn)行標(biāo)度變換后的結(jié)果都是用二進(jìn)制數(shù)進(jìn)行計(jì)算和存儲的,而在輸入/輸出系統(tǒng)中,按照人們的習(xí)慣均采用十進(jìn)制數(shù)比較直觀一些。在計(jì)算機(jī)中十進(jìn)制數(shù)常采用BCD碼(即用四位二進(jìn)制數(shù)代表單片機(jī)控制的節(jié)水灌溉系統(tǒng)的研究一位十進(jìn)制數(shù))表示,這樣采樣得到的數(shù)據(jù)才可以以十進(jìn)制的形式輸出顯示。本系統(tǒng)將二進(jìn)制數(shù)轉(zhuǎn)換成BCD數(shù)的方法是將其除以10”次冪,即得相應(yīng)位數(shù),最后的余數(shù)為個位數(shù)。程序如下:BCDTURN: MOV SHOWADR

33、+3, #00H因濕度值只能小于100,故千位數(shù)為0 MOV B, #100 MOV A, HUMID DIV AB MOV SHOWADR+2,A將百位數(shù)送SHOWADR+2顯示地址 MOV A, #10 XCH A, B DIV AB MOV SHOWADR+1,A將十位數(shù)送SHOWADR+1顯示地址 MOV SHOWADR, B將個位數(shù)送SHOWADR顯示地址 RET3.4 LED動態(tài)顯示程序 根據(jù)LED動態(tài)顯示系統(tǒng)電路圖2-7, 8155控制口的地址為7FF8H, POA口地址為7FF9H , PC口地址為7FFBH,片內(nèi)顯示緩沖區(qū)為SHOWADR-SHOWADR+3 (40H-43H

34、),共4個單元對應(yīng)4個數(shù)碼管。程序中先取SHOWADR-I-3中的數(shù),對應(yīng)選中最左邊的數(shù)碼管,其余類推。由于LED為共陰極接法,并有反相驅(qū)動,字型表TAB中有效的字型碼為:表3-1 LED顯示段碼字型共陽極段共陰極段字型共陽極段共陰極段0C0H3FH990H6FH1F9H06HA88H77H2A4H5BHB83H7CH3B0H4FHCC6H39H499H66HDA1H5EH592H6DHE86H79H682H7DHF84H71H7F8H07H空白FFH00H880H7FHP8CH73H程序清單如下:MOV DPTR, #7FF8H;指向8155控制口MOV A, #4DH;設(shè)置8155工作方式

35、字MOVX DPTR, A;設(shè)A口、C口均為輸出SHOW: CLR OD3HSETB OD4H ;選中寄存器2組MOV R4, #OFFHSHOWSTART: MOV R0, SHOWADR+3 ;指向緩沖區(qū)末單元MOV R1, #4;顯示4位LEDSHOWLED: MOV R6, #20HMOV R7, #00HDIR 1: MOV A, #00H MOV DPTR, #7FFBH MOVX DPTR, AMOV A,R0MOV DPTR, #TABMOV A, A+DPTRMOV DPTR, #7FF9HMOVX DPTR,AMOV A,R6MOV DPTR,# 7FFBHMOVX DPTR,AHERE: DJNZ R7,HEREDEC ROCLR CMOV A,R6RRC AMOV R6,AJNZ DIR1DJNZ R1,SHOWLEDDJNZ R4,SHOWSTARTCLR 0D4HTAB:DB OCOH

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論