基于51單片機的空氣智能加濕器的設(shè)計論文,基于,51,單片機,空氣,智能,加濕器,設(shè)計,論文
常州大學(xué)
信息科學(xué)與工程學(xué)院
畢
業(yè)
設(shè)
計
論
文
畢業(yè)設(shè)計題目: 基于51單片機的室內(nèi)濕度自動控制裝置設(shè)計
專 業(yè): 電 子
年 級:
學(xué) 號:
姓 名:
指 導(dǎo) 老 師: 徐 權(quán)
摘 要
在日常生活中加濕器得到了廣泛的應(yīng)用,但是現(xiàn)有的加濕器都需要手工控制開啟和關(guān)閉并且不具備對室內(nèi)空氣溫濕度的監(jiān)測,人們在使用過程中存在過度加濕和干燒的問題,不僅給室內(nèi)空氣舒適度造成負面影響并且還存在安全隱患。因此開發(fā)設(shè)計一種價格低廉、功耗低、具有自動控制功能的加濕器顯得尤為必要。本設(shè)計采用智能控制,以AT89C51單片機為核心,外接輔助電路,通過實現(xiàn)加濕器的防干燒、聲光報警、智能開啟和關(guān)閉以及室內(nèi)溫濕度的顯示功能基本實現(xiàn)加濕器的智能化。
目 錄
摘 要 1
第一章 任務(wù)來源意義及目的 3
第二章 設(shè)計方案 4
2.1 總體設(shè)計 4
2.2 實現(xiàn)方式 4
2.3 理論基礎(chǔ) 5
2.3.1 單片機 5
2.3.2 DS18B20傳感器 6
2.3.3 1602LCD液晶顯示屏 7
第三章 硬件設(shè)計 9
3.1 設(shè)計方案 9
3.2 電路圖 9
3.3 信號分析 10
3.4 功能描述 10
3.5 復(fù)位電路 11
3.6液位定位及光電開關(guān) 12
3.7 1602顯示屏 12
3.8 DS18B20溫度傳感器 13
第四章 軟件設(shè)計 14
4.1整體設(shè)計及說明 14
4.2 DS18B20流程設(shè)計 15
4.3 1602字符型LCD流程設(shè)計 18
第五章 系統(tǒng)調(diào)試 21
第六章 總結(jié) 22
致 謝 23
參考文獻 24
附錄一 1602液晶模塊資料(特點,引腳及指令) 25
附錄二 LCD控制及顯示子程序 29
第一章 任務(wù)來源意義及目的
在日常生活中加濕器得到了廣泛的應(yīng)用,但是現(xiàn)有的加濕器都需要手工控制開啟和關(guān)閉并且不具備對室內(nèi)空氣溫濕度的監(jiān)測,人們在使用過程中存在過度加濕和干燒的問題,不僅給室內(nèi)空氣舒適度造成負面影響并且還存在安全隱患。因此開發(fā)設(shè)計一種價格低廉、功耗低、具有自動控制功能的加濕器顯得尤為必要。
本設(shè)計采用智能控制,以AT89C51單片機為核心,外接輔助電路,通過實現(xiàn)加濕器的防干燒、聲光報警、智能開啟和關(guān)閉以及室內(nèi)溫濕度的顯示功能基本實現(xiàn)加濕器的智能化。
第二章 設(shè)計方案
2.1 總體設(shè)計
智能加濕器需滿足以下要求:
1)相對濕度低于40%時自動加濕;
2)用戶可以設(shè)置系統(tǒng)溫濕度報警值;
3)由5V穩(wěn)壓直流電源供電,提供溫濕度調(diào)節(jié)控制信號,實現(xiàn)自動控制;
4)檢測得到的數(shù)據(jù)可以通過顯示模塊顯示。
硬件設(shè)計不僅要滿足系統(tǒng)需求,還要滿足功能和外形尺寸要求。
根據(jù)設(shè)計要求確定了系統(tǒng)的總體方案,包系統(tǒng)由兩個DS18B20溫度傳感器一個水位傳感器、單片機、1602LCD液晶顯示屏、聲光報警器、以及一個光電耦合開關(guān)等部分組成。系統(tǒng)功能原理圖如圖1-1所示,兩個溫度傳感器分別采集室內(nèi)空氣的干濕球溫度,并將采集的溫度傳送至單片機。單片機對這兩個數(shù)據(jù)加以處理并結(jié)合室內(nèi)濕度要求參數(shù)控制加濕器的開啟和閉合。另外,水位傳感器還能監(jiān)測水位,單片機根據(jù)水位高低控制聲光報警裝置。自動加濕器包括加濕模塊、報警模塊、自動斷電模塊。
單片機
溫度傳感器1
溫度傳感器2
1602LCD顯示屏
水位傳感器
加濕器開關(guān)
聲光報警器
圖1-1 自動加濕器功能原理圖
2.2 實現(xiàn)方式自動加濕器功能原理圖
要達到自動加濕器功能要做好硬件和軟件設(shè)計和調(diào)試三個方面的工作。首先硬件方面,通過合理的設(shè)計單片機管腳及其他外圍電路的鏈接,使之既有I/O口的功能,又有控制型號的功能。由于時間倉促,沒有找到合適的水位傳感器,在開發(fā)過程中利用三個按鈕開關(guān)代替水位傳感器分別代表高、中、低水位,而加濕器開關(guān)則由一發(fā)光二級管代替,在方正過程中更容易觀察系統(tǒng)開發(fā)效果。這方面的內(nèi)容詳見硬件設(shè)計部分內(nèi)容。其次軟件方面,通過合理設(shè)計軟件的結(jié)構(gòu)和安排子程序,使程序以最簡潔有效的方式實現(xiàn)目的。最后,調(diào)試方面,程序編輯用LAC51系列開發(fā)與仿真環(huán)境,編輯過程可使用軟件仿真觀察,并對其進行調(diào)試。在程序編輯完成之后使用硬件仿真,最終用燒錄器將程序?qū)懭雴纹瑱C進行實測。
本系統(tǒng)分信號的主要有溫度傳感器的輸入信號和單片機輸出的控制信號構(gòu)成。首先由單片機向溫度傳感器發(fā)出讀信號,隨后溫度傳感器做出響應(yīng),單片機待DS18B20完成收集到得溫度信息進行AD處理并存儲為數(shù)字信號后,開始讀取溫度值,并對其信號做位處理使之達到用戶需求的精度以及計算得到相對濕度,最后通過1602LCD顯示溫濕度值。另外,系統(tǒng)在運行過程中還有專門的控制聲光報警系統(tǒng)、光電耦合開關(guān)的控制信號,
2.3 理論基礎(chǔ)
2.3.1 單片機
T89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C51單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。外形及引腳排列如圖2-1所示
圖2-1 AT89S51芯片引腳圖
AT89C51共有40個引腳,大致可分為4類:電源引腳、時鐘電路引腳、I/O引腳、控制線引腳。根據(jù)開發(fā)的需要和單片機的結(jié)構(gòu),我們就可以實現(xiàn)單片機的自動工作,即實現(xiàn)自動化!
2.3.2 DS18B20傳感器
傳感器是一種按一定的精度把被測量轉(zhuǎn)換為與之有確定關(guān)系的、便于應(yīng)用的某種物理的測量器件或裝置,用于滿足系統(tǒng)信息傳輸、存儲、顯示、記錄及控制等要求。在本系統(tǒng)的開發(fā)過程中主要用到了DS18B20數(shù)字溫度傳感器,這種傳感器提供9-12位攝氏溫度測量i fu b‘有一個由高低電平觸發(fā)的可編程的不因電源消失}fu改變的報警功能。DS18B20通過一個單線接口發(fā)送或接受信息,因此在中央處理器和DS18B20之間僅需一條連接線(加上地線)。它的測溫范圍為一55-}- + 125 0C,并目‘在一10-}-+850C精度為士5 0C。除此之外,DS18B20能直接從單線通訊線上汲取能量,除去了對外部電源的需求。每個DS 18B20都有一個獨特的64位序列號,從}fu允許多只DS 18B20同時連在一根單線總線上;因此,很簡單就可以用一個微控制器去控制很多覆蓋在一大片區(qū)域的DS 18B20。這一特性在HVAC環(huán)境控制、探測建筑物、儀器或機器的溫度以及過程監(jiān)測和控制等方面非常有用。
在測溫操作方面,DS18B20的核心功能是它的直接讀數(shù)字的溫度傳感器。溫度傳感器的精度為用戶可編程的9, 10, 11或12位,分別以0. 5 0C , 0 . 2 5 0C , 0. 12 5 0C和0. 06250C增量遞增。在上電狀態(tài)下默認的精度為12位。DS18B20啟動后保持低功耗等待狀態(tài);當(dāng)需要執(zhí)行溫度測量和AD轉(zhuǎn)換時,總線控制器必須發(fā)出「44h〕命令。在那之后,產(chǎn)生的溫度數(shù)據(jù)以兩個字節(jié)的形式被存儲到高速暫存器的溫度寄存器中,DS18B20繼續(xù)保持等待狀態(tài)。當(dāng)DS18B20由外部電源供電時,總線控制器在溫度轉(zhuǎn)換指令之后發(fā)起“讀時序”,DS18B20正在溫度轉(zhuǎn)換中返回0,轉(zhuǎn)換結(jié)束返回1。如果DS18B20由寄生電源供電,除非在進入溫度轉(zhuǎn)換時總線被一個強上拉拉高,否則將不會由返回值。寄生電源的總線要求在口618820供電節(jié)詳細解釋。
圖2-2 DS18B20數(shù)字溫度傳感器內(nèi)部結(jié)構(gòu)
2.3.3 1602LCD液晶顯示屏
在單片機系統(tǒng)中應(yīng)用液晶顯示器作為輸出器件有以下幾個優(yōu)點:一、顯示質(zhì)量高,由于液晶顯示器每一個點在收到信號后就一直保持那種色彩和亮度,恒定發(fā)光,而不像陰極射線管顯示器(CRT)那樣需要不斷刷新新亮點。因此,液晶顯示器畫質(zhì)高且不會閃爍。二、數(shù)字式接口,液晶顯示器都是數(shù)字式的,和單片機系統(tǒng)的接口更加簡單可靠,操作更加方便。三、體積小、重量輕,液晶顯示器通過顯示屏上的電極控制液晶分子狀態(tài)來達到顯示的目的,在重量上比相同顯示面積的傳統(tǒng)顯示器要輕得多。四、功耗低,相對而言,液晶顯示器的功耗主要消耗在其內(nèi)部的電極和驅(qū)動IC上,因而耗電量比其它顯示器要少得多。
本系統(tǒng)選用的字符型LCD是一種專門用于顯示字母、數(shù)字、符號等點陣式LCD,目前常用16*1,16*2,20*2和40*2行等的模塊。本次設(shè)計選用的是1602字符型液晶顯示器。一般1602字符型液晶顯示器實物如圖3-1:
圖2-3 1602字符型液晶顯示器實物圖
1602LCD主要技術(shù)參數(shù):
顯示容量:16×2個字符
芯片工作電壓:4.5—5.5V
工作電流:2.0mA(5.0V)
模塊最佳工作電壓:5.0V
字符尺寸:2.95×4.35(W×H)mm
第三章 硬件設(shè)計
3.1 設(shè)計方案
單片機
溫度傳感器1
溫度傳感器2
1602LCD顯示屏
水位傳感器
加濕器開關(guān)
聲光報警器
圖3-1 自動加濕器功能原理圖
3.2 電路圖
單片機是整個系統(tǒng)的控制中樞,它指揮外圍器件協(xié)調(diào)工作,從而完成特定的功能。硬件實現(xiàn)上采用模塊化設(shè)計,每一模塊只實現(xiàn)一個特定功能,最后再將各個模塊搭接在一起。這種設(shè)計方法可以降低系統(tǒng)設(shè)計的復(fù)雜性。系統(tǒng)電路原理圖如圖2所示。本系統(tǒng)主要硬件設(shè)計包括電源電路、蜂鳴器電路、晶振電路、復(fù)位電路、LCD顯示電路以及溫度傳感器電路。
控制電路的核心器件是由美國Atmel公司生產(chǎn)的AT89C51單片機,屬于MCS-51系列。AT89C51是一種低功耗、高性能的CMOS8位微控制器,具有2K在系統(tǒng)可編程Flash存儲器,采用的工藝是Atmel公司的高密度非易失存儲器技術(shù);片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器;在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89C51為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案;價格低廉、性能可靠、抗干擾能力強。因此廣泛應(yīng)用于工業(yè)控制和嵌入式系統(tǒng)中。
圖3-2 電路原理圖
系統(tǒng)的聲光報器電路(警蜂鳴和LED發(fā)光二極管組成)、振落電路、復(fù)位電路。顯示模塊選用1602字符型液晶模塊,是目前工控系統(tǒng)中使用最為廣泛的液晶屏之一,電路圖如圖所示。1602字符型液晶模塊是點陣型液晶,驅(qū)動方便,經(jīng)編碼后顯示內(nèi)容多樣化。由于時間倉促,沒有找到合適的水位傳感器,在開發(fā)過程中利用三個按鈕開關(guān)代替水位傳感器分別代表高、中、低水位,而加濕器開關(guān)則由一發(fā)光二級管代替,在方正過程中更容易觀察系統(tǒng)開發(fā)效果。
3.3 信號分析
本系統(tǒng)分信號的主要有溫度傳感器的輸入信號和單片機輸出的控制信號構(gòu)成。首先由單片機向溫度傳感器發(fā)出讀信號,隨后溫度傳感器做出響應(yīng),單片機待DS18B20完成收集到得溫度信息進行AD處理并存儲為數(shù)字信號后,開始讀取溫度值,并對其信號做位處理使之達到用戶需求的精度以及計算得到相對濕度,最后通過1602LCD顯示溫濕度值。另外,系統(tǒng)在運行過程中還有專門的控制聲光報警系統(tǒng)、光電耦合開關(guān)的控制信號,這些控制信號比較簡單,不再一一論述。
3.4 功能描述
參考舒適性空調(diào)的相對濕度采用40%—65%的要求[x],在功能設(shè)計過程中以40%為最適相對濕度參考值。單片機一方面通過監(jiān)測加濕器內(nèi)部的水位,達到加濕器防干燒的功能,即只有在水位在水位下限以上時加濕器才能通電工作。另一方面通過處理兩個溫度傳感器測得的干濕球溫度得到室內(nèi)相對濕度,并和人體最適相對濕度做比較。在水位符合要求的前提下,若室內(nèi)相對濕度高于人體最適值則控制加濕器不動作,反之則對加濕器通電開始加濕,直到室內(nèi)空氣達到最適濕度時斷電。另外,單片機通過和聲光報警器以及1602LCD顯示屏相連,還具有了溫濕度及水位的顯示功能??傊诂F(xiàn)有的加濕器內(nèi)加入此單片機將實現(xiàn)加濕器的防干燒、聲光報警、智能開啟和關(guān)閉以及室內(nèi)溫濕度的顯示功能基本實現(xiàn)加濕器的智能化。
3.5 復(fù)位電路
復(fù)位電路的基本功能是:系統(tǒng)上電時提供復(fù)位信號,直至系統(tǒng)電源穩(wěn)定后,撤銷復(fù)位信號。為可靠起見,電源穩(wěn)定后還要經(jīng)一定的延時才撤銷復(fù)位信號,以防電源開關(guān)或電源插頭分-合過程中引起的抖動而影響復(fù)位。圖3-3所示的RC復(fù)位電路可以實現(xiàn)上述基本功能,圖3為其輸入-輸出特性。但解決不了電源毛刺(A點)和電源緩慢下降(電池電壓不足)等問題 而且調(diào)整 RC 常數(shù)改變延時會令驅(qū)動能力變差。左邊的電路為高電平復(fù)位有效 右邊為低電平Sm為手動復(fù)位開關(guān) Ch可避免高頻諧波對電路的干擾。
圖3-3 上電及手動復(fù)位電路圖
3.6液位定位及光電開關(guān)
由于開發(fā)過程時間緊迫,暫時未購買到合適的液位監(jiān)測傳感器,因此在實際開發(fā)過程中采用三個開關(guān)進行代替,按下按鈕表示水位到達相應(yīng)的水位。另外為了直觀的看出控制輸出信號的轉(zhuǎn)臺,開發(fā)過程中將光電開關(guān)改為一發(fā)光二級管并與電阻串聯(lián)接地。見圖3-4。
圖3-4 水位計光電開關(guān)替代元件
3.7 1602顯示屏
利用滑動變阻器調(diào)節(jié)背光燈與顯示字符的對比度,利用三極管的及P2.7控制背光的的暗與滅。接線原理見圖3-5。
圖3-5 1602接線原理圖
3.8 DS18B20溫度傳感器
由于此款溫度傳感器輸出串行通信信號,電路圖相對簡單,見圖3-6。
圖3-6 DS18B20溫度傳感器接線圖
第四章 軟件設(shè)計
4.1整體設(shè)計及說明
系統(tǒng)單片機代碼采用匯編語言編譯,以偉福仿真器V8/L為開發(fā)環(huán)境。系統(tǒng)軟件實現(xiàn)的功能:
1)通過LCD顯示溫濕度值及水位;
2)比較監(jiān)測到的水位,發(fā)現(xiàn)低水位時自動掉電并聲光報警;
3)根據(jù)相對濕度值控制加濕器的開關(guān)。
根據(jù)監(jiān)控系統(tǒng)功能要求,系統(tǒng)軟件流程圖設(shè)計如圖所示。
顯示溫濕度
初始化
載入程序
讀干球溫度T
讀濕球溫度TS
求出相對濕度D
讀水位H
判斷H>Ho
是否成立
開啟加濕器
判斷D >D0是否成立
聲光報警并關(guān)閉加濕器
是
否
是
否
關(guān)加濕器
圖4-1 主程序流程圖
初始化開始,然后載入程序,根據(jù)顯示數(shù)據(jù)讀出干球溫度T,濕球溫度TS,根據(jù)干濕球溫度求出相對濕度D,然后讀出顯示的水位H,判斷水位H是否大于最小水位Ho:若H<=Ho,則聲光報警并關(guān)閉加濕器,然后顯示溫濕度,再讀出一個干球溫度T,濕球溫度TS,計算出相對濕度D,讀出水位H循環(huán),直至H>Ho成立后,判斷相對濕度D與最小濕度Do的大小比較,若D<=Do則開啟加濕器,顯示溫濕度,循環(huán)直至相對濕度D<=Do,關(guān)閉加濕器,然后顯示溫濕度過程循環(huán)。
4.2 DS18B20流程設(shè)計
每個DS18B20溫度傳感器的流程圖設(shè)計如下:
啟動溫度轉(zhuǎn)換
讀取溫度
溫度處理
跳過ROM匹配
DS18B20復(fù)位
跳過ROM匹配
DS18B20復(fù)位
圖4-2 DS18B20模塊程序流程圖
傳感器DS18B20復(fù)位,跳過ROM匹配后啟動溫度轉(zhuǎn)換,DS18B20復(fù)位然后跳過ROM匹配,再讀取溫度后進行溫度處理,保留一位小數(shù)。讀取數(shù)據(jù)及傳送的程序如下:
READ_TEMP: ;讀1820內(nèi)部溫度子程序.
CALL RESET
JB 70h,EXT1
CALL SKIP_ROM
CALL TEMP_CONV ;溫度AD變換
CALL DELAY_600MS
CALL RESET
CALL SKIP_ROM
CALL TEMP_GET ;發(fā)取溫度的命令
CALL READ ;接收...
EXT1:
RET
SKIP_ROM:;跳過ROM檢測
MOV A,#0CCH ;#0CCH為跳過rom命令
CALL WRITE
RET
RECALL_EPROM:;重調(diào)Eprom
MOV A,#0B8H
CALL WRITE
RET
TEMP_CONV:
MOV A,#44H ;AD變換
CALL WRITE
RET
TEMP_GET:
MOV A ,#0BEH;讀18b20命令
CALL WRITE
RET
;********* 18B20基本時序子程序
RESET: ;初始化子程序
SETB P1.2
NOP
CLR P1.2 ;拉低
MOV R3,#150 ; *4=600US
CALL DELAY_BY_R3
SETB P1.2;拉高
MOV R3,#15 ; 60US
CALL DELAY_BY_R3
MOV R3,#60 ;4個周期*60=240US內(nèi)檢測
A1: JNB P1.2,A2 ;檢測到低平信號
DJNZ R3,A1 ;如果沒有應(yīng)答的低電平信號,返回A1重新檢測,超時后下一行,
SETB 70h ;DS1820不存在.
JMP A3
A2: CLR 70h
MOV R3,120;240US;等恢復(fù)時間2*120=240us
DJNZ R3, $
A3:
RET
WRITE:
MOV R2,#8;一個字節(jié)為8位
CLR C ;C位清0 C位用來放A的一位數(shù)據(jù),用移位的方法放入C
B1: SETB P1.2
NOP
CLR P1.2
MOV R3,#4 ;16US
CALL DELAY_BY_R3
RRC A;把A中的數(shù)送入C
MOV P1.2,C ;把C送入總線
MOV R3,#12;48US(一位數(shù)據(jù)的發(fā)送:60us
收藏