基于單片機(jī)的智能微噴灌控制系統(tǒng)設(shè)計(jì).doc_第1頁
基于單片機(jī)的智能微噴灌控制系統(tǒng)設(shè)計(jì).doc_第2頁
基于單片機(jī)的智能微噴灌控制系統(tǒng)設(shè)計(jì).doc_第3頁
基于單片機(jī)的智能微噴灌控制系統(tǒng)設(shè)計(jì).doc_第4頁
基于單片機(jī)的智能微噴灌控制系統(tǒng)設(shè)計(jì).doc_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

摘 要隨著科學(xué)技術(shù)的日益發(fā)展,特別是智能技術(shù)的發(fā)展,智能化的微灌溉技術(shù)應(yīng)用范圍越來越廣泛。智能化的微灌系統(tǒng)可以實(shí)現(xiàn)大面積的作物田間灌溉,在很大的程度上節(jié)約人力、物力,實(shí)現(xiàn)作物生長大面積的管理,實(shí)時(shí)掌握作物的生長環(huán)境。開發(fā)簡單、快速、實(shí)用的微灌智能設(shè)計(jì)具有重要的意義。此次設(shè)計(jì)的是通過選擇SHT11溫濕度傳感器對土壤的溫度以及濕度等重要物理量進(jìn)行采集,將采集到的信號交給51單片機(jī)系統(tǒng)進(jìn)行處理,通過用c語言的編程實(shí)現(xiàn)在需要時(shí)驅(qū)動相關(guān)外部設(shè)備,對目標(biāo)區(qū)域進(jìn)行自動精確地智能灌溉。關(guān)鍵詞:51單片機(jī) 溫濕度傳感器 c語言AbstractWith the increasing development of science and technology,especially the development of Intelligent Technology,the application range of intelligent micro-irrigation technology more widely.The intelligent micro-irrigation systems can achieve a large area of crop field irrigation,and save to a large extent on the manpower,resources,management of the crop area,real-time control environment for the growth of crops.Development of simple,rapid,practical micro-irrigation intelligent design is of great significance.The design is by SHT11 temperature and humidity sensors on the soil temperature and humidity,and other important physical collection,the collected signal to the 51 single-chip system for processing,related to an external device driver when needed by using c language programming achieve automatic precision smart irrigation,the target area. Key words: 51MCU temperature and humidity sensors c language目 錄摘 要IAbstractII引 言11 概論21.1國內(nèi)外現(xiàn)狀及發(fā)展趨勢21.2設(shè)計(jì)的背景及意義31.3本設(shè)計(jì)所做的工作和內(nèi)容42 系統(tǒng)總體設(shè)計(jì)與分析52.1 總體方案52.2 系統(tǒng)方案論證53 系統(tǒng)硬件設(shè)計(jì)63.1 溫濕度采集轉(zhuǎn)換模塊硬件設(shè)計(jì)63.1.1 SHT11介紹63.1.2 工作原理73.1.3 輸出特性83.1.4 寄存器配置83.1.5 接口電路93.2 單片機(jī)系統(tǒng)硬件設(shè)計(jì)103.3 LCD顯示硬件設(shè)計(jì)113.4 鍵盤控制模塊硬件設(shè)計(jì)123.5繼電器(指示燈接口)模塊硬件設(shè)計(jì)143.6 時(shí)鐘模塊硬件設(shè)計(jì)144 系統(tǒng)軟件設(shè)計(jì)164.1 系統(tǒng)整體框架介紹164.2溫濕度采集轉(zhuǎn)換模塊軟件設(shè)計(jì)204.3 鍵盤控制模塊軟件設(shè)計(jì)224.4 LCD顯示模塊軟件設(shè)計(jì)255電路仿真286結(jié)論32致謝33參考文獻(xiàn)34附錄35引 言在全球淡水水資源越來越缺乏和農(nóng)業(yè)現(xiàn)代化的當(dāng)今世界,農(nóng)業(yè)高度集約化種植模式(耕作、種植、灌溉、施肥、收獲等)和“工廠化”特征日趨顯著。在精確化農(nóng)業(yè)的生產(chǎn)過程中,如今發(fā)達(dá)國家發(fā)展現(xiàn)代農(nóng)業(yè)的主要的手段是運(yùn)用高科學(xué)技術(shù)和高新技術(shù)的裝備。在灌溉的技術(shù)上對農(nóng)作物的生長過程智能化的控制要求正在提高。大多數(shù)發(fā)達(dá)國家農(nóng)業(yè)的灌溉系統(tǒng)幾乎全部采用計(jì)算機(jī)的控制方式,基本上實(shí)現(xiàn)了系統(tǒng)智能化。微灌技術(shù)和設(shè)備在我國還處于研究和待開發(fā)階段,系統(tǒng)的成套性還較差,主要部件品種少,質(zhì)量不穩(wěn)定。因此,加速開發(fā)成套、適用、可靠、先進(jìn)的灌溉系統(tǒng)是我國今后節(jié)水灌溉設(shè)備發(fā)展的主要方向。自動控制灌溉系統(tǒng),基本上還是手動閥門來操作。自動控制器等方面還有待于進(jìn)一步開發(fā)和應(yīng)用。微機(jī)和單片機(jī)等自動控制檢測系統(tǒng)裝置,已經(jīng)在某些微灌工程中應(yīng)用和實(shí)驗(yàn),初步顯示出微灌采用自動化的管理系統(tǒng)優(yōu)越性和先進(jìn)性。1 概論1.1國內(nèi)外現(xiàn)狀及發(fā)展趨勢微灌技術(shù)的研究在中國的起步還不算太晚,自1974年引進(jìn)墨西哥的滴灌設(shè)備我國的微灌技術(shù)試驗(yàn)研究正式開始。該過程經(jīng)歷了1974到1980年之間的引進(jìn)消化和吸收,設(shè)備的研制與應(yīng)用實(shí)驗(yàn)及試點(diǎn)階段;1981到1986年之間經(jīng)歷了設(shè)備產(chǎn)品的改進(jìn)和應(yīng)用試驗(yàn)的研究以及擴(kuò)大試點(diǎn)的推廣三個(gè)階段;從1987年到現(xiàn)在直接引用了國外先進(jìn)的科學(xué)技術(shù),進(jìn)入了從高起點(diǎn)上對研發(fā)微灌設(shè)備的產(chǎn)品開發(fā)階段?;谝?、吸收發(fā)達(dá)國家先進(jìn)科學(xué)技術(shù)的基礎(chǔ)上,結(jié)合了我國國情,從經(jīng)濟(jì)上的實(shí)用,便于安裝和利于推廣的主要幾點(diǎn)出發(fā),在個(gè)地相關(guān)關(guān)部門的合作與努力的情況下,開發(fā)微灌技術(shù)、生產(chǎn)研制設(shè)備和科學(xué)實(shí)驗(yàn)等多方面都取得重要的成果,我國的微灌技術(shù)日趨步入成熟。但是由于我國正處于初級階段的微灌技術(shù)研究,近些年來自己研制、開發(fā)與生產(chǎn)微灌設(shè)備的產(chǎn)品不管是在質(zhì)量方面和性能方面與發(fā)達(dá)國家相比較,差距存在還是比較大的;同發(fā)達(dá)的國家相比較更大的差距存在于微灌工程設(shè)備的組裝配套和自動控制方面。例如灌溉設(shè)備系統(tǒng)成套性比較差,配套的水平偏低;主要的幾個(gè)部件的品種規(guī)格太少,質(zhì)量相對來說不穩(wěn)定,沒有很好的系列化;關(guān)鍵的設(shè)備穩(wěn)定性和耐久性都比較差;自動化和綜合功能技術(shù)程度不是很高,基本上還處于手動的操作方式,以至于整體的綜合效果和收益都不高。隨著現(xiàn)代化高科技不斷的發(fā)展,各種智能化家電、數(shù)碼產(chǎn)品走入進(jìn)人們的日常生活,網(wǎng)絡(luò)作為人們現(xiàn)代生活中人際的交往和獲取知識的一個(gè)必不可少的平臺??紤]到現(xiàn)代化高科技的發(fā)展,未來的智能澆灌系統(tǒng)也有希望朝一下這些方面發(fā)展。智能化隨著傳感器的技術(shù)、計(jì)算機(jī)處理技術(shù)和自動智能控制技術(shù)的持續(xù)發(fā)展,溫室中的計(jì)算機(jī)環(huán)境的控制系統(tǒng)應(yīng)用將會由以數(shù)據(jù)采集處理和監(jiān)測的簡單方式,漸漸轉(zhuǎn)向以數(shù)據(jù)處理和應(yīng)用為主。所以軟件系統(tǒng)的研制和開發(fā)將會得到不斷完善,其中專家系統(tǒng)為主的智能化管理控制系統(tǒng)已經(jīng)取得了不少的研發(fā)成果,并且其應(yīng)用的前景是非常廣闊的。網(wǎng)絡(luò)化目前,網(wǎng)絡(luò)已經(jīng)成為最具有活力,發(fā)展速度最快的高科技領(lǐng)域。網(wǎng)絡(luò)的通信技術(shù)發(fā)展促進(jìn)了信息的傳播。設(shè)施的產(chǎn)業(yè)化程度的提高成為可能。綜合環(huán)境的調(diào)控所謂綜合環(huán)境調(diào)控,就是以實(shí)現(xiàn)目標(biāo)植物的正常生長為目標(biāo),把影響目標(biāo)植物生長的多種環(huán)境參數(shù)(如光照、溫度、濕度等)都保持在適宜目標(biāo)植物生長的狀態(tài),并盡可能的使用最少的環(huán)境調(diào)節(jié)裝置(采光、遮光、通風(fēng)、保溫、加濕等)。智能和無人操作將會是未來的各種行業(yè)的發(fā)展趨勢,不僅能大量節(jié)省人們的寶貴時(shí)間還能更好的控制各種成分的細(xì)微比例做到人們自己動手所不能做到的效果。高移植性稍微修改一些系統(tǒng)的參數(shù)及設(shè)備即可應(yīng)用于別的環(huán)境下,省時(shí)省力,節(jié)省大量資金及研發(fā)成本。在不久的將來,不僅能實(shí)現(xiàn)對辦公室花卉的控制而且可以實(shí)現(xiàn)路邊及所有公共場所花草樹木的自動灌溉,而且可以加入遠(yuǎn)程控制,可視頻控制,更大限度的節(jié)省人力物力,這將是世界澆灌系統(tǒng)的一個(gè)發(fā)展趨勢。1.2設(shè)計(jì)的背景及意義水是生命之源,同樣它也是國家經(jīng)濟(jì)發(fā)展的主要因素,人類生存必不可少的因素,水的重要性在國際上已經(jīng)得到了共識,水資源開發(fā)和保護(hù)已經(jīng)被各國家所重視。而需要如何高效率利用有限的淡水資源,盡最大能力發(fā)揮水資源的效益己經(jīng)成為看一個(gè)全球性極其有待解決的重要課題。諸多的缺水國家當(dāng)中,作為水資源極其短缺國家之一的中國。水資源的利用率和利用效率低下使水資源在節(jié)流方面呈現(xiàn)巨大的挖掘潛力,因此節(jié)水成為歷史發(fā)展的必然。伴隨著人們快節(jié)奏的生活、工作、學(xué)習(xí),人們已沒有很多時(shí)間去精心照顧自己種的花卉植物等,因此市場上急需一種可以代替人類勞動的產(chǎn)品。由于現(xiàn)在市場上很多的噴灌設(shè)備主要是是針對溫室、露天農(nóng)作物、森林等大面積植物噴灌,而對于家庭小面積噴灌系統(tǒng)設(shè)備幾乎沒有,也沒有達(dá)到自動化的水平?,F(xiàn)代生活中,隨著人們生活水平的提高,人們對花卉、樹木等綠色植物的喜愛和種植越來越多,然而以前對花木的澆灌、施肥等工作都需要靠人工來實(shí)現(xiàn),由于現(xiàn)代生活節(jié)奏的加快,人們往往忙于工作而忘記定期、及時(shí)地為花卉補(bǔ)充水分及養(yǎng)料,或者由于放假回家而將花放在辦公室沒有人管理導(dǎo)致花木枯死。已有的澆水器需要有人控制或者定時(shí)的澆灌,不能根據(jù)植物正常生長所需要的光照、水分、溫度來實(shí)時(shí)調(diào)節(jié)植物生長環(huán)境的參數(shù),不利于花木的成長,而且現(xiàn)在的名貴花如果因?yàn)橐陨显蚨劳龅貌粌斒?,鑒于以上情況,市場上急需提供一種能夠根據(jù)光照、溫度、濕度及光照的變化自動將水分和及光補(bǔ)充給花木,達(dá)到定期、及時(shí)澆灌花木的花木自動澆灌器。1.3本設(shè)計(jì)所做的工作和內(nèi)容此次設(shè)計(jì)采用AT89S51開發(fā)板作為單片機(jī)最小系統(tǒng),基于Keil仿真軟件來完成軟件開發(fā),用protues仿真工具軟件設(shè)計(jì)電路圖以及做模擬仿真。開發(fā)板包括AT89S51芯片(8位微控制器)及其外圍的基本模塊,外圍模塊包括:晶振電路(OSC)、復(fù)位電路(RESET)、鍵盤(包括復(fù)位和擴(kuò)展按鍵)、DS1302時(shí)鐘電路等。所以,本次設(shè)計(jì)需要做好以下工作:(1)學(xué)習(xí)單片機(jī)原理等資料。(2)學(xué)習(xí)Keil、Protues等工具軟件的使用方法。(3)用Protues仿真工具軟件來設(shè)計(jì)本系統(tǒng)的電路圖。(4)用Keil開發(fā)軟件來編寫程序并調(diào)試成功。(5)結(jié)合系統(tǒng)的電路仿真圖用Protues仿真軟件進(jìn)行仿真調(diào)試。(6)用51單片機(jī)實(shí)驗(yàn)板進(jìn)行實(shí)物調(diào)試爭取達(dá)到預(yù)期的結(jié)果。(7)撰寫項(xiàng)目論文2 系統(tǒng)總體設(shè)計(jì)與分析 2.1 總體方案根據(jù)設(shè)計(jì)功能要求,系統(tǒng)可分如下部分:溫度監(jiān)控:對環(huán)境溫度進(jìn)行測量,并通過單片機(jī)處理顯示環(huán)境溫度。 濕度監(jiān)控:對環(huán)境濕度進(jìn)行測量,并通過單片機(jī)處理顯示相對的環(huán)境濕度。 灌溉處理:當(dāng)相對濕度越限時(shí),繼電器工作導(dǎo)通外部的灌溉電路。 顯示: LCD實(shí)時(shí)顯示溫度、相對濕度及時(shí)鐘日期。 鍵盤控制: 當(dāng)前溫度與相對濕度值顯示的轉(zhuǎn)換、時(shí)鐘的調(diào)節(jié)及年月日與時(shí)分秒的顯示轉(zhuǎn)換。2.2 系統(tǒng)方案論證當(dāng)將單片機(jī)用作測控系統(tǒng)的時(shí)侯,系統(tǒng)必須有被測的信號通過指定輸入通道,再由單片機(jī)來收集需要的輸入信息。相對于測量的系統(tǒng)來說,它的核心任務(wù)是如何準(zhǔn)確獲得被測信號;但是對于測控系統(tǒng)來說,除了被測試控對象狀態(tài)的信號,還應(yīng)該把測試的數(shù)據(jù)和控制的條件對比并在需要的時(shí)候控制相應(yīng)執(zhí)行設(shè)備。傳感器作為實(shí)現(xiàn)測量和控制的第一環(huán)節(jié),是測量控制系統(tǒng)關(guān)鍵的部件,假如沒有傳感器對被測信號進(jìn)行可靠的捕捉和數(shù)據(jù)的轉(zhuǎn)換,所有的測量和控制都將會沒有辦法去實(shí)現(xiàn)。在本次系統(tǒng)設(shè)計(jì)中,我們選擇SHT11來作為本設(shè)計(jì)的溫濕度傳感器。SHT11傳感器是一種包含已校準(zhǔn)的數(shù)字信號輸出的溫度與濕度復(fù)合的傳感器。該傳感器包含了一個(gè)電容聚合體的測濕功能元件與一個(gè)能隙的測溫功能元件,并且和一個(gè)14位數(shù)模轉(zhuǎn)換器和串行接口電路在相同的芯片上完成了無縫的連接。所以,該芯片有品質(zhì)好、抗干擾的能力強(qiáng)、響應(yīng)快、性價(jià)比高等一系列的優(yōu)點(diǎn)。所有的SHT11傳感器都是在濕度校驗(yàn)室中進(jìn)行特別精確的校對調(diào)準(zhǔn)。校準(zhǔn)好的系數(shù)以程序代碼的形式存儲于Otp的內(nèi)存當(dāng)中,在信號處理過程中傳感器內(nèi)部要調(diào)用已經(jīng)校準(zhǔn)好的系數(shù)。兩線制接口和內(nèi)部的基準(zhǔn)電壓,使系統(tǒng)的集成簡單快捷化。體積小、功耗低的特點(diǎn)使得該傳感器成為各類應(yīng)用場合的最好選則。3 系統(tǒng)硬件設(shè)計(jì)本系統(tǒng)硬件包括:溫濕度采集轉(zhuǎn)換模塊、單片機(jī)及附屬電路、鍵盤控制、LCD顯示、時(shí)鐘模塊、繼電器電路等部分的設(shè)計(jì)。系統(tǒng)整體電路框圖如圖3.1所示。ATMEL89C51單片機(jī)溫濕度采集轉(zhuǎn)換模塊鍵盤控制LCD顯示繼電器電路(指示燈指示電路)時(shí)鐘模塊圖3.1 系統(tǒng)整體電路框圖3.1 溫濕度采集轉(zhuǎn)換模塊硬件設(shè)計(jì)3.1.1 SHT11介紹SHT11是瑞士Sensirion公司研發(fā)出的基于CMOSensTM技術(shù)的較為新型檢測溫度與濕度的傳感器。該種傳感器把CMOS芯片技術(shù)和傳感技術(shù)相結(jié)合起來,從而體現(xiàn)了這兩種技術(shù)優(yōu)勢互補(bǔ)的強(qiáng)大功能。SHT11檢測溫度與濕度傳感器的主要特征: 1、用COMSensTM技術(shù)將信號的放大調(diào)理、溫濕度傳感、A/D轉(zhuǎn)換、I2C總線接口這些模塊集成到一個(gè)芯片中;可以給出校準(zhǔn)后相對的濕度和溫度值的輸出;穩(wěn)定性卓越;14位的濕度值的輸出分辨率以及12位的溫度值的輸出分辨率,并且可以對應(yīng)的編程為12位以及8位。2、SHT11溫濕度傳感器采用SMD(LCC)表面式貼片封裝,管腳的排列如圖3.2所示,它的引腳說明如下:(1)GND:接地端;(2)DATA:雙向串行數(shù)據(jù)線;(3)SCK:串行的時(shí)鐘輸入;SCK用在微處理器和SHT11它們之間的通訊同步上。由于其接口含有完全的靜態(tài)邏輯,所以沒有最小的SCK頻率。(4)VDD電源端:0.45.5V電源端;SHT11的供電電壓為2.45.5V。該傳感器給出工作電壓后,要等待11 ms用來越過“休眠”狀態(tài)。在這個(gè)時(shí)間段不需要發(fā)送給它任何指令。電源引腳(VDD,GND)之間可增加一個(gè)100nF的電容,用以去藕濾波。(5)NC:空管腳。3.1.2 工作原理SHT11運(yùn)用電容式結(jié)構(gòu)來對溫度與濕度進(jìn)行檢測,并且傳感器芯片的電容的組成運(yùn)用了聚合物的覆蓋層與具有不同保護(hù)的微型結(jié)構(gòu)的檢測電極系統(tǒng)的組合,除了保持了電容式的濕敏器件原有的特征外,還可以自行抵御一些來自外界的干擾。出于其由溫度傳感和濕度傳感兩個(gè)部分相結(jié)合成單一個(gè)體的原因,所以測量的精度高而且可以精確得到露點(diǎn)值,而且不會同時(shí)產(chǎn)生因?yàn)闇囟葌鞲泻蜐穸葌鞲袃刹糠种g隨著溫度梯度值的變化而引起誤差。CMOSensTM技術(shù)不單是將溫度與濕度傳感器互相結(jié)合,并且還把信號的放大、校準(zhǔn)數(shù)據(jù)的存儲、模數(shù)的轉(zhuǎn)換、標(biāo)準(zhǔn)的I2C總線等這些電路集成于單個(gè)芯片中。SHT11傳感器內(nèi)部的結(jié)構(gòu)框圖如下:SHT11的每個(gè)傳感器的校準(zhǔn)都是在特別精確的濕度室里進(jìn)行的。該傳感器校準(zhǔn)系數(shù)首先存放于OTP內(nèi)存中。校準(zhǔn)后的相對濕度傳感與溫度傳感模塊和一個(gè)A/D轉(zhuǎn)換模塊(14位)相互連接,可以把已經(jīng)轉(zhuǎn)換的數(shù)字溫度值和濕度值傳給二線的I2C總線模塊,從而完成數(shù)字信號與符合I2C總線協(xié)議串行的數(shù)字信號的轉(zhuǎn)換過程。出于傳感器和電路的部分是結(jié)合于一起的,所以與其它類型的濕度傳感器相比SHT11傳感器具有更加優(yōu)越的性能。首先增加了傳感器信號強(qiáng)度,增強(qiáng)了該傳感器的抗干擾能力,從而保證了該傳感器長期的穩(wěn)定性;數(shù)模轉(zhuǎn)換同一時(shí)間的完成從而大幅度的降低了該傳感器對外界干擾敏感的程度。3.1.3 輸出特性(1)濕度值輸出SHT11可通過I2C總線直接將數(shù)字濕度值輸出,它的相對數(shù)字濕度值輸出的特性曲線如下圖3.4所示。由圖3.4可看出,SHT11輸出的特性曲線呈現(xiàn)出非線性,可按照如下所示的公式修正濕度值用來補(bǔ)償該濕度傳感模塊的非線性:Rhlinear=C1+C2SORH+C3SORH2式中,SORH是該傳感器的相對濕度的測量值,系數(shù)的取值如下:12位:SORH:C1 = 4,C2 = .0405,C3 = 2.8 1068位:SORH: C1 = 4,C2 = 0.648,C3 = 7.2 104(2)溫度值輸出由于SHT11的溫度傳感模塊的線性很好,所以可以用如下的公式把溫度的數(shù)字輸出直接轉(zhuǎn)換成為實(shí)際的溫度值:T=d1+d2SOT當(dāng)供電電源的電壓是5V而且溫度傳感模塊分辨率是14位時(shí),d1 = 40,d2 = 0.01,當(dāng)SHT11的溫度傳感模塊的分辨率是12位的時(shí)候,d1 = 40,d2 = 0.04。3.1.4 寄存器配置該傳感器是通過狀態(tài)寄存器來實(shí)現(xiàn)其中一部分的高級功能,寄存器各位的類型及說明如表1所示。下面是對寄存器的相關(guān)位進(jìn)行功能說明:(1)加熱芯片的加熱開關(guān)導(dǎo)通后,該傳感器的溫度約增加5,從而使功耗增加至8mA*5v。加熱的用途如下所示:a 經(jīng)過對啟動加熱的溫、濕度前后進(jìn)行對比,能夠?qū)鞲衅鞴δ苓M(jìn)行一個(gè)正確區(qū)別;b 傳感器假如指定環(huán)境相對濕度比偏高的情況下可以通過加熱以防止冷凝現(xiàn)象的發(fā)生。(2)電源低電壓的檢測SHT11在工作的時(shí)侯可以自行的檢測Vdd的電壓是否小于2.45伏,。(3)校準(zhǔn)系數(shù)的下載為了提高速度,OTP在每次的測量前都會重新下載標(biāo)準(zhǔn)的校準(zhǔn)系數(shù),可以使測量每一次都節(jié)省8.2ms的時(shí)間。(4)分辨率的設(shè)定把測量的分辨率從14位(溫度)和12位(濕度)分別減到12位和8位可以應(yīng)用在高速度或者是低功耗的場合。 表1 SHT11狀態(tài)寄存器類型及說明位類型說 明默認(rèn)值7保留06讀工檢限(低電壓檢查)X5保留04保留03只用于試驗(yàn),不可以使用02讀/寫加熱0關(guān)1讀/寫不從OTP重下載0重下載0讀/寫1=8位相對濕度,12位溫度分辨率。0=12位相對濕度,14位濕度分辨率012位相對濕度,14位濕度3.1.5 接口電路AT89C51與SHT11的接口電路如圖3.5所示。圖中,SHT11的DATA端口通過一個(gè)10K的外部上拉電阻與單片機(jī)連接。由于P2口內(nèi)部已有上拉電阻,所以本次設(shè)計(jì)DATA端口連接單片機(jī)的P2.7口時(shí)不需要上拉電阻。圖3.5 AT89C51與SHT11的接口電路3.2 單片機(jī)系統(tǒng)硬件設(shè)計(jì)本系統(tǒng)中,我們采用美國ATMEL(愛特梅爾)公司生產(chǎn)的AT89C51單片機(jī)作為主控芯片。AT89C51單片機(jī)是一種低功耗、高性能CMOS 8位微控制器,具有4K在系統(tǒng)可編程Flash存儲器。使用ATMEL公司高密度非易失性存儲器技術(shù)制造,與工業(yè)8051產(chǎn)品指令和引腳完全兼容。AT89C51單片機(jī)具有以下的標(biāo)準(zhǔn)功能:4k字節(jié)Flash, 128字節(jié)RAM,32位I/O口線,兩個(gè)16位定時(shí)器/計(jì)數(shù)器,可編程串行通道,5個(gè)中斷源,低功耗的閑置和掉電模式,片內(nèi)晶振及時(shí)鐘電路。圖3.6所示為AT89C51單片機(jī)最小系統(tǒng)原理圖。 圖3.6 單片機(jī)最小系統(tǒng)3.3 LCD顯示硬件設(shè)計(jì)由于本次設(shè)計(jì)要求實(shí)時(shí)顯示時(shí)鐘、溫度和相對濕度,所以傳統(tǒng)的LED數(shù)碼管遠(yuǎn)遠(yuǎn)不能滿足要求,在這里我們采用1602工業(yè)字符型液晶,能夠同時(shí)顯示16X02即32個(gè)字符。(16列2行)如圖3.7所示: 圖3.7 LCD 硬件顯示模塊1602字符型LCD通常有14條引腳線或16條引腳線的LCD,多出來的2條線是背光電源線 VCC(15腳)和地線GND(16腳),其控制原理與14腳的LCD完全一樣,如表2(引腳說明)表3(寄存器的選擇控制)所示: 表2 1602引腳說明引腳符號功能說明1VSS一般接地2VDD接電源(+5V)3V0對比度的調(diào)整端,連接正電源的對比度最為微弱,連接地端電源的對比度最強(qiáng),使用時(shí)可以通過用10K電位器來進(jìn)行對比度的調(diào)整。4RS寄存器的選擇,高電平1時(shí)會選擇數(shù)據(jù)的寄存器、低電平0時(shí)會選擇指令的寄存器。5R/W讀與寫信號線,高電平(1)時(shí)進(jìn)行讀的操作,低電平(0)時(shí)進(jìn)行寫的操作。6EE(或EN)端為使能(enable)端,下降沿使能。7DB0低4位三態(tài)、 雙向數(shù)據(jù)總線 0位(最低位)8-10DB1-3低4位三態(tài)、 雙向數(shù)據(jù)總線 1-3位11-13DB4-6高4位三態(tài)、 雙向數(shù)據(jù)總線 4-6位14DB7高4位三態(tài)、 雙向數(shù)據(jù)總線 7位(最高位)(也是busy flag)15BLA背光電源正極16BLK背光 電源負(fù)極 表3寄存器選擇控制RSR/W操作說明00寫入指令寄存器(清除屏等)01讀busy flag(DB7),以及讀取位址計(jì)數(shù)器(DB0DB6)值10寫入數(shù)據(jù)寄存器(顯示各字型等)11從數(shù)據(jù)寄存器讀取數(shù)據(jù)注:關(guān)于E=H脈沖開始時(shí)初始化E為0,然后置E為1,再清0. busy flag(DB7):在此位為被清除為0時(shí),LCD將無法再處理其他的指令要求。3.4 鍵盤控制模塊硬件設(shè)計(jì)在單片機(jī)系統(tǒng)中,按接口形式把鍵盤分為兩大類:編碼式鍵盤與非編碼式鍵盤。由硬件邏輯電路來編碼式鍵盤完成鍵識別的工作和可靠措施。每一按鍵,鍵盤會自動的提供出該按鍵讀數(shù),于此同時(shí)用產(chǎn)生的選通脈沖來通知給微處理器。這種鍵盤比較容易使用,但是硬件結(jié)構(gòu)復(fù)雜,主機(jī)任務(wù)會相對繁重。而非編碼式鍵盤主要包括有獨(dú)立按鍵結(jié)構(gòu)的鍵盤與有矩陣按鍵結(jié)構(gòu)的鍵盤兩種。矩陣結(jié)構(gòu)鍵盤適合用在按鍵數(shù)量偏多的場合,由行線與列線來組成,按鍵在行列交叉點(diǎn)的位置上,節(jié)省I/O口。獨(dú)立按鍵結(jié)構(gòu)就是各按鍵相互獨(dú)立,每個(gè)按鍵單獨(dú)占用一根I/O口線,每根I/O口線按鍵的工作狀態(tài)是不會影響其他I/O口線按鍵的工作狀態(tài)。因此,用輸入電平狀態(tài)的檢測可以很容易確定是哪個(gè)按鍵按下。此鍵盤是用于按鍵較少或操作速度較高的場合。由于本次設(shè)計(jì)只用到6個(gè)鍵,所以采用獨(dú)立式鍵盤,在程序設(shè)計(jì)中采用查詢的方式來識別按鍵。本次設(shè)計(jì)共6個(gè)鍵,分別為時(shí)鐘調(diào)整鍵(Set(S4)、Up(S5)、Down(S6)、Enter(S7)、sd(S3))和溫度相對濕度轉(zhuǎn)換鍵kk(P23)。如圖3.8所示。 圖3.8 鍵盤控制模塊3.5繼電器(指示燈接口)模塊硬件設(shè)計(jì)在智能微噴灌控制系統(tǒng)中,采集到的參數(shù)在進(jìn)行進(jìn)行數(shù)據(jù)處理、數(shù)字濾波,標(biāo)度變換之后,與給出的標(biāo)準(zhǔn)參數(shù)上下限給定值進(jìn)行比較,如果高于上限值(或低于下限值)則驅(qū)動相應(yīng)的外部灌溉電路,對目標(biāo)區(qū)域進(jìn)行微噴灌。本設(shè)計(jì)采用了繼電器電路來驅(qū)動相應(yīng)的外部灌溉電路用來實(shí)施對植物的灌溉。考慮到繼電器仿真效果不明顯,設(shè)計(jì)采用指示燈電路代替該效果。通過AT89C51給出處理信號。當(dāng)相對濕度值高于上限值(或低于下限值)時(shí),由指示燈指示電路模擬外部灌溉電路的導(dǎo)通與斷開。相應(yīng)的繼電器模塊和替代的指示燈接口模塊如圖3.9所示: 圖3.9 繼電器模塊與指示燈接口模塊3.6 時(shí)鐘模塊硬件設(shè)計(jì)本次設(shè)計(jì)的時(shí)鐘模塊選用由Dallas公司(美國)推出的DS1302,它具有小電流充電的能力、功耗低的實(shí)時(shí)時(shí)鐘的電路結(jié)構(gòu)、工作原理及其在實(shí)時(shí)顯示時(shí)間中的應(yīng)用。可以對年月日和時(shí)分秒進(jìn)行準(zhǔn)確的計(jì)時(shí),且有對進(jìn)行閏年補(bǔ)償?shù)墓δ?。該芯片采用的是三線接口和CPU同步通信的技術(shù)。DS1302的內(nèi)部的318的RAM寄存器是用來臨時(shí)存放數(shù)據(jù)。它作為DS1202升級后的產(chǎn)品,與DS1202互相兼容,但是它加了主電源/后備電源的雙電源的引腳,于此同時(shí)也讓后備電源可以進(jìn)行小電流的充電。DS1302引腳的排列,VCC1是后備的電源,VCC2是主要的電源。主電源被關(guān)閉情況下,它也可以保持時(shí)鐘連續(xù)的運(yùn)行。DS1302是由Vcc1和Vcc2中較大的提供工作電壓。X1和X2是DS1302的振蕩源,外部連接的是值為32.768Khz的晶振。Rst作為復(fù)位/片的選線,對所有的數(shù)據(jù)傳送的啟動是通過將Rst輸入驅(qū)動置高電平來進(jìn)行的。Rst的輸入包含兩種功能:首先,Rst導(dǎo)通控制邏輯,允許地址/命令的序列送給移位寄存模塊;其次,Rst會提供終止字節(jié)數(shù)據(jù)傳送的手段。當(dāng)給Rst置高電平,初始化所有數(shù)據(jù)的傳送,允許DS1302的操作。假如處于傳送過程中時(shí),當(dāng)給Rst置低電平,那么將會終止當(dāng)下數(shù)據(jù)的傳送,I/O引腳則改變成高阻態(tài)。在上電后,在VCC2.0V之前,Rst必須維持在低電平。只有當(dāng)Sclk置為低電平的時(shí)侯,才能將Rst置為高電平。I/O為串行數(shù)據(jù)輸入輸出端(雙向)。Sclk為時(shí)鐘輸入端。DS1302時(shí)鐘模塊電路如圖3.10 所示:圖3.10 時(shí)鐘模塊電路4 系統(tǒng)軟件設(shè)計(jì)本次設(shè)計(jì)軟件系統(tǒng)主要包括:溫濕度采集轉(zhuǎn)換模塊、鍵盤控制模塊、LCD顯示模塊、繼電器驅(qū)動模塊等。4.1 系統(tǒng)整體框架介紹當(dāng)單片機(jī)上電復(fù)位后,系統(tǒng)開始運(yùn)行程序,時(shí)間日期和溫度值(相對濕度值)會實(shí)時(shí)顯示的液晶顯示器上,按下相應(yīng)的功能鍵可以對溫度值顯示與相對濕度值顯示的轉(zhuǎn)換和顯示時(shí)間的調(diào)整。當(dāng)按下溫濕度調(diào)整功能鍵時(shí),LCD顯示器上會有相應(yīng)顯示。當(dāng)按下時(shí)鐘調(diào)整功能鍵時(shí),可以調(diào)節(jié)當(dāng)前的時(shí)間值。當(dāng)采集到的相對濕度值高于上限值(或低于下限值)則由繼電器驅(qū)動相應(yīng)的外部灌溉電路,對目標(biāo)區(qū)域進(jìn)行微噴灌。系統(tǒng)整體的軟件流程方式如圖4.1所示:圖4.1 系統(tǒng)整體的軟件流程圖 系統(tǒng)主函數(shù)部分的代碼:void main() uint i,j; uint temp; uint dat; uint Hum; float f; init1602(); /初始化LCD init_ds1302();/設(shè)置初始時(shí)間 Delay_Ms(20); while(1) key = kkey(); SHT11_Write_Register(REG_WRITE,FUNCTION_SET); if(key = 1) temp=SHT11_Measure(TEM_TEST,0x37); f=SHT11_Convert_Tempeture12bit(temp);DispConvert(DispData,f); / Delay_Ms(20); write_com(0x80); /LCD第一行顯示Delay_Ms(1); write_date(T); write_date(E); write_date(M); write_date(P); write_date(=); for(i=0;i4;i+) write_date(DispDatai); write_date( ); write_date( ); write_date( ); write_date( ); write_date( ); write_date( );if(key = 0) temp=SHT11_Measure(TEM_TEST,0x37); f=SHT11_Convert_Tempeture12bit(temp); dat=SHT11_Measure(HUM_TEST,0x0b); Hum=SHT11_Convert_Humidity8bit(dat,f); DispConvert(DispData,Hum); / Delay_Ms(20); write_com(0x80); /LCD第一行顯示Delay_Ms(1); write_date( ); write_date(%); write_date(R); write_date(H); write_date(=); for(i=0;i4; minute=read_ds1302(0x83); minutel=minute&0x0f; minuteh=minute4; hour=read_ds1302(0x85); hourl=hour&0x0f; hourh=hour4;month=read_ds1302(0x89); monthl=month&0x0f; monthh=month4; year=read_ds1302(0x8d); yearl=year&0x0f; yearh=year4;date=read_ds1302(0x87);datel=date&0x0f; dateh=date4; day=read_ds1302(0x8b);day=day&0x0f; Delay_Ms(10);if(sd = 1) write_com(0x80+0x40); write_date(T); write_date(I); write_date(M); write_date(E); write_date(:); write_date(0x30+hourh); write_date(0x30+hourl); write_date(-); write_date(0x30+minuteh); write_date(0x30+minutel); write_date(-); write_date(0x30+secondh); write_date(0x30+secondl); write_date( ); write_date( ); else write_com(0x80+0x40); write_date(D); write_date(A); write_date(T); write_date(E); write_date(:); write_date(2); write_date(0); write_date(0x30+yearh); write_date(0x30+yearl); write_date(-); write_date(0x30+monthh); write_date(0x30+monthl); write_date(-); write_date(0x30+dateh); write_date(0x30+datel);if(Set = 0) Set_time(); 4.2溫濕度采集轉(zhuǎn)換模塊軟件設(shè)計(jì)本系統(tǒng)傳感器模塊采用的是SHT11溫濕度傳感模塊,該模塊的程序工作流程如下圖4.2所示:復(fù)位啟動計(jì)算相對濕度值并顯示NNY寫入測濕命令讀出濕度數(shù)據(jù)計(jì)算溫度值并顯示N寫入測溫命令讀出溫度數(shù)據(jù)圖4.2 SHT11程序流程圖溫濕度采集模塊的部分函數(shù)名稱及功能(其中具體的函數(shù)代碼見附錄中的程序清單):函數(shù)名稱:void SHT11_Start()函數(shù)功能說明:SHT11啟動時(shí)序函數(shù)名稱:SHT11_Sendbyte(uchar dat)函數(shù)功能說明: 向SHT11發(fā)送8bite數(shù)據(jù)函數(shù)名稱SHT11_Answer():函數(shù)功能說明:檢測SHT11的響應(yīng)信號(在第九個(gè)時(shí)鐘周期)函數(shù)名稱:SHT11_Test_Finish()函數(shù)功能說明:檢測SHT11溫濕度檢測是否完畢函數(shù)名稱:SHT11_Receivebyte()函數(shù)功能說明:從SHT11接收8bite數(shù)據(jù)函數(shù)名稱:MCU_Answer()函數(shù)功能說明:單片機(jī)向SHT11發(fā)送應(yīng)答信號函數(shù)名稱:SHT11_End()函數(shù)功能說明:當(dāng)接收兩個(gè)8byte數(shù)據(jù)后部接收CRC校驗(yàn)碼函數(shù)名稱:void SHT11_Write_Register(uchar command ,uchar dat)函數(shù)功能說明:向SHT11的狀態(tài)寄存器設(shè)置功能,command為REG_WRITE 0x06寫寄存器,dat為 設(shè)置SHT11的功能 可以設(shè)置檢測的數(shù)據(jù)位數(shù)函數(shù)名稱:uchar SHT11_Read_Register(uchar command)函數(shù)功能說明:command為REG_READ 0x07/讀寄存器,返回值為狀態(tài)寄存器的值,位6顯示當(dāng)前檢測完一次數(shù)據(jù)后電源供電情況,當(dāng)位6為0時(shí)表明VDD2.47V 當(dāng)位6為1時(shí)表明VDD2.47V即電量不足,位0表明當(dāng)前的測量分辨率,當(dāng)位0為1時(shí)表明測量精度:8位/濕度 12位溫度;當(dāng)位0為0時(shí)表明測量精度:12位濕度 14位溫度,默認(rèn)為0函數(shù)名稱:SHT11_Measure(uchar command,uint time);函數(shù)功能說明:設(shè)置SHT11檢測功能,并返回相應(yīng)的檢測結(jié)果,command形參用于設(shè)定溫度檢測還是濕度檢測,time形參用于設(shè)定檢測過程中的等待時(shí)間,以確定檢測結(jié)果的位數(shù)11ms/55ms/210ms 分別對應(yīng)8位/12位/14位 函數(shù)名稱:Convert_Tempeture12bit(uint dat);函數(shù)功能說明:將檢測到的數(shù)據(jù)轉(zhuǎn)化為相應(yīng)的溫度數(shù)據(jù),溫度轉(zhuǎn)換公式-T=d1+d2*SOt,公式中的參數(shù)d1=-40,d2=0.04,適用于12位測量精度函數(shù)名稱:SHT11_Convert_Humidity8bit(uint dat,float temp)函數(shù)功能說明:將檢測到的數(shù)據(jù)轉(zhuǎn)化為相應(yīng)的濕度數(shù)據(jù),相對濕度轉(zhuǎn)換公式-RHline=C1+C2*SOrh+C3*SOrh*SOrh(檢測數(shù)據(jù)的線性化 SOrh為單片機(jī)接收到的數(shù)據(jù))-RHtrue=(tempeture-25)*(t1+t2*SOrh)+RHline,公式中的參數(shù):C1=-4,C2=0,648,C3=-0.00072,t1=0.01,t2=0.00128,適用于8位測量精度4.3 鍵盤控制模塊軟件設(shè)計(jì)本系統(tǒng)采用獨(dú)立式鍵盤,采用查詢的方式來識別按鍵。六個(gè)鍵分別為:溫度值與相對濕度值轉(zhuǎn)換顯示鍵kk功能:開關(guān)的開合可以完成對溫度值與相對濕度值顯示的轉(zhuǎn)換。年月日與時(shí)分秒轉(zhuǎn)換顯示鍵sd功能:開關(guān)的開合可以完成對年月日與時(shí)分秒顯示的轉(zhuǎn)換。時(shí)鐘功能鍵Set鍵是時(shí)鐘調(diào)整鍵。時(shí)鐘功能鍵Up鍵用來進(jìn)行加1調(diào)整。時(shí)鐘功能鍵Down鍵用來進(jìn)行減1調(diào)整。時(shí)鐘功能鍵Enter鍵用來進(jìn)行年、月、日、小時(shí)、分鐘設(shè)定模式的變換。鍵盤控制模塊的部分程序代碼(時(shí)間設(shè)定部分):void Set_time() uchar y,mon,d,h,min,s; y=0;mon=0;d=0;h=0;min=0;iii=0; while(iii=9) if(Set = 0) switch(iii) case 0: if(Up = 0)y+;Delay_Ms(300); if(Down = 0)y-;Delay_Ms(300); case 1: if(Up = 0)mon+;Delay_Ms(300); if(Down = 0)mon-;Delay_Ms(300); case 2: if(Up = 0)d+;Delay_Ms(300); if(Down = 0)d-;Delay_Ms(300); case 3: if(Up = 0)h+;Delay_Ms(300); if(Down = 0)h-;Delay_Ms(300); case 4: if(Up = 0)min+;Delay_Ms(300); if(Down = 0)min-;Delay_Ms(300); default:; write_com(0x80); write_date(D); write_date(A); write_date(T); write_date(E); write_date(:); write_date(2); write_date(0); write_date(y/10+0x30); write_date(y%10+0x30); write_date(-); write_date(mon/10 + 0x30); write_date(mon%10 + 0x30); write_date(-); write_date(d/10 + 0x30); write_date(d%10 + 0x30); write_com(0x80 + 0x40); write_date(T); write_date(I); write_date(M); write_date(E); write_date(:); write_date(h/10 + 0x30); write_date(h%10 + 0x30); write_date(-); write_date(min/10 + 0x30); write_date(min%10 + 0x30); write_date( ); write_date( ); write_date( ); if(Enter = 0 & iii8)iii+;Delay_Ms(300); else iii = 10; if(iii = 10) write_ds1302(0x8e,0x00); /關(guān)閉寫保護(hù) write_ds1302(0x80,0x00); write_ds1302(0x82,min + (min/10)*6); write_ds1302(0x84,h + (h/10)*6); write_ds1302(0x86,d + (d/10)*6); write_ds1302(0x88,mon + (mon/10)*6); write_ds1302(0x8c,y + (y/10)*6); write_ds1302(0x8e,0x80); /允許寫保護(hù) 4.4 LCD顯示模塊軟件設(shè)計(jì)本次設(shè)計(jì)顯示模塊采用1602液晶屏,對它的操作主要是將一些固定的字符寫入1602的寄存器中,當(dāng)需要顯示時(shí)調(diào)用即可,以達(dá)到在液晶上顯示的效果。程序流程圖如圖4.3所示LCD初始化允許寫數(shù)據(jù)寫數(shù)據(jù)顯示結(jié)束判斷LCD忙NY圖4.3 LCD顯示流程圖Lcd顯示模塊的程序代碼:/液晶模塊的忙碌狀態(tài) uchar Read_LCD_State() uchar state; RS=0;RW=1;EN=1; Delay_Ms(1); /根據(jù)規(guī)定,RS為低電平 /RW為高電平時(shí),可以讀狀態(tài) /EN使能后,才能進(jìn)行讀寫 /延時(shí)一會,給硬件反應(yīng)時(shí)間 state=P1; /讀P1口的值 EN = 0;Delay_Ms(1); return state; /返回狀態(tài)值/LCD忙檢測void LCD_Busy_Wait() while(Read_LCD_State()&0x80)=0x80); /忙,則等待 /當(dāng)P0口最高位為1則說明忙 Delay_Ms(5);void delay(uchar z) /延時(shí)函數(shù) uchar x,y;for(x=0;xz;x+) for(y=0;y0;x-); void write_co

溫馨提示

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

評論

0/150

提交評論