◆蘇 俁 李建軍 袁富生 徐志鑫 張樹煜 常曉榮
(塔里木大學機械電氣化工程學院 新疆 843300)
主程序包括四個子程序,即按鍵掃描子程序,溫濕度子程序、報警子程序和顯示子程序四個模塊組成。
鍵掃描子程序:實現(xiàn)按鍵是否按下識別及進行相應的程序控制。
溫濕度子程序:對溫濕度傳感器送過來的數(shù)據(jù)進行相應的處理,進行判斷對比和顯示。
報警子程序:對系統(tǒng)控制發(fā)出相應的警報。
顯示子程序:向LCD1062顯示器發(fā)出數(shù)據(jù),控制顯示其相應的數(shù)據(jù)變化情況。
DHT11是一款含有已校準數(shù)字信號輸出的數(shù)字溫濕度傳感器,因此它采集的都是數(shù)字信號,無須轉換;但是必須對DHT11的時序圖深刻了解,以便AT89C51單片機通過DHT11采集到溫濕度數(shù)據(jù),然后通過無線來傳輸。此數(shù)字溫濕度傳感器采用的是串行接口,也就是單線雙向的接口,數(shù)據(jù)用于 AT89C51單片機與DHT11之間的通訊和同步,采用單總線數(shù)據(jù)格式,一次通訊時間大約4ms,數(shù)據(jù)分小數(shù)部分、整數(shù)部分和校驗部分,考慮到DHT11的精度問題,小數(shù)部分現(xiàn)讀出為零,可以用于以后擴展。
方案一:LED顯示器只能顯示一些簡單的數(shù)字和字符,不能滿足設計要求。
方案二:在51單片機的應用系統(tǒng)中,常常還需要顯示一些漢字、字符或者圖形信息,這就需要使用液晶顯示器LCD1602。
LCD1602字符液晶顯示模塊由多個 5×8點陣塊組成的顯示字符塊構成,每一個點陣塊為一個字符位,其名稱含義為:可分兩行顯示,每一行至多顯現(xiàn)出16個字符。1602字符液晶顯示模塊在此使用16個引腳,其引腳功能如表1所示。
表1 1602字符液晶的引腳功能定義
系統(tǒng)電路采用單片機、DHT11、LCD1602等元件,單片機組成的最小系統(tǒng),連接上各元件,實現(xiàn)最后功能。系統(tǒng)電路圖如圖1所示:
圖1 電路圖
DHT11為單總線元件,1腳GND接的是地(或電源負極),2腳是數(shù)據(jù)輸送端與一個10k電阻并聯(lián)接到單片機I/O口上完成對溫濕度的傳輸,這里電阻起到上拉作用,用來穩(wěn)定信號的,它不需要復雜的A/D模數(shù)轉換電路,它的檢測值可以直接被單片機讀取,3腳VCC接到電源正極。
LED燈作為報警裝置,一端接到電源正極,一端連接到單片機引腳,根據(jù)溫濕度的變化,在設定的正常范圍之內對應的綠燈亮,否則紅燈亮。
當對系統(tǒng)上電后,系統(tǒng)先進行自動復位,初始化一切用戶設定,然后水位子程序檢查是否有水,當沒水時一直進行水位檢查,直到檢查到水位的下限傳感器檢查到有水了以后,下系統(tǒng)才調用溫濕度子程序,溫濕度子程序又進行溫濕度傳感器的檢查,當溫濕度傳感器不存在是顯示錯誤,返回到水位檢查中去,當溫濕度傳感器存在時,對溫濕度傳感器傳來的數(shù)據(jù)進行處理,處理完溫濕度后,系統(tǒng)會對按鍵子程序進行掃描,當用戶有按下按鍵時,進行按鍵子程序的相應程序,如果沒有按下按鍵,系統(tǒng)會對當前溫濕度與設定的溫濕度值進行比較,當當前溫濕度在設定值上限之下是控制繼電器進行加熱,當當前溫濕度值在設定值之上時不加熱。接著把當前的溫濕度值輸送到LCD1602顯示器上,顯示出用戶可以直接看到的數(shù)值。最后系統(tǒng)又進行水位的檢查,當水位到達上限時自動停止加水,防止溢出,檢查到沒水時進行上述的重復掃描。這就是系統(tǒng)的主程序流程過程。
(1)溫濕度子程序
當系統(tǒng)進行到溫濕度掃描時,就會調用到溫濕度子程序。溫濕度子程序其流程是:當進行溫濕度掃描時,檢測傳感器是否存在或是否正常,如果不存在直接返回,顯示器顯示錯誤主程序重新進行水位的檢測,如果傳感器存在要先對其進行初始化,利用單片機將DHT11的總線端口拉高,復位溫濕度傳感器,再進行下面相應的程序,把水的溫濕度讀取傳到單片機上,并顯示在LCD1602。
(2)顯示子程序
當溫濕度傳感器把溫濕度檢測傳輸?shù)絾纹瑱C后,就需要把采集到的溫濕度顯示出來,但是顯示器也有一定的顯示程序。
數(shù)據(jù)采集與控制系統(tǒng)軟件設計按鍵輸入采用中斷響應控制方式,在按鍵輸入時響應按鍵輸入信息,進行溫度濕度范圍設定。在正常工作期間每隔一定時間檢測溫度和濕度是否超出設定范圍。如果超出便發(fā)出報警信號,延時10ms,并啟動相應的執(zhí)行機構,使對應參數(shù)回到設定范圍,同時把采集到的數(shù)據(jù)輸出到液晶顯示。
(3)報警子程序
LED燈作為報警裝置,一端接到電源正極,一端連接到單片機引腳,根據(jù)溫濕度的變化,在設定的正常范圍之內對應的綠燈亮,否則紅燈亮。代碼如下:
了環(huán)境中溫濕度監(jiān)測系統(tǒng)的整體結構,完成了監(jiān)測系統(tǒng)各個部分的硬件設計與軟件設計,采用了單片智能數(shù)字化溫濕度復合傳感器DHT11,測量范圍大,體積小,精度較高,抗干擾能力強。實現(xiàn)了低功耗設計,提高了系統(tǒng)的可靠性和可擴展性,設計了監(jiān)測系統(tǒng)上位機軟件,實現(xiàn)了對測量結果的實時顯示和打印,滿足了系統(tǒng)監(jiān)控的需要,同時對智能監(jiān)控端進行了簡單仿真,驗證了系統(tǒng)可行性。