基于單片機(jī)的自動灌溉控制器的畢業(yè)設(shè)計_第1頁
基于單片機(jī)的自動灌溉控制器的畢業(yè)設(shè)計_第2頁
基于單片機(jī)的自動灌溉控制器的畢業(yè)設(shè)計_第3頁
基于單片機(jī)的自動灌溉控制器的畢業(yè)設(shè)計_第4頁
基于單片機(jī)的自動灌溉控制器的畢業(yè)設(shè)計_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、畢業(yè)設(shè)計(論文)課 題 名 稱 自動灌溉控制器的設(shè)計 學(xué) 生 姓 名 學(xué) 號 系、年級專業(yè) 指 導(dǎo) 教 師 職 稱 2010年5月30日摘 要近幾年來,隨著水資源的日趨緊張,世界各國都在積極探索行之有效的節(jié)水途徑和措施。自動灌溉技術(shù)是為了解決水資源不足,提高灌溉效率而發(fā)展起來的現(xiàn)代灌溉技術(shù)之一。本文設(shè)計了一個自動灌溉控制器,該系統(tǒng)以AT89C51單片機(jī)為控制核心,采用模塊化的設(shè)計方案,由濕度采集模塊、步進(jìn)電機(jī)控制模塊、鍵盤接口模塊和顯示模塊組成。濕度采集模塊以探針式電容濕度傳感器為核心,步進(jìn)電機(jī)控制電路模塊采用了達(dá)林頓驅(qū)動芯片ULN2803,顯示電路模塊主要由LCD12864構(gòu)成。在閉環(huán)(自動

2、)模式下,該系統(tǒng)能自動對土壤的濕度進(jìn)行檢測,當(dāng)實際濕度低于警戒值時單片機(jī)自動啟動步進(jìn)電機(jī)進(jìn)行灌溉。在時間(手動)模式下,可通過鍵盤設(shè)置灌溉的時間,超過該時間,則停止灌溉。關(guān)鍵詞:AT89C51;探針式電容濕度傳感器;ULN2803達(dá)林頓驅(qū)動;LCD12864 ABSTRACTIn recent years, along with the freshwater getting less, all countries in the world actively explore effective ways and measures to save water. Automatic irrigati

3、on technology is one of the modern irrigation technologies to deal with the water shortage, improving irrigation efficiency.This paper designs an automatic irrigation controller. The system use AT89C51 as control core, with modular design scheme. There are four modules: humidity acquisition module,

4、the stepper motor control module, keyboard interface module and display module. Humidity acquisition module mainly uses probes type capacitor humidity sensors as the core; stepping motor control circuit module uses the ULN2803 drive chip linton; display circuit module mainly composed by LCD12864. In

5、 the loop (automatically) mode, this system can detect soil moisture. When actual humidity is lowwer than vigilance value, microcontroller automatic startup stepper motor to irrigat. In time (manual) mode, users can set the time through the keyboard.when the irrigation time is out, then stop the irr

6、igation.Keywords: AT89C51;Probe type capacitor humidity sensors;ULN2803 da linton driver;LCD12864目 錄摘 要IABSTRACTII第1章 緒論11.1 引言11.2 課題來源11.3 國內(nèi)外現(xiàn)狀2第2章 方案設(shè)計與論證42.1 總體方案論證42.2 鍵盤方案選取52.3 土壤濕度傳感器的選取6第3章 系統(tǒng)硬件電路設(shè)計93.1 AT89C51單片機(jī)硬件電路93.2 濕度采集電路123.3 矩陣鍵盤電路設(shè)計143.4 LCD液晶顯示電路153.5 步進(jìn)電機(jī)驅(qū)動電路19第4章 系統(tǒng)軟件設(shè)計214.1 程

7、序設(shè)計214.2 主程序設(shè)計224.3 12864 LCD顯示子程序設(shè)計244.4 鍵盤子程序設(shè)計28第5章 系統(tǒng)仿真355.1 PROTUES仿真軟件介紹355.2 仿真電路設(shè)計355.3系統(tǒng)總體電路仿真36第6章 結(jié)束語41參考文獻(xiàn)42致謝43附錄源程序代碼44附錄 系統(tǒng)整體電路圖54第1章 緒論1.1 引言隨著中國農(nóng)業(yè)現(xiàn)代化進(jìn)程的加快、農(nóng)業(yè)結(jié)構(gòu)的調(diào)整以及我國加入WTO等因素,農(nóng)業(yè)灌溉自動化技術(shù)的要求越來越高,灌溉控制器在我國有著巨大的市場。節(jié)水灌溉控制器近期在中國應(yīng)朝著價格低、性能可靠、操作簡便的方向發(fā)展。但從長遠(yuǎn)利益考慮,新的智能化技術(shù)、傳感技術(shù)和農(nóng)業(yè)科技的引入、應(yīng)用和普及,將會有智能

8、化程度更高、功能更強(qiáng)、性能更穩(wěn)定可靠的灌溉控制器出現(xiàn)。本設(shè)計以AT89C51單片機(jī)為主要硬件模塊,通過軟件編程實現(xiàn)對土壤濕度進(jìn)行多點檢測,當(dāng)所測的實際濕度低于警戒值時,將觸發(fā)灌溉控制器裝置。系統(tǒng)還可以實現(xiàn)時間控制方式,隨時灌溉,從而也體現(xiàn)了多用途、人性化的現(xiàn)代智能化系統(tǒng)設(shè)計要求。根據(jù)本設(shè)計的功能要求,可確定此方案:以AT89C51單片機(jī)為控制電路的核心,采用模塊化的設(shè)計方案。在閉環(huán)控制方式下,利用濕度采集模塊將多處不同地點檢測到的濕度模擬量進(jìn)行模數(shù)轉(zhuǎn)化后傳送給單片機(jī),單片機(jī)將采集到的數(shù)據(jù)與警戒值比較;若采集數(shù)據(jù)低于警戒值,則啟動步進(jìn)電機(jī)驅(qū)動模塊進(jìn)行灌溉;若采集數(shù)據(jù)高于警戒值,則不啟動驅(qū)動模塊進(jìn)

