張東東
(蘇州大學 電子信息學院,江蘇 蘇州 215006)
摘要:在現代生產領域,溫濕度的監測與控制應用廣泛,對于監測技術的研究也越顯重要。鑒于國內外溫濕度測量技術的發展現狀,基于AT89C51單片機和DHT11數字式溫濕度傳感器設計實現了一個溫濕度監測系統。硬件電路包括微控制器模塊、數據采集模塊、顯示電路、報警電路以及按鍵設置5個部分,用戶可通過按鍵設定溫濕度上下限,當測得的數據超出所設定的范圍時發出報警信號(蜂鳴器蜂鳴)。軟件部分由主程序和各部分子程序構成。系統精確度較好,在日常環境監測以及生產活動中都有一定的應用價值。
關鍵詞:溫度測量;濕度測量;AT89C51;DHT11;
0引言
隨著現代科技的發展與通信技術的進步,溫濕度測量系統的整體性能及其優越性也取得了很大突破,對于溫濕度傳感器的應用和開發也越來越智能化。
國外很早就開始了對于溫濕度測量技術的研究,且一些技術已趨于成熟,集成化的監測設計、傳感器的應用、智能測試系統等技術早已研發出來并得以應用,這是國際傳感器領域的重大突破。
目前,雖然國內外對于此技術的研究已較為成熟,但科技探索是永無止境的,未來生產領域必然會提出更高的要求,一種完全智能化甚至完全無人化的潮流正悄然興起,這是不可避免的發展趨勢[1]。
1設計任務及方案論證
1.1設計要求
基于微控制器的溫濕度測量系統設計要求如下[2]:
(1)對所處環境的溫濕度進行檢測,要求溫度檢測范圍為0℃~50℃,測溫精度為±2℃; 濕度檢測范圍為20%~90%RH,測濕精度為±5%RH。
(2)能夠通過按鍵設定閾值。
(3)當檢測數據超出閾值蜂鳴報警。
(4)系統使用4位LCD顯示。
1.2設計方案
對溫濕度進行實時監測并LCD顯示,可自主設定溫濕度閾值,當傳感器所測得數據超出設定范圍,蜂鳴器報警。為達到本次設計的要求,系統需包含以下功能模塊[3]:溫濕度傳感器模塊、主控制模塊、按鍵和顯示模塊、報警電路。系統原理框圖如圖1所示。
2硬件設計
2.1主控制模塊
AT89C51是一種帶4 KB移序存儲器的低電壓、高性能CMOS 8位微處理器,其內部包含下列幾個部件[45]:一個8位CPU;一個片內振蕩器及時鐘電路;4 KB程序存儲器,128 B數據存儲器;兩個定時器,也可用作計數功能;一個可編程全雙工串行口;4個8位可編程并行I/O端口;5個中斷源和兩個優先級嵌套中斷結構。
以上各部分通過內部總線相連接。另外,除了8位CPU外,MCS-51內部還有一個微處理器,它實際上是一個完整的一位字長的計算機。
AT89C51單片機引腳排列圖如圖2所示。
DHT11的DATA口與單片機AT89C51的P3.0口連接。LCD1602顯示電路就是將各引腳依次與單片機的P0口相連,蜂鳴器超限蜂鳴。
2.2主要功能模塊
2.2.1晶振與復位電路
XTAL1和XTAL2分別是單片機內用于構成振蕩器的放大器的輸入端和輸出端。在XTAL1和XTAL2的引腳上接一個石英晶體和兩個電容,便能使內部振蕩器自激振蕩。與石英晶體振蕩器并聯的兩個電容的大小對振蕩頻率有微小影響,可以起到頻率微調作用。石英晶振的電容可以在20~40 pF之間選擇,本文選擇22 pF。
單片機復位電路也是必不可少的部分。當程序執行出現問題時,復位操作使單片機的程序重新運行,復位操作至少要兩個機器周期以上的高電平位于RST引腳。本設計采用的是上電復位。
2.2.2溫濕度傳感器電路
溫濕度采集是完成環境與微處理器數據溝通的前端部分,采用DHT11來完成設計[6]。
(1)DATA單總線通信[7]
DATA接口用于數據通信,傳送的數據由小數部分和整數部分組成。主機等待DHT11響應時,總線處于高電平狀態,當傳感器接收到開始信號時,就會發送一個響應信號,使總線處于低電平狀態,信號長80 μs,如果讀取高電平響應信號,但DHT11并無響應,則說明線路連接可能表1DHT11性能指標測量范圍測量精度分辨力0℃~50℃,
20%~90%RH±2℃±5%RH1出現問題。
(2) DHT11各項性能指數如表1、表2、表3所示。
(3)DHT11典型應用如圖3所示。
2.2.3報警電路
基于微型計算機所設計的控制系統中,通常都設定有緊急狀態報警系統,以便采取應對措施。本次設計如果測值超出此設定范圍則進行報警,即蜂鳴器持續鳴叫[8]。報警電路如圖4所示。
2.2.4LCD顯示電路
顯示模塊選用LCD1602液晶顯示屏,它是目前工控系統中使用最廣泛的液晶屏之一,顯示質量高。1602字符型液晶模塊是點陣型液晶,驅動方便,經過編程后顯示內容多樣化[9]。
LCD1602參數如表4、表5所示。表4LCD1602液晶屏的主要參數內容參數工作電壓/V4.5~5.5容量/字符16×2最佳工作電壓/V5工作電流/mA2.0字符尺寸/mm2.95×4.35表5LCD1602引腳定義引腳號符號引腳說明1VDD正極2VSS地3VL液晶顯示偏壓4RS數據/命令5R/W讀/寫6EN使能信號7~14D0~D7數據15BLA背光源正極16BLK背光源負極將LCD1602的7~14腳依次與單片機的P0端口相連。
3軟件設計
3.1編程思想
本文設計的溫濕度測量系統,其主要功能是對當前環境的溫濕度進行實時監測,并在LCD1602上進行顯示,當所測數據超出所設定的閾值范圍時,蜂鳴器蜂鳴報警。軟件設計:首先將LCD初始化,LCD1602采用5×7點陣并分兩行顯示,然后讀取溫濕度值進行處理和按鍵檢測,判斷數值是否超出預設范圍,超出則蜂鳴器報警。第一次按鍵單片機復位,進入設定界面分別完成,3個設定按鍵設定數據切換、數據加、數據減等功能。
3.2軟件流程圖
本設計采用按鍵復位與閾值設置操作,第一個按鍵可切換至閾值設置界面,按2次鍵可選擇設置參數;第二與第三個按鍵分別完成參量加減操作,按鍵檢測軟件流程如圖5所示。
整個系統的軟件設計流程圖如圖6所示,上電啟動系統,蜂鳴器蜂鳴,圖6軟件設計流程圖然后將LCD1602初始化,微控制器讀取溫濕度值,經檢測后與預設值進行比較,若超出閾值范圍,則蜂鳴器蜂鳴,并模擬啟動控制設備,直至溫濕度處于預設范圍之內,若未超出,則溫濕度值正常顯示[10]。
4系統調試與測試結果
4.1仿真分析
Proteus仿真運行結果如圖7所示[11]。
4.2測試結果
(1)在上電之后,電源指示燈工作,系統正常運行,圖8為溫濕度正常顯示界面。
(2)第一次按下按鍵1,系統進入閾值設置界面,再次按下可選擇要設置的參數,第二個與第三個按鍵分別執行參量加與減操作。
(3)若當前溫濕度超出預設范圍,報警指示燈亮,蜂鳴器持續鳴叫。
5結論
本設計是基于51單片機與DHT11的一個溫濕度監測系統,是對實際生產應用系統的一個模擬,通過DHT11溫濕度傳感器與單片機完成實時監測,按鍵與LCD實現人機交互,可自主設置溫濕度閾值,實時顯示當前數據,并帶有超限報警功能,在實際生產中,可以啟動相應設備調整環境數據,實現安全生產。
通過實驗仿真與系統實測,系統可以達到預期目標,這樣的一個系統可以經過更加精準的優化改進投入到實際應用中。
參考文獻
[1] 劉寶元,張玉虹,姜旭,等.基于單片機的溫濕度監控系統設計[J].國外電子測量技術,2009,28(12):7780.
[2] 薛玲,孫曼,張志會,等.基于單片機AT89S51的溫濕度控制儀[J].化工自動化及儀表,2010, 37(7):6669.
[3] 張廣軍,黃俊欽,李行善,等.溫度傳感器現場動態校準方法與 實驗研究[J].北京航空航天大學學報,1997,23(3):311315.
[4] 徐春河.淺談AT89S51[J].制造業自動化,2010(12):8082.
[5] 吳漢清.常用的典型單片機資料[J].無線電,2007,18(11):7280.
[6] 張冬林,李鑫,戴梅,等.基于DHT11的低成本蠶室溫濕度自動控制系統的設計[J].現代農業科技,2010(18):1415.
[7] 周鵬.基于STC89C52單片機的多功能測溫儀設計[J].微型機與應用,2013,32(1):2629.
[8] 李建民.單片機在溫度控制系統中的應用[J].江漢大學學報,1999,16(3):6062.
[9] 梁振濤,樊澤明,任永亮,等.基于單片機的移動監控系統硬件設計[J].微型機與應用,2014,33(2):2527,30.
[10] 吳大中,宋俊飛.實驗室智能監控系統設計[J].電子技術應用,2014,40(3):120122.
[11] 湯武輝.Proteus仿真軟件與單片機實驗教學[J].長江大學學報,2010,7(3):408409.