9、行灌溉。顯示模塊將采集數(shù)據(jù)和灌溉信息顯示在顯示屏上。灌溉時間一到,驅(qū)動電路則停止驅(qū)動步進(jìn)電機(jī),灌溉停止。在時間控制方式下,用戶通過鍵盤輸入進(jìn)行灌溉的時間,時間一到,灌溉停止。1.2 課題來源經(jīng)過多年的發(fā)展,國外灌溉控制器已逐步趨于成熟、系列化,但價格昂貴,國內(nèi)雖引進(jìn)一些,但多數(shù)是農(nóng)業(yè)示范區(qū)、科研單位、高校,雖然國外生產(chǎn)的灌溉控制器性能優(yōu)越,但沒有考慮我國特殊的自然、氣候、土地資源、農(nóng)民經(jīng)濟(jì)狀況等因素,因而國外引進(jìn)的灌溉控制器在國內(nèi)應(yīng)用并不普及。國內(nèi)雖然有多家研制灌溉控制器,但多數(shù)是小規(guī)模、實驗和理論的探討,應(yīng)用不夠普及,究其原因一則是開發(fā)性能完善的灌溉控制系統(tǒng)需要大量的人力、物力的投入,需要多

10、部門、多學(xué)科的融合,這在一定程度上限制了性能完善、適應(yīng)性強(qiáng)的控制器的開發(fā)。其次是現(xiàn)在開發(fā)出來的灌溉控制器價格昂貴,農(nóng)民盡管知道能節(jié)省人力、灌溉用水、提高產(chǎn)量,但由于一次性投資太大,多數(shù)農(nóng)民承受不起,這也在一定程度上限制了灌溉控制器的普及1。隨著中國農(nóng)業(yè)現(xiàn)代化進(jìn)程的加快、農(nóng)業(yè)結(jié)構(gòu)的調(diào)整、以及我國加人WTO等因素,可以預(yù)計對農(nóng)業(yè)灌溉自動化技術(shù)的要求會越來越高,灌溉控制器在我國將有巨大的市場。節(jié)水灌溉控制器近期在中國應(yīng)朝著價格低、性能可靠、操作簡便的方向發(fā)展。但從長遠(yuǎn)利益考慮,新的智能化技術(shù)、傳感技術(shù)和農(nóng)業(yè)科技的引入、應(yīng)用和普及,將會有智能化程度更高、功能更強(qiáng)、性能更穩(wěn)定可靠的灌溉控制器出現(xiàn)。綜上所

11、述,西方發(fā)達(dá)國家在節(jié)水灌溉控制器的開發(fā)上已越來越成熟,且發(fā)展趨勢是研制大型分布式控制系統(tǒng)和小面積單片機(jī)控制系統(tǒng),并帶有通信功能,能與上位機(jī)進(jìn)行通信,并可由微機(jī)對其編程操作。同時隨著人工智能技術(shù)的發(fā)展,模糊控制、神經(jīng)網(wǎng)絡(luò)等新技術(shù)為節(jié)水灌溉控制器的研制開辟了廣闊的應(yīng)用前景。而國內(nèi)在灌溉控制器的研制方面還沒有形成規(guī)模大、應(yīng)用范圍廣的成套灌溉控制產(chǎn)品。國內(nèi)的一些高爾夫球場等大面積場地灌溉控制,一般引用國外現(xiàn)成的成套灌溉控制產(chǎn)品。而廣大農(nóng)村可根據(jù)我國國情和各地經(jīng)濟(jì)和技術(shù)發(fā)展的實際情況,采取簡單可行的節(jié)水灌溉控制措施及相應(yīng)的排灌機(jī)械和設(shè)備,大力發(fā)展可靠、實用、成本低、操作簡便的節(jié)水灌溉控制器,這樣做不僅具

12、有廣闊的市場,而且具有巨大的社會和經(jīng)濟(jì)效益。1.3 國內(nèi)外現(xiàn)狀國內(nèi)在開發(fā)灌溉自動控制系統(tǒng)方面處于研制、試用階段,能實際投入應(yīng)用,且應(yīng)用較廣的灌溉控制器還不多見。在開發(fā)的產(chǎn)品中有代表性的如中國農(nóng)業(yè)機(jī)械化研究院聯(lián)合多家單位研制的2000型溫室自動灌溉施肥系統(tǒng)。該系統(tǒng)是國家“九五”科技攻關(guān)項目中自主研發(fā)的科技產(chǎn)品,該系統(tǒng)結(jié)合我國溫室的環(huán)境和實際使用特點,以積木分布式系統(tǒng)結(jié)構(gòu)原理,解決了計算機(jī)適時閉環(huán)控制、動態(tài)監(jiān)測、控制顯示中文、施肥泵混合比可調(diào)、電磁閥開度可調(diào)等關(guān)鍵技術(shù)問題。該系統(tǒng)具有手動控制、程序控制和自動控制等多種灌溉系統(tǒng)模式,可按需要靈活應(yīng)用,在大連、北京等地已經(jīng)投入了應(yīng)用,從系統(tǒng)運行情況來看

13、,該系統(tǒng)有很好控制效果,取的了一定的經(jīng)濟(jì)效益和社會效益2。天津市水利科學(xué)研究所研制的溫室滴灌施肥智能化控制系統(tǒng)主要用于現(xiàn)代溫室,日光溫室作物的灌溉營養(yǎng)液施肥,環(huán)境監(jiān)測的智能控制,采用世界先進(jìn)的可編程序控制器和觸摸屏控制技術(shù),性能可靠、功能齊全、人機(jī)界面友好、操作簡單、價格低廉,此控制系統(tǒng)的控制流量為15,控制規(guī)模為12時,能控制24路閥門,系統(tǒng)具有人工干預(yù)灌溉施肥功能,定時、定量灌溉施肥功能,條件控制灌溉施肥功能。北京澳作生態(tài)儀器有限公司的澳作智能節(jié)水灌溉控制系統(tǒng)可與各種滴、噴灌系統(tǒng)連接,實時監(jiān)測土壤墑情,根據(jù)要求自動灌溉??刂品绞届`活,手動、半自動、全自動任選且可隨意在計算機(jī)上更改,可同時控

14、制多個設(shè)備,受控區(qū)位置及形狀,環(huán)境參數(shù)及設(shè)備狀態(tài)可同時顯示在中心計算機(jī)上。北京奧特思達(dá)科技有限公司研制的WT-02型微噴灌定時自動控制器,是一種供農(nóng)業(yè)、草坪、果園、溫室一般場合給水的電子灌溉自動控制系統(tǒng)。國外一些先進(jìn)國家,如美國、以色列和加拿大等,運用先進(jìn)的電子技術(shù)、計算機(jī)和控制技術(shù),在節(jié)水灌溉技術(shù)方面起步較早,并日趨成熟。這些國家從最早的水力控制、機(jī)械控制,到后來的機(jī)械電子混合協(xié)調(diào)式控制,到當(dāng)前應(yīng)用廣泛的計算機(jī)控制、模糊控制和神經(jīng)網(wǎng)絡(luò)控制等,控制精度和智能化程度越來越高,可靠性越來越好,操作也越來越簡便。近年來隨著農(nóng)業(yè)對自動化程度要求的提高,以色列出現(xiàn)灌溉用的可編程邏輯控制器(PLC),這種

15、控制器通過把不同的網(wǎng)絡(luò)連接到主機(jī)上進(jìn)行數(shù)據(jù)采集和處理。隨著控制技術(shù)、傳感器技術(shù)的發(fā)展,以色列開發(fā)出了現(xiàn)代診斷式控制器,這種控制器把以前不可能采集到的信息通過不同的傳感器來獲得,通過因特網(wǎng)、遠(yuǎn)程控制、GSM等來實現(xiàn)數(shù)據(jù)傳輸,然后通過計算機(jī)中的一些模型來處理信息,作出灌溉計劃。加拿大、澳大利亞和韓國等國家和地區(qū)也都有開發(fā)成功并形成系列的灌溉控制器產(chǎn)品,其中,比較有代表性的如澳大利亞的HARDIE IRRGATION公司的灌溉控制器,已形成了MICRO-MASTER、RAINJET等多個系列,幾十種型號的產(chǎn)品。其中HR6100系列成本較低,是一種小型自動灌溉控制器,主要是面對家庭庭院和小面積的商業(yè)綠

16、化場地的灌溉,而MICRO-MASTER,系列產(chǎn)品是HARDIE公司為進(jìn)行大面積灌溉而開發(fā)的控制器。該系統(tǒng)采用分布式布置,可與上位機(jī)雙向通信,用微機(jī)對其進(jìn)行編程操作和對其子控制器進(jìn)行控制,并能用微機(jī)隨時監(jiān)控灌溉系統(tǒng)的工作狀況。第2章 方案設(shè)計與論證2.1 總體方案論證所謂的模塊化設(shè)計,簡單地說就是將產(chǎn)品的某些要素組合在一起,構(gòu)成一個具有特定功能的子系統(tǒng),將這個子系統(tǒng)作為通用性的模塊與其他產(chǎn)品要素進(jìn)行多種組合,構(gòu)成新的系統(tǒng),產(chǎn)生多種不同功能或相同功能、不同性能的系列產(chǎn)品。模塊化是在傳統(tǒng)設(shè)計基礎(chǔ)上發(fā)展起來的一種新的設(shè)計思想,現(xiàn)已成為一種新技術(shù)被廣泛應(yīng)用,尤其是信息時代電子產(chǎn)品不斷推陳出新,模塊化設(shè)

17、計的產(chǎn)品正在不斷涌現(xiàn)。模塊化設(shè)計已被廣泛應(yīng)用于機(jī)床、電子產(chǎn)品、航天、航空等設(shè)計領(lǐng)域。模塊化設(shè)計是綠色設(shè)計方法之一,它已經(jīng)從理念轉(zhuǎn)變?yōu)檩^成熟的設(shè)計方法3。本設(shè)計方案以AT89C51單片機(jī)為控制核心,采用模塊化的設(shè)計方法,總分為四大模塊:濕度采集電路模塊、步進(jìn)電機(jī)控制電路模塊、鍵盤接口電路模塊和顯示電路模塊。其中以探針式電容濕度傳感器為核心構(gòu)成濕度采集電路,以達(dá)林頓驅(qū)動芯片ULN2803為核心構(gòu)成步進(jìn)電機(jī)控制電路,以液晶顯示器12864為核心構(gòu)成顯示電路,再配合鍵盤電路實現(xiàn)對土壤濕度進(jìn)行多點檢測。在本系統(tǒng)中,分兩種控制方式:閉環(huán)控制方式和時間控制方式,用戶可在兩種方式之間自由選擇。在閉環(huán)控制方式下

18、,利用濕度采集模塊將多處不同地點檢測到的濕度模擬量輪流進(jìn)行模數(shù)轉(zhuǎn)換,轉(zhuǎn)化后對各數(shù)據(jù)進(jìn)行綜合處理,再傳送給單片機(jī)。單片機(jī)將接收到的數(shù)據(jù)和單片機(jī)內(nèi)存的數(shù)據(jù)進(jìn)行比較,若收到的數(shù)據(jù)低于設(shè)定的數(shù)值,則步進(jìn)電機(jī)控制電路模塊啟動步進(jìn)電機(jī)進(jìn)行灌溉。若收到的數(shù)據(jù)不低于設(shè)定的數(shù)值,則不啟動步進(jìn)電機(jī)進(jìn)行灌溉。同時單片機(jī)將采集到的數(shù)據(jù)和系統(tǒng)的灌溉狀況在現(xiàn)實模塊的顯示屏上顯示出來。灌溉進(jìn)行一定的時間后自動停止,該時間由用戶加載在單片機(jī)內(nèi)部數(shù)據(jù)決定。用戶可通過灌溉方式切換鍵切換到時間控制方式。在時間控制方式下,用戶通過鍵盤輸入灌溉的時間和灌溉的周期,對應(yīng)的數(shù)據(jù)將在顯示屏上顯示出來。這種灌溉方式主要應(yīng)用于特殊情況4。綜上所

19、述,本系統(tǒng)不但具有非常友好的人機(jī)交互界面,而且具有良好的實時控制功能,能及時響應(yīng)用戶請求。系統(tǒng)支持的灌溉方式靈活多樣,用戶可根據(jù)實際情況進(jìn)行模式選擇。系統(tǒng)結(jié)構(gòu)簡潔,各類功能易于實現(xiàn),大大提高了系統(tǒng)的可靠性和實用性。系統(tǒng)的基本模塊原理圖如圖2.1所示。AT98C51濕度采集模塊接盤接口模塊顯示模塊步進(jìn)電機(jī)控制模塊 圖2.1自動灌溉控制器系統(tǒng)基本模塊原理框圖2.2 鍵盤方案選取方案一:獨立式按鍵。獨立式按鍵是指直接用一根I/O口線構(gòu)成的單個按鍵電路。每個獨立式按鍵單獨占有一根I/O口線,每根I/O口線上的按鍵的工作狀態(tài)不會影響其他I/O口線的工作狀態(tài)。獨立式按鍵接口電路配置靈活,軟件結(jié)構(gòu)簡單,但每

20、個按鍵必須占用一根I/O口線,在按鍵數(shù)量較多時,I/O口線浪費較大。故在按鍵數(shù)量不多時,常采用這種按鍵結(jié)構(gòu)。獨立式按鍵電路如圖2.2所示。上拉電阻保證了按鍵斷開時,I/O口線上有確定的高電平。圖2.2 獨立式按鍵鍵盤框圖方案二: 矩陣式鍵盤5在鍵盤中按鍵數(shù)量較多時,為了減少I/O口的占用,通常將按鍵排列成矩陣形式,如圖2.3所示。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鍵加以連接。這樣,一個端口(如P1口)就可以構(gòu)成4*4=16個按鍵,比之直接將端口線用于鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就可以構(gòu)成20鍵的鍵盤,而直接用端口線則只能多出一鍵(

21、9鍵)。由此可見,在需要的鍵數(shù)比較多時,采用矩陣法來做鍵盤是合理的。行列式鍵盤的缺點是程序設(shè)計較復(fù)雜些。因為本設(shè)計需要的按鍵數(shù)目較多,為了節(jié)省I/O口線資源,選用矩陣式鍵盤,故采取方案二。圖2.3 矩陣式鍵盤框圖2.3 土壤濕度傳感器的選取目前市場上測量土壤濕度方法有中子衰減法、張力計測濕法、介電法速測法6。 中子衰減法測量土壤含水量高速運動的快中子與物質(zhì)作用能改變方向和產(chǎn)生能量損失,變成慢中子,形成衰減,由于被測物中含水量不同產(chǎn)生的衰減亦不同,主要原因是水中含有氫原子,而中子對氫原子作用的損失遠(yuǎn)大于對其他原子作用的損失,這樣可以通過測定慢中子來測定土壤含水量,也就是通過衰減程度的大小來確定被

22、測物質(zhì)中含水量的多少,中子土壤水分測試儀就是根據(jù)這一原理設(shè)計而成。這個方法的優(yōu)點在于快速準(zhǔn)確,但重要的是這種方法如果屏蔽不好,易造成射線泄漏,以致污染環(huán)境,危害人體健康,特別難以測量淺層土壤含水量,而淺層土壤含水量與作物生長關(guān)系密切,明顯隨灌溉、降雨、蒸發(fā)等的變化而變化,是土壤水分中最為活躍的部分,需要實時監(jiān)測,這就極大地限制了中子法的進(jìn)一步推廣應(yīng)用,這種方法在發(fā)達(dá)國家已被禁止使用。 張力計式土壤水分傳感器張力計式土壤水分傳感器是一種廣泛成功地用于某些土壤水分測量的傳感器。這種儀表有個多孔瓷頭,它通過充水的管子與真空表連接,該裝置插入土壤的鉆孔中,多孔瓷頭與土壤緊密帖合,真空表設(shè)在地面之上。用

23、張力計來測量土壤含水量有很大的發(fā)展,它的優(yōu)點是:結(jié)構(gòu)及原理都比較簡單,可以在線實時測量,而且可以確定水在土壤內(nèi)的流動方向和滲透深度,但它的缺點也很突出。它的測量范圍很大程度上受土質(zhì)的影響。該方法所測量的是土壤水的吸力,需要依據(jù)土壤水分特征曲線來換算成土壤含水量,由于土壤水分能量關(guān)系非常復(fù)雜,呈非線性,且容易受到許多土壤理化特性的影響,即使對同一塊田,這一關(guān)系也十分復(fù)雜,使得用張力推求土壤含水量時極為困難,不方便,帶來較大誤差。該方法存在滯后和回環(huán),影響其測量速度。由于以上缺陷的存在極大地限制了該方法的推廣應(yīng)用。 探針式電容濕度傳感器利用土壤的介電特性來測量土壤含水量是一種行之有效的、快速的、簡

24、便的、可靠方法。對一定幾何結(jié)構(gòu)的電容式水分傳感器,其電容量與兩極間被測物料的介電常數(shù)有正比關(guān)系。由于水的介電常數(shù)比一般物料的介電常數(shù)要大得多,所以當(dāng)土壤中的水分增加時,其介電常數(shù)相應(yīng)增大,測量時水分傳感器給出的電容值也隨之上升,根據(jù)圖2.4探針式土壤濕度傳感器傳感器的電容量與土壤水分之間的對應(yīng)關(guān)系可測出土壤的水分。利用該方法測量濕度的應(yīng)用很多,多為探針式。探針式電容傳感器是介電常數(shù)傳感器中的一種,它可以敏感不同深度土壤的含水量。探針用來感測土壤的水分,其長度和距離根據(jù)被測對象的靈敏度優(yōu)化確定。圖2.4為3針電容土壤傳感器的基本結(jié)構(gòu)圖,中央探針作為驅(qū)動電極,2根周部敏感電極連接到一起作為電容的另

25、一極。電容式水分傳感器的特點是精度高、量程寬、可測的物料品種多,而且響應(yīng)速度也較快,可應(yīng)用于在線監(jiān)測實現(xiàn)自動化。第3章 系統(tǒng)硬件電路設(shè)計3.1 AT89C51單片機(jī)硬件電路單片機(jī)的全稱為微型計算機(jī)(Single Chip Microcomputer)。從應(yīng)用領(lǐng)域來看,單片機(jī)主要用于控制,所以又稱微控制器(MicroControllerUnit)或嵌入式控制器(Embedded Controller)。單片機(jī)是將計算機(jī)的基本部件微型化并集成在一塊芯片上的微型計算機(jī),其基本組成和工作原理與通用微型計算機(jī)是一致的。主要由微處理器(CPU)、存儲器、I/O接口三大功能部分通過總線有機(jī)連接而成,在外部通

26、過I/O接口配置各種外部設(shè)備就構(gòu)成微機(jī)的硬件系統(tǒng)7。單片機(jī)體積小,成本低,運用靈活,易于產(chǎn)品化;面向控制,能針對性地解決從簡單到復(fù)雜的各類控制任務(wù);抗干擾能力強(qiáng),適用范圍廣。本系統(tǒng)采用AT89C51單片機(jī)作為中央處理器,其主要任務(wù)是讀取自動灌溉控制器的模式,并在相應(yīng)模式下進(jìn)行相應(yīng)的控制。如用戶選擇時間控制模式,從鍵盤輸入灌溉的時間顯示在顯示屏上,啟動步進(jìn)電機(jī),電機(jī)正轉(zhuǎn)一圈把自動灌溉的閥門打開,灌溉的時間一到,步進(jìn)電機(jī)反轉(zhuǎn)一圈把閥門關(guān)閉。在自動模式下,單片機(jī)檢測外部有無灌溉信號。若有,則打開閥門,若沒有則循環(huán)等待。在本系統(tǒng)中,AT89C51單片機(jī)的P0口用于單片機(jī)與LCD之間的數(shù)據(jù)傳送,P1.0

27、 P1.3用于步進(jìn)電機(jī)的驅(qū)動接口,P1.4用于LCD顯示的位驅(qū),P1.5用于控制對LCD的讀寫控制信號,P1.6用于控制對LCD的指令是屬于寫數(shù)據(jù)還是寫指令。P2口用作鍵盤電路,一共設(shè)置16個按鍵。P3.2口用于鍵盤中斷信號,若有鍵按下,則P3.2有中斷信號送入單片機(jī)。P3.3用于外部灌溉信號的輸入通道。AT89C51是一種低功耗/低電壓、高性能的八位CMOS單片機(jī),片內(nèi)有一個4KB的FLASH可編程可擦除只讀存儲器(FPEROMFlash ProgrammAble and Erasable Read Only Memory),它采用了CMOS工藝和ATMEL公司的高密度非易失性存儲器技術(shù),而

28、且其輸出引腳和指令系統(tǒng)都與MSC51兼容。片內(nèi)置通用8位中央處理器(CPU)和FLASH存儲單元,片內(nèi)的存儲器允許在系統(tǒng)內(nèi)改編程序或用常規(guī)的非易失性存儲器編程。因此,AT89C51是一種功能強(qiáng)、靈活性高且價格合理的單片機(jī),可方便的應(yīng)用于各種控制領(lǐng)域8。3.1.1 主要特性(1)與MCS-51產(chǎn)品指令系統(tǒng)兼容; (2)4K字節(jié)可編程閃爍存儲器; (3)壽命:1000寫/擦循環(huán);(4)數(shù)據(jù)保留時間:10年;(5)全靜態(tài)工作:0Hz-24MHz;(6)三級程序存儲器鎖定;(7)128*8位內(nèi)部RAM;(8)32條可編程I/O線;(9)兩個16位定時器/計數(shù)器;(10)6個中斷源; (11)可編程串行

29、通道;(12)低功耗的閑置和掉電模式;(13)片內(nèi)振蕩器和時鐘電路。 另外,AT89C51是用靜態(tài)邏輯來設(shè)計的,其工作頻率可下降到零并提供兩種軟件的省電方式-空閑方式和掉電方式。在空閑方式中,CPU停止工作。在掉電方式中,片內(nèi)振蕩器停止工作,由于時鐘被“凍結(jié)”,使一切功能都暫停,只保存片內(nèi)RAM中的內(nèi)容,直到下次硬件復(fù)位為止。3.1.2 管腳說明VCC(40):供電電壓,其工作電壓為5V。GND(20):接地。P0端口():P0口為一個8位漏級開路雙向I/O口,每腳可吸收8個TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第

30、八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗時,P0輸出原碼,此時P0外部必須被拉高9。P1端口():P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4個TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高電平,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 P2端口():P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。

31、這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3端口():P3口管腳是一個帶有內(nèi)部上拉電阻的8位的雙向I/O端口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入端時,由于外部下拉為低電平,P3口將輸出電流(ILL)。P3口也可作為AT89C51的一些特殊功能口,如表3.1所示。P3口同時為閃爍編程和編程校驗接收

32、一些控制信號。表3.1 P3端口引腳兼用功能表表端口引腳第二功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2INT0(外中斷0)P3.3INT1(外中斷1)P3.4T0(定時/計數(shù)0)P3.5T1(定時/計數(shù)1)P3.6WR(外部數(shù)據(jù)存儲器寫選通)P3.7RD(外部數(shù)據(jù)存儲器讀選通)AT89C51引腳圖如圖3.1所示。圖3.1 AT89C51引腳圖3.1.4 AT89C51最小系統(tǒng) XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時鐘信號要通過一個二分

33、頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。AT89C51最小系統(tǒng)接線如圖3.2所示,在XTAL1、XTAL2端接上晶振及兩個諧振電容,在RESET端接上相應(yīng)的電阻、電容,如需要按鍵復(fù)位,加上按鍵即可組成一個最小系統(tǒng),按要求通電后,系統(tǒng)就可以工作了。 圖3.2 AT89C51最小系統(tǒng)圖3.2 濕度采集電路3.2.1 濕度傳感器的原理利用土壤含水量的介電特性來測量土壤含水量是一種行之有效、簡便、快速的方法。對一定幾何結(jié)構(gòu)的電容式水分傳感器,其電容量與兩極間被測物料的介電常數(shù)有正比關(guān)系10。由于水的介電常數(shù)比一般物料的介電常數(shù)要大得多,所以當(dāng)土壤中的水分增加時

34、,其介電常數(shù)相應(yīng)增大,測量時水分傳感器測出的電容值也隨之上升,根據(jù)傳感器的電容量與土壤水分的對應(yīng)關(guān)系可測出土壤的水分。交流信號源產(chǎn)生某一頻率的交變信號,此信號通過一定的傳輸線到達(dá)探針,傳感器探針可以看作電極,等效為一個電容和一個電導(dǎo)的并聯(lián)。假設(shè)電極的電容為C,加在電極之間的交變電壓將產(chǎn)生一個交變電量,從而引起一個交變電流,則交變電壓可以寫為 (3.1)探針導(dǎo)納為 (3.2)其中,G為等效導(dǎo)納的電導(dǎo);C為等效導(dǎo)納的電容,則。根據(jù)高頻電子線路理論可知。其中, 表示土壤的介電常數(shù); 表示真空中的介電常數(shù),等于; k取決于探針的幾何結(jié)構(gòu)。當(dāng)在探針上加一個電流i時,在電容兩端產(chǎn)生一個幅值為,相角為的電壓

35、,則探針導(dǎo)納可表示為。土壤介電測量通用模型等效電路,如圖3.3所示。圖3.3 土壤介電測量模型的等效電路根據(jù)矢量電壓表測得的電壓和相角以及信號源電流值,可以計算出導(dǎo)納,進(jìn)而求得等效電容C和等效電導(dǎo)G。當(dāng)探針結(jié)構(gòu)一定時,被測物質(zhì)的介電常數(shù)決定著探針的阻抗,而土壤的介電常數(shù)又主要取決于土壤含水量,這樣最終通過探針阻抗的測量得出土壤含水量的數(shù)值。3.2.2 SHT10數(shù)字溫濕度傳感器由瑞士Sensirion推出的SHTxx系列數(shù)字溫濕度傳感器,基于領(lǐng)先世界的CMOSens ® 數(shù)字傳感技術(shù),具有極高的可靠性和卓越的長期穩(wěn)定性。全量程標(biāo)定,兩線數(shù)字接口,可與單片機(jī)直接相連,大大縮短研發(fā)時間、

36、簡化外圍電路并降低費用。此外,體積微小、響應(yīng)迅速、低能耗、可浸沒、抗干擾能力強(qiáng)、溫濕一體,兼有露點測量,性價比高,使該產(chǎn)品能夠適于多種場合的應(yīng)用。(1)產(chǎn)品特點:SHT10系列為貼片型溫濕度傳感器芯片全量程標(biāo)定,兩線數(shù)字輸出;濕度測量范圍:0100%RH;溫度測量范圍:-40+123.8;濕度測量精度:±4.5%RH 溫度測量精度:±0.5響應(yīng)時間:8s(tau63%);低功耗80W(12位測量,1次/s);可完全浸沒。(2)應(yīng)用領(lǐng)域:數(shù)據(jù)采集器、變送器、自動化過程控制、汽車行業(yè)、樓宇控制&暖通空調(diào)、電力、計量測試、醫(yī)藥業(yè)。3.2.3 濕度傳感器與單片機(jī)的連接濕度采

37、集模塊組成和單片機(jī)的連接示意圖如圖3.4所示。高頻信號加到傳感器探頭上,通過整流濾波電路獲取電壓信號,經(jīng)過模數(shù)轉(zhuǎn)換器AD574送入單片機(jī)AT89C51圖3.4 濕度采集模塊組成和單片機(jī)的連接圖計算得到含水量值,該值與通過鍵盤設(shè)定的門限值比較,以決定是否實現(xiàn)自動灌溉11。通過串行通信模塊與上位機(jī)通信,可以實現(xiàn)對含水量的人工監(jiān)控,同時可以通過上位機(jī)下達(dá)指令,實行定點灌溉。3.3 矩陣鍵盤電路設(shè)計矩陣式結(jié)構(gòu)的鍵盤顯然比直接法要復(fù)雜一些,識別也要復(fù)雜一些,圖2.3中,列線通過電阻接正電源,并將行線所接的單片機(jī)的I/O口作為輸出端,而列線所接的I/O口則作為輸入。這樣,當(dāng)按鍵沒有按下時,所有的輸出端都是

38、高電平,代表無鍵按下。行線輸出是低電平,一旦有鍵按下,則輸入線就會被拉低,這樣,通過讀入輸入線的狀態(tài)就可得知是否有鍵按下了。具體的識別及編程方法如下所述。確定矩陣式鍵盤上何鍵被按下介紹一種“行掃描法”。行掃描法行掃描法又稱為逐行(或列)掃描查詢法,是一種最常用的按鍵識別方法,如3.7圖所示鍵盤,介紹過程如下。判斷鍵盤中有無鍵按下將全部行線H0-H3置低電平,然后檢測列線的狀態(tài)。只要有一列的電平為低,則表示鍵盤中有鍵被按下,而且閉合的鍵位于低電平線與4根行線相交叉的4個按鍵之中。若所有列線均為高電平,則鍵盤中無鍵按下12。判斷閉合鍵所在的位置在確認(rèn)有鍵按下后,即可進(jìn)入確定具體閉合鍵的過程。其方法

39、是:依次將行線置為低電平,即在置某根行線為低電平時,其它線為高電平。在確定某根行線位置為低電平后,再逐行檢測各列線的電平狀態(tài)。若某列為低,則該列線與置為低電平的行線交叉處的按鍵就是閉合的按鍵。圖3.5為本設(shè)計的鍵盤電路圖,為行線,為列線??偣矘?gòu)成16個鍵。其中包含數(shù)字鍵0-9共十個,模式選擇鍵手動和自動共兩個,功能鍵啟動、停止和數(shù)字清零鍵共三個。剩下的一個鍵是空閑鍵,留作擴(kuò)展功能用。圖3.5鍵盤電路圖3.4 LCD液晶顯示電路3.4.1 12864液晶顯示器帶中文字庫的12864是一種具有4位/8位并行、2線或3線串行多種接口方式,內(nèi)部含有國標(biāo)一級、二級簡體中文字庫的點陣圖形液晶顯示模塊;其顯

40、示分辨率為128×64, 內(nèi)置8192個16*16點漢字,和128個16*8點ASCII字符集。利用該模塊靈活的接口方式和簡單、方便的操作指令,可構(gòu)成全中文人機(jī)交互圖形界面。圖3.6 12864液晶顯示屏可以顯示8×4行16×16點陣的漢字,也可完成圖形顯示,低電壓低功耗。模塊有如下基本特性:(1)低電源電壓(VDD: +3.0 +5.5V)(2)顯示分辨率:128×64點(3)內(nèi)置漢字字庫,提供8192個16×16點陣漢字(簡繁體可選)(4)內(nèi)置 128個16×8點陣字符(5)2MHZ時鐘頻率(6)顯示方式:STN、半透、正顯(7)

41、驅(qū)動方式:1/32DUTY,1/5BIAS(8)視角方向:6點(9)背光方式:側(cè)部高亮白色LED,功耗僅為普通LED的1/51/10(10)通訊方式:串行、并口可選3.4.2 模塊接口說明(此處用的是并行接口)液晶顯示屏LCD12864有20個引腳,引腳可分類為:電源引腳(包括VSS、VCC)亮度調(diào)節(jié)引腳V0數(shù)據(jù)和指令選擇引腳RS使能信號E數(shù)據(jù)傳輸引腳DB0 DB7并口串口選擇引腳PSB表3.1管腳號管腳名稱電平管腳功能描述1VSS0V電源地2VCC3.0+5V電源正3V0對比度(亮度)調(diào)整4RS(CS)H/LRS=“H”,表示DB7DB0為顯示數(shù)據(jù)RS=“L”,表示DB7DB0為顯示指令數(shù)據(jù)

42、5R/W(SID)H/LR/W=“H”,E=“H”,數(shù)據(jù)被讀到DB7DB0R/W=“L”,E=“HL”, DB7DB0的數(shù)據(jù)被寫到IR或DR136E(SCLK)H/L使能信號7DB0H/L三態(tài)數(shù)據(jù)線8DB1H/L三態(tài)數(shù)據(jù)線9DB2H/L三態(tài)數(shù)據(jù)線10DB3H/L三態(tài)數(shù)據(jù)線11DB4H/L三態(tài)數(shù)據(jù)線12DB5H/L三態(tài)數(shù)據(jù)線13DB6H/L三態(tài)數(shù)據(jù)線14DB7H/L三態(tài)數(shù)據(jù)線15PSBH/LH:8位或4位并口方式,L:串口方式(見注釋1)16/RESETH/L復(fù)位端,低電平有效17VOUTLCD驅(qū)動電壓輸出端18AVDD背光源正端(+5V)19KVSS背光源負(fù)端3.4.3模塊主要硬件構(gòu)成說明控制

43、器接口信號說明:(1) RS,R/W的配合選擇決定控制界面的4種模式:表3.2RSR/W功能說明LLMPU寫指令到指令暫存器(IR)LH讀出忙標(biāo)志(BF)及地址記數(shù)器(AC)的狀態(tài)HLMPU寫入數(shù)據(jù)到數(shù)據(jù)暫存器(DR)HHMPU從數(shù)據(jù)暫存器(DR)中讀出數(shù)據(jù)(2) E信號表3.3E狀態(tài)執(zhí)行動作結(jié)果高>低I/O緩沖>DR配合/W進(jìn)行寫數(shù)據(jù)或指令高DR>I/O緩沖配合R進(jìn)行讀數(shù)據(jù)或指令低/低>高無 無(3)忙標(biāo)志BF:BF標(biāo)志提供內(nèi)部工作情況。BF=1表示模塊在進(jìn)行內(nèi)部操作,此時模塊不接受外部指令和數(shù)據(jù)。BF=0時,模塊為準(zhǔn)備狀態(tài),隨時可接受外部指令和數(shù)據(jù)。利用S

44、TATUS RD 指令,可以將BF讀到DB7總線,從而檢驗?zāi)K之工作狀態(tài)。(4)字型產(chǎn)生ROM(CGROM):字型產(chǎn)生ROM(CGROM)提供8192個此觸發(fā)器是用于模塊屏幕顯示開和關(guān)的控制。DFF=1為開顯示(DISPLAY ON),DDRAM 的內(nèi)容就顯示在屏幕上,DFF=0為關(guān)顯示(DISPLAY OFF)。 DFF 的狀態(tài)是指令DISPLAY ON/OFF和RST信號控制的。(5)顯示數(shù)據(jù)RAM(DDRAM):模塊內(nèi)部顯示數(shù)據(jù)RAM提供64×2個位元組的空間,最多可控制4行16字(64個字)的中文字型顯示,當(dāng)寫入顯示數(shù)據(jù)RAM時,可分別顯示CGROM與CGRAM的字型;此模塊

45、可顯示三種字型,分別是半角英數(shù)字型(16*8)、CGRAM字型及CGROM的中文字型,三種字型的選擇,由在DDRAM中寫入的編碼選擇,在0000H0006H的編碼中(其代碼分別是0000、0002、0004、0006共4個)將選擇CGRAM的自定義字型,02H7FH的編碼中將選擇半角英數(shù)字的字型,至于A1以上的編碼將自動的結(jié)合下一個位元組,組成兩個位元組的編碼形成中文字型的編碼BIG5(A140D75F),GB(A1A0-F7FFH)。(6)字型產(chǎn)生RAM(CGRAM):字型產(chǎn)生RAM提供圖象定義(造字)功能, 可以提供四組16×16點的自定義圖象空間,使用者可以將內(nèi)部字型沒有提供的

46、圖象字型自行定義到CGRAM中,便可和CGROM中的定義一樣地通過DDRAM顯示在屏幕中。(7)地址計數(shù)器AC:地址計數(shù)器是用來貯存DDRAM/CGRAM之一的地址,它可由設(shè)定指令暫存器來改變,之后只要讀取或是寫入DDRAM/CGRAM的值時,地址計數(shù)器的值就會自動加一,當(dāng)RS為“0”時而R/W為“1”時,地址計數(shù)器的值會被讀取到DB6-DB0中。3.5 步進(jìn)電機(jī)驅(qū)動電路3.5.1 步進(jìn)電機(jī)簡介和原理步進(jìn)電機(jī)是將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件。在非超載的情況下,電機(jī)的轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負(fù)載變化的影響,即給電機(jī)加一個脈沖信號,電機(jī)則轉(zhuǎn)過一個步距角

47、。這一線性關(guān)系的存在,加上步進(jìn)電機(jī)只有周期性的誤差而無累積誤差等特點。使得在速度、位置等控制領(lǐng)域用步進(jìn)電機(jī)來控制變的非常的簡單。感應(yīng)子式步進(jìn)電機(jī)以相數(shù)可分為:二相電機(jī)、三相電機(jī)、四相電機(jī)、五相電機(jī)等。電機(jī)的位置和速度由導(dǎo)電次數(shù)(脈沖數(shù))和頻率成一一對應(yīng)關(guān)系。而方向由導(dǎo)電順序決定14。圖3.7 四相步進(jìn)電機(jī)步進(jìn)示意圖圖3.7是四相反應(yīng)式步進(jìn)電機(jī)工作原理示意圖。開始時,開關(guān)SB接通電源,SA、SC、SD斷開,B相磁極和轉(zhuǎn)子0、3號齒對齊,同時,轉(zhuǎn)子的1、4號齒就和C、D相 繞組磁極產(chǎn)生錯齒,2、5號齒就和D、A相繞組磁極產(chǎn)生錯齒。當(dāng)開關(guān)SC接通電源,SB、SA、SD斷開時,由于C相繞組的磁力線和1

48、、4號齒之間磁力線的作用,使轉(zhuǎn)子轉(zhuǎn)動,1、4號齒和C相繞組的磁極對齊。而0、3號齒和A、B相繞組產(chǎn)生錯齒,2、5號齒就和A、D相繞組磁極產(chǎn)生錯齒。依次類推,A、B、C、D四相繞組輪流供電,則轉(zhuǎn)子會沿著A、B、C、D方向轉(zhuǎn)動。四相步進(jìn)電機(jī)按照通電順序的不同,可分為單四拍、雙四拍、八拍三種工作方式。單四拍與雙四拍的步距角相等,但單四拍的轉(zhuǎn)動力矩小。 ULN2803驅(qū)動芯片(1)ULN2803引腳說明15:1-8號引腳:輸入端11-18號引腳:輸出端9號引腳:地端10號引腳:電源+(2)達(dá)林頓驅(qū)動的典型應(yīng)用:用于大功率開關(guān)電路,電機(jī)調(diào)速,逆變電路。利用CMOS電路經(jīng)過達(dá)林頓管驅(qū)動高靈敏度繼電器的電路

49、。驅(qū)動LCD智能顯示屏LCD智能顯示屏是由微型計算機(jī)控制,以LCD矩陣板作顯示的系統(tǒng),可用來顯示各種文字及圖案。該系統(tǒng)中的行驅(qū)動器和列驅(qū)動器均可采用高,高速低壓降的達(dá)林頓管。應(yīng)注意的是,達(dá)林頓管由于內(nèi)部由多只管子及電阻組成,用萬用表測試時,基極的正反向阻值與普通三極管不同。3.5.3 步進(jìn)電機(jī)驅(qū)動模塊圖圖3.8 步進(jìn)電機(jī)驅(qū)動模塊口與ULN2803引腳的1-4號四個輸入端相連,將ULN2803引腳的15-18號四個輸出端與步進(jìn)電機(jī)的四個相相接。單片機(jī)輸出驅(qū)動電平較低,經(jīng)ULN2803放大后,才能驅(qū)動電機(jī)旋轉(zhuǎn)。第4章 系統(tǒng)軟件設(shè)計4.1 程序設(shè)計程序設(shè)計是指設(shè)計、編制、調(diào)試程序的方法和過程。它是目

50、標(biāo)明確的智力活動。由于程序是軟件的本體,軟件的質(zhì)量主要通過程序的質(zhì)量來體現(xiàn),在軟件研究中,程序設(shè)計的工作非常重要,內(nèi)容涉及到有關(guān)的基本概念、工具、方法以及方法學(xué)等。程序設(shè)計通常分為問題建摸,算法設(shè)計,編寫代碼和編譯調(diào)試四個階段。按照結(jié)構(gòu)性質(zhì),有結(jié)構(gòu)化程序設(shè)計與非結(jié)構(gòu)化程序設(shè)計之分。前者是指具有結(jié)構(gòu)性的程序設(shè)計方法與過程。它具有由基本結(jié)構(gòu)構(gòu)成復(fù)雜結(jié)構(gòu)的層次性,后者反之。按照用戶的要求,有過程式程序設(shè)計與非過程式程序設(shè)計之分。前者是指使用過程式程序設(shè)計語言的程序設(shè)計,后者指非過程式程序設(shè)計語言的程序設(shè)計。按照程序設(shè)計的成分性質(zhì),有順序程序設(shè)計、并發(fā)程序設(shè)計、并行程序設(shè)計、分布式程序設(shè)計之分。按照程

51、序設(shè)計風(fēng)格,有邏輯式程序設(shè)計、函數(shù)式程序設(shè)計、對象式程序設(shè)計之分。 程序設(shè)計的基本概念有程序、數(shù)據(jù)、子程序、子例程、協(xié)同例程、模塊以及順序性、并發(fā)性、并行性、和分布性等。程序是程序設(shè)計中最為基本的概念,子程序和協(xié)同例程都是為了便于進(jìn)行程序設(shè)計而建立的程序設(shè)計基本單位,順序性、并發(fā)性、并行性和分布性反映程序的內(nèi)在特性。 在硬件系統(tǒng)設(shè)計好以后,就要設(shè)計相應(yīng)的程序?qū)崿F(xiàn)系統(tǒng)功能。把整個過程分成若干個部分,每一部分叫做一個模塊。把一個程序分成具有多個明確任務(wù)的程序模塊,分別編制、調(diào)試后再把它們連接在一起形成一個完整的程序,這樣的程序設(shè)計方法稱為模塊化程序設(shè)計。所謂“模塊”,實質(zhì)上就是能完成一定功能,并相

52、對獨立的程序段,這種程序設(shè)計方法稱為模塊程序設(shè)計法16。模塊程序設(shè)計法的主要優(yōu)點是:(1)單個模塊比起一個完整的程序易編寫、調(diào)試及修改。(2)程序的易讀性好。(3)程序的修改可局部化。(4)模塊可以共存,一個模塊可以被多個任務(wù)在不同條件下調(diào)用。(5)模塊程序允許設(shè)計者分割任務(wù)和利用已有程序,為設(shè)計者提供方便。本系統(tǒng)軟件采用模塊化結(jié)構(gòu),由主程序鍵盤子程序、12864LCD液晶顯示子程序構(gòu)成。4.2 主程序設(shè)計在本系統(tǒng)的程序設(shè)計中,主控模塊負(fù)責(zé)啟動系統(tǒng)后顯示屏上的初級顯示,開外部中斷,判斷系統(tǒng)模式,以及執(zhí)行相應(yīng)的子程序,完成系統(tǒng)功能。在主程序模塊中,需要完成對各模塊接口的初始化工作,另外,在主程序

53、模塊中還需要檢測模式標(biāo)志單元的值,若該單元的值為0,則為手動模式,若為1,則為自動模式。用戶選定模式后,主程序負(fù)責(zé)執(zhí)行相應(yīng)的子程序。若為手動模式,閥門打開后,則屏幕顯示倒計時,時間一到,閥門就關(guān)閉。若為自動模式,則單片機(jī)定時檢測P3.3口的值,若該值為高電平則不啟動閥門,若該值為低電平,則啟動閥門。啟動閥門后,單片機(jī)還要繼續(xù)檢測P3.3口的值,若變高電平,則關(guān)閉閥門。執(zhí)行完一個灌溉周期后繼續(xù)循環(huán)檢測P3.3口的電平值。主程序流程圖如圖4.1所示。當(dāng)接通電源時,自動灌溉控制系統(tǒng)啟動,同時LCD液晶顯示提示語,提示用戶選擇模式。若選擇手動模式,顯示屏還會提示用戶通過鍵盤設(shè)置灌溉時間。在運行中鍵盤采用中斷方式,若有鍵按下,則轉(zhuǎn)向相應(yīng)的子程序。圖4.1主程序流程圖主程序:CSA EQU P3.4CSB EQU P3.5RS EQU P1.6RW EQU P1.5E EQU P1.4DATAES EQU P0COM EQU 21HDAT EQU 22HYM EQU 23HLM EQU 24HCODES EQU 25HU0 EQU 26H ; 盛放第一個數(shù)的字形參數(shù)U1 EQU 27H ; 第二個數(shù)的字形參數(shù)U2 EQU 28H ; 第三個

溫馨提示

  • 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

提交評論