基于單片機的溫濕度監(jiān)控報警系統(tǒng)設計畢業(yè)論文.doc
《基于單片機的溫濕度監(jiān)控報警系統(tǒng)設計畢業(yè)論文.doc》由會員分享,可在線閱讀,更多相關《基于單片機的溫濕度監(jiān)控報警系統(tǒng)設計畢業(yè)論文.doc(45頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、基于單片機的溫濕度監(jiān)控報警系統(tǒng)設計畢業(yè)論文基于單片機的溫濕度監(jiān)控報警系統(tǒng)設計摘要溫度、濕度和人類的生產(chǎn)、生活有著密切的關系,尤其是在醫(yī)學、電子電力、航天航空、食品發(fā)酵,農(nóng)業(yè)生產(chǎn)等領域中對溫濕度的要求尤其嚴格,是最常見最基本的參數(shù),例如機械、電子、石油、化工等各類工業(yè)中廣泛需要對溫度濕度的實時檢測與控制。并且隨著人們生活水平的提高,人們對自己的生存環(huán)境越來越關注。而空氣中溫濕度的變化與人體的舒適度和情緒都有直接的影響,所以對溫度濕度的檢測及控制就非常有必要了。使用STC89C52單片機設計溫濕度監(jiān)控報警系統(tǒng),可以即時精確的反應溫室內(nèi)外的溫度以及濕度的變化。完成諸如升溫到特定的溫度、降溫到特定的溫
2、度。在溫度上下限范圍內(nèi)保持恒溫等多種控制方式,在濕度控制方面也是如此。將此系統(tǒng)應用到溫室當中無疑為植被生長提供了更加適宜的環(huán)境。對于大棚種植和花圃、花卉栽培,必須在某些特定環(huán)境安裝溫濕度裝置對其進行監(jiān)控。本系統(tǒng)可以及時、精確的反映室內(nèi)外的溫度以及濕度的變化,能夠滿足溫濕度的控制要求。 關鍵詞:溫濕度 監(jiān)控 STC89S52 - I -AbstractTemperature, humidity and has close relation with the human production and living, especially in medicine, electronics, elec
3、tric power, aerospace, food fermentation, the requirements for temperature and humidity in areas such as agricultural production is particularly strict, is the most common is the most basic parameters, such as machinery, electronics, petroleum, chemical industry etc widely needed in real-time detect
4、ion and control of temperature, humidity. And as people living standard rise, people for their own survival environment more and more attention. And the bodys comfort level with the change of temperature and humidity in the air and mood has a direct effect, so the detection and control of the temper
5、ature humidity is very necessary.Using a STC89C52 single-chip microcomputer temperature and humidity monitoring alarm system, can real-time accurate reaction inside and outside the greenhouse temperature and humidity changes. Finish such as heating up to a specific temperature and cooling to a speci
6、fic temperature. In upper and lower temperature range constant temperature control of a variety of ways, so in terms of humidity control. Will no doubt of this system is applied to the greenhouse for vegetation growth provide a more comfortable environment. For greenhouses planting and flower beds,
7、flower cultivation, must be installed in some specific environment to monitor the temperature and humidity devices. This system can timely and accurately reflect the change of indoor and outdoor temperature and humidity, can satisfy the requirement of the temperature and humidity control.Keywords: T
8、emperature and humidity, monitoring, STC89S52 - II -目錄摘要IAbstractII目錄III1 總體設計概述11.1 系統(tǒng)的主要功能11.2 系統(tǒng)的工作原理11.3 總體設計21.3.1 總體設計框圖21.3.2 總體設計工作流程32 系統(tǒng)硬件設計42.1 主控模塊設計42.1.1 STC89C52概述42.1.2 時鐘電路與復位電路72.2 電源模塊設計82.3 DHT11傳感器模塊設計82.3.1 DHT11傳感器82.3.2 DHT11傳感器模塊電路設計102.4 1602液晶顯示模塊設計112.4.1 1602液晶顯示屏112.4.2
9、 1602液晶顯示屏參數(shù)112.4.3 1602液晶顯示模塊電路設計132.5 閾值設置模塊設計142.6 報警模塊設計152.6.1 蜂鳴器報警模塊設計152.6.2 發(fā)光二極管報警模塊設計162.7 24C02數(shù)據(jù)存儲模塊162.7.1 24C02數(shù)據(jù)存儲器162.7.2 24C02數(shù)據(jù)存儲器模塊電路設計172.8 系統(tǒng)總體電氣原理圖183 系統(tǒng)軟件設計194 系統(tǒng)調(diào)試21總結(jié)22致謝23參考文獻24附件1 系統(tǒng)程序25A1.1 主程序25A1.2 24C02程序30A1.3 DHT11傳感器程序33A1.4 1602程序35附件2 PCB板39附件3 實物圖40- IV -1 總體設計概
10、述1.1 系統(tǒng)的主要功能本系統(tǒng)以單片機最小系統(tǒng)為核心,將溫濕度通過LCD1602顯示器實時的顯示出來,溫濕度最高值可以任意設置并實時顯示出來。(濕度測量范圍:2095RH。溫度測量范圍:050)。各部分主要功能是:1. 溫濕度實時檢測及顯示。通過LCD1602實時地顯示傳感器DHT11檢測到的溫濕度值,并且固定時間(5s)檢測更新顯示一次。2. 閾值設置,通過四個按鍵實現(xiàn)。在使用過程中不需要在程序中更改。使得系統(tǒng)更加人性化、智能化,具有更高的實用價值。3. 當溫濕度超出閾值時能自動報警。此時對應發(fā)光二極管的點亮,蜂鳴器發(fā)出聲音實現(xiàn)報警,以提醒用戶做出相應的改進措施。通過干燥器、降溫風扇等設備工
11、作。使溫濕度回到設定值內(nèi),報警自動解除。1.2 系統(tǒng)的工作原理本系統(tǒng)的工作原理:系統(tǒng)主要涉及了溫濕度的測量、顯示以及實現(xiàn)簡單控制。硬件方面有五個模塊,即STC89C52單片機主控模塊、DHT11溫濕度傳感器模塊、LCD1602液晶顯示模塊、報警模塊以及閾值設置模塊等。其中主控模塊以單片機最小系統(tǒng)為基礎,適當增加驅(qū)動電路。1. 傳感器模塊使用的是DHT11數(shù)字溫濕度傳感器。通過DHT11檢測出當前環(huán)境下的溫濕度,將所測數(shù)據(jù)交給STC89C52單片機進行分析和處理,并分別存入不同數(shù)組以便顯示時候用。其中,為了顯示穩(wěn)定,本系統(tǒng)每間隔5s采集一次數(shù)據(jù)送入單片機。2. 1602液晶顯示模塊就是實現(xiàn)溫濕度
12、檢測值和閾值的顯示。其分兩行顯示,上邊一行顯示溫度值,下邊顯示濕度值,兩行的末尾兩位是閾值顯示位,正常工作的時候可以通過閾值設置模塊實時調(diào)節(jié)需要的閾值,實時顯示出來,構(gòu)建了自動化的人機交互。3. 報警模塊實現(xiàn)了檢測值超過閾值的時候發(fā)光二極管點亮,蜂鳴器鳴響報警。本系統(tǒng)采用的是有源蜂鳴器,因此無論溫度還是濕度超出范圍蜂鳴器都是以相同頻率的聲音進行報警提示。提醒工作人員此時溫度濕度數(shù)據(jù)出現(xiàn)異常、需及時調(diào)整室內(nèi)溫濕度。4. 閾值設置模塊通過四個按鍵實現(xiàn)溫濕度報警閾值的設置。按一次按鍵溫度、濕度對應值加一或者減一。使得溫濕度閾值設置提供了極大的方便,不需要每次都在程序里改動然后再燒錄,省去了復雜的過程
13、。實現(xiàn)自動化,便于用于工業(yè),農(nóng)業(yè)等對溫濕度要求較高的場所。1.3 總體設計1.3.1 總體設計框圖按照系統(tǒng)功能的具體要求,在保證實現(xiàn)其功能的基礎上,盡可能降低系統(tǒng)成本。總體設計方案圍繞上述思想,初步確定系統(tǒng)的方案如圖1.1所示。圖1.1系統(tǒng)總體設計框圖從圖中可以看出,系統(tǒng)有STC89C52單片機模塊、DHT11傳感器模塊、閾值設置模塊、1602字符液晶顯示模塊、報警模塊、數(shù)據(jù)存儲模塊等組成。在方案設計中,外圍模塊采用并行控制,以簡化系統(tǒng),提高控制精度。該設計以STC89C52單片機為控制核心,實現(xiàn)溫濕度采集、顯示、報警。1.3.2 總體設計工作流程本次設計有兩個部分是重點。一個是液晶顯示部分,
14、一個是DHT11傳感器部分。難點是軟件程序的編寫和系統(tǒng)的整體調(diào)試。整個流程如圖1.2所示:圖1.2 整體設計流程圖- 40 -2 系統(tǒng)硬件設計2.1 主控模塊設計2.1.1 STC89C52概述STC89C52單片機是宏晶科技推出的新一代高速,低功耗,超強抗干擾的單片機,指令代碼完全兼容傳統(tǒng)8051單片機。主要特性如下:1. 增強型8051單片機,6時鐘/機器周期和12時鐘/機器周期可以任意選擇,指令代碼完全兼容傳統(tǒng)8051。2. 工作電壓:5.5V3.3V。3. 工作頻率范圍:040MHz,相當于普通8051的080MHz,實際工作頻率可達48MHz。4. 用戶應用程序空間為8K字節(jié)。5.
15、片上集成512字節(jié)RAM。6. 通用I/O口(32個),復位后為:P0/P1/P2/P3是準雙向口,P0口是漏極開路輸出,作為總線擴展用時,不用加上拉電阻,作為I/O口用時,需加上拉電阻。7. ISP(在系統(tǒng)可編程)/IAP(在應用可編程),無需專用編程器,無需專用仿真器,可通過串口(RxD/P3.0,TxD/P3.1)直接下載用戶程序,數(shù)秒即可完成一片。8. 具有EEPROM功能。9. 具有看門狗功能。10. 共3個16位定時器/計數(shù)器。即定時器T0、T1、T2。11. 外部中斷4路,下降沿中斷或低電平觸發(fā)電路,Power Down模式可由外部中斷低電平觸發(fā)中斷方式喚醒。12. 工作溫度范圍
16、:-40+85(工業(yè)級)/075(商業(yè)級)。STC89C52單片機的工作模式1. 掉電模式:典型功耗0.1A,可由外部中斷喚醒,中斷返回后,繼續(xù)執(zhí)行原程序。2. 空閑模式:典型功耗2mA。3. 正常工作模式:典型功耗4Ma7mA。圖2.1 STC89C52引腳圖STC89C52引腳功能說明1. VCC(40引腳):電源電壓。2. VSS(20引腳):接地。3. P0端口(P0.0P0.7,3932引腳):P0口是一個漏極開路的8位雙向I/O口。作為輸出端口,每個引腳能驅(qū)動8個TTL負載,對端口P0寫入“1”時,可以作為高阻抗輸入。在訪問外部程序和數(shù)據(jù)存儲器時,P0口也可以提供低8位地址和8位數(shù)
17、據(jù)的復用總線。此時,P0口內(nèi)部上拉電阻有效。在Flash ROM編程時,P0端口接收指令字節(jié);而在校驗程序時,則輸出指令字節(jié)。驗證時,要求外接上拉電阻,一般為10k。4. P1端口(P1.0P1.7,18引腳):P1口是一個帶內(nèi)部上拉電阻的8位雙向I/O口。P1的輸出緩沖器可驅(qū)動4個TTL輸入。對端口寫入1時,通過內(nèi)部的上拉電阻把端口拉到高電位,這是可用作輸入口。P1口作輸入口使用時,因為有內(nèi)部上拉電阻,那些被外部拉低的引腳會輸出一個電流()。此外,P1.0和P1.1還可以作為定時器/計數(shù)2的外部技術輸入(P1.0/T2)和定時器/計數(shù)器2的觸發(fā)輸入(P1.1/T2EX)。5. P2端口(P2
18、.0P2.7,2128引腳):P2口是一個帶內(nèi)部上拉電阻的8位雙向I/O端口。P2的輸出緩沖器可以驅(qū)動(吸收或輸出電流方式)4個TTL輸入。對端口寫入1時,通過內(nèi)部的上拉電阻把端口拉到高電平,這時可用作輸入口。P2作為輸入口使用時,因為有內(nèi)部的上拉電阻,那些被外部信號拉低的引腳會輸出一個電流()。6. P3端口(P3.0P3.7,1017引腳):P3是一個帶內(nèi)部上拉電阻的8位雙向I/O端口。P3的輸出緩沖器可驅(qū)動(吸收或輸出電流方式)4個TTL輸入。對端口寫入1時,通過內(nèi)部的上拉電阻把端口拉到高電位,這時可用作輸入口。P3做輸入口使用時,因為有內(nèi)部的上拉電阻,那些被外部信號拉低的引腳會輸入一個
19、電流()。P3口除作為一般I/O口外,還有其他一些復用功能。7. RST(9引腳):復位輸入。當輸入連續(xù)兩個機器周期以上高電平時為有效,用來完成單片機的復位初始化操作。8. ALE/(30引腳):地址鎖存控制信號(ALE)是訪問外部程序存儲器時,鎖存低8位地址的輸出脈沖。在Flash編程時,此引腳()也用作編程輸入脈沖。9. (29引腳):外部程序存儲器選通信號()是外部程序存儲器選通信號。當STC89C52從外部程序存儲器執(zhí)行外部代碼時,在每個機器周期被激活兩次,而訪問外部數(shù)據(jù)存儲器時,將不被激活。10. /VPP(31引腳):訪問外部程序存儲器控制信號。為使能從0000H到FFFFH的外部
20、程序存儲器讀取指令,必須接GND。注意加密方式1時,將內(nèi)部鎖定位RESET。為了執(zhí)行內(nèi)部程序指令,應該接VCC。在Flash編程期間,也接收12伏VPP電壓。11. XTAL1(19引腳):振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。12. XTAL2(18引腳):振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。2.1.2 時鐘電路與復位電路單片機需要外加時鐘電路為內(nèi)部程序提供時序。單片機內(nèi)部具有一個構(gòu)成振蕩器的高增益反相放大器,此放大器的輸入與輸出端分別是引腳XTAL1和XTAL2,在XTAL1和XTAL2上外接時鐘源即可構(gòu)成時鐘電路。本系統(tǒng)的時鐘電路如圖2.2所示。圖2.2 單片機的外部時鐘電
21、路在圖2.2中電容的大小均為30pF,晶振的大小為11.059MHz。為了保證單片機的可控運行,需要給單片機加復位電路,一般情況下,單片機的復位電路有以下幾項功能:1. 上電復位可對內(nèi)部寄存器進行復位,否則寄存器狀態(tài)未知。2. 同步內(nèi)、外部時鐘信號。防止頻率不穩(wěn)及晶振停振。3. 有些高級芯片,不先復位根本部工作。4. 有復位引腳的芯片必須加復位,這是電子設計的基本要求。5. 在電路上電時候或電壓波動不穩(wěn)定的時候,當給單片機上電那一瞬間,電壓有在幾微秒內(nèi)(有的是幾毫秒內(nèi))不是直接跳變到5V的而是一個直線上升的階段,這時候,單片機不能正常工作,需要復位電路給它延時以等到電壓穩(wěn)定。6. 由于單片機在
22、工作過程中可能會受到各種干擾因素,所以不排除單片機出錯的可能,當單片機的程序“跑飛”時可以通過復位電路是單片機恢復正常的運行狀態(tài)。單片機的復位電路主要有以下幾種方式:上電復位方式、外部脈沖復位方式、上電+按鈕復位方式以及軟件復位等。本系統(tǒng)為了實現(xiàn)方便,使用硬件復位方式,即采用自動電平復位的方式,見圖2.3所示。圖2.3 單片機自動電平復位電路圖2.3的復位電路直接接單片機得RST管腳,為單片機提供復位電平,圖中電容為10uF,電阻為10K。本設計各個輸入輸出點及功能說明:本設計以STC89C52單片機最小系統(tǒng)為核心。供電電源由USB接口或者干電池供電。將P0口作為與液晶的數(shù)據(jù)傳輸口。P1.5、
23、P1.6作為發(fā)光二極管接口,以控制報警模塊工作。P1.7作為與傳感器DHT11通信的數(shù)據(jù)口,P3口作為閾值模塊中四個按鍵的接口,P2.5、P2.7作為分別于液晶的RS、R/W和E端相連接,以控制液晶顯示,P2.0接蜂鳴器控制端,以控制報警模塊工作。2.2 電源模塊設計本設計由于經(jīng)濟等條件限制,沒能單獨設計制作直流5V電源,暫用USB供電或者使用三節(jié)5號干電池代替,在實際應用場合中,需加入此部分,可直接購買市電220V轉(zhuǎn)直流5V開關電源,以保證系統(tǒng)長時間工作。2.3 DHT11傳感器模塊設計2.3.1 DHT11傳感器DHT11數(shù)字溫濕度傳感器是一款含有已校準數(shù)字信號輸出的溫濕度復合傳感器。它應
24、用專用的數(shù)字模塊采集技術和溫濕度傳感技術,確保產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性。傳感器包括一個電阻式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機相連接。因此該產(chǎn)品具有品質(zhì)卓越、超快響應、抗干擾能力強、性價比高等優(yōu)點。每個DHT11傳感器都在極為精確的濕度校驗室中進行校準。校準系數(shù)以程序的形式儲存在OTP內(nèi)存中,傳感器內(nèi)部在檢測信號的處理過程中要調(diào)用這些校準系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡易快捷。超小的體積、極低的功耗,信號傳輸距離可達20米以上,使其成為各類應用甚至最為苛刻的應用場合的最佳選則。產(chǎn)品為4針單排引腳封裝。連接方便,特殊封裝形式可根據(jù)用戶需求而提供。 DHT1
25、1傳感器引腳圖如下2.4所示:圖2.4 DHT11傳感器引腳圖1. 引腳介紹:Pin1:(VCC),電源引腳,供電電壓為35.5V。Pin2:(DATA),串行數(shù)據(jù),單總線。Pin3:(NC),空腳,請懸浮。Pin4:(VDD),接地端,電源負極。2. 接口說明:由傳感器資料知連接線長度短于20米時用5K上拉電阻,大于20米時根據(jù)實際情況使用合適的上拉電阻??紤]本設計實際應用情況故使用5K上拉電阻。圖2.5 DHT11典型應用電路3. 數(shù)據(jù)幀的描述:DATA用于微處理器與DHT11之間的通訊和同步,采用單總線數(shù)據(jù)格式,一次通訊時間4ms左右,數(shù)據(jù)分小數(shù)部分和整數(shù)部分,具體格式在下面說明,當前小
26、數(shù)部分用于以后擴展,現(xiàn)讀出為零。操作流程如下:一次完整的數(shù)據(jù)傳輸為40bit,高位先出。數(shù)據(jù)格式:8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)。+8bit溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)。數(shù)據(jù)傳送正確時校驗和數(shù)據(jù)等于“8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bi溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)”所得結(jié)果的末8位。4. 電氣特性:VDD=5V,T =25,除非特殊標注。表2.1 DHT11的電氣特性參數(shù)條件Mintypmax單位供電DC355.5V供電電流測量0.5-2.5mA平均0.2-1mA待機100-150uA采樣周期秒1-次注:采樣周期間隔不得低于1秒鐘。2.3.2 DHT11傳
27、感器模塊電路設計 DHT11傳感器連接單片機相對比較簡單。單片機的P2.0口用來發(fā)收串行數(shù)據(jù),即數(shù)據(jù)口。連接傳感器的Pin2(單總線,串行數(shù)據(jù))。由于測量范圍電路小于20米,加一個5K的上拉電阻,因此在傳感器的Pin2口與電源之間連接一個5K電阻。而傳感器的電源端口Pin1和Pin4分別接單片機的VDD和GND端。傳感器的第三腳懸浮放置。DHT11傳感器原件的電路原理圖如下2.6所示:圖2.6 DHT11電路原理圖2.4 1602液晶顯示模塊設計2.4.1 1602液晶顯示屏1602液晶 是一種工業(yè)字符型液晶,能夠同時顯示16x02 即32個字符。(16列2行)。在日常生活中,我們對液晶顯示器
28、并不陌生。液晶顯示模塊已作為很多電子產(chǎn)品的通過器件,如在計算器、萬用表、電子表及很多家用電子產(chǎn)品中都可以看到,顯示的主要是數(shù)字、專用符號和圖形。本設計使用LCD1602液晶顯示器。它有以下幾個優(yōu)點:1. 顯示質(zhì)量高:由于液晶顯示器每一個點在收到信號后就一直保持那種色彩和亮度,恒定發(fā)光,而不像數(shù)碼顯示器那樣需要不斷刷新亮點。因此,液晶顯示器畫質(zhì)高且不會閃爍。2. 數(shù)字式接口:液晶顯示器都是數(shù)字式的,和單片機系統(tǒng)的接口更加簡單可靠,操作更加方便。3. 體積小、重量輕:液晶顯示器通過顯示屏上的電極控制液晶分子狀態(tài)來達到顯示的目的,在重量上比相同顯示面積的傳統(tǒng)顯示器要輕得多。4. 功耗低:液晶顯示器的
29、功耗主要消耗在其內(nèi)部的電極和驅(qū)動IC上,因而耗電量比其它顯示器要少得多。2.4.2 1602液晶顯示屏參數(shù)1. 1602的基本參數(shù)及引腳功能:(1)1602LCD主要技術參數(shù):顯示容量:162個字符。芯片工作電壓:4.55.5V。工作電流:2.0mA(5.0V)。模塊最佳工作電壓:5.0V。字符尺寸:2.954.35(WH)mm。(2)引腳功能說明:1602LCD采用標準的14腳(無背光)或16腳(帶背光)接口,各引腳接口說明如表2.2所示:表2.2引腳接口說明表編號符號引腳說明編號符號引腳說明1VSS電源地9D2數(shù)據(jù)2VDD電源正極10D3數(shù)據(jù)3VL液晶顯示偏壓11D4數(shù)據(jù)4RS數(shù)據(jù)/命令選
30、擇12D5數(shù)據(jù)5R/W讀/寫選擇13D6數(shù)據(jù)6E使能信號14D7數(shù)據(jù)7D0數(shù)據(jù)15BLA背光源正極8D1數(shù)據(jù)16BLK背光源負極第1腳:VSS為地電源。第2腳:VDD接5V正電源。第3腳:VL為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度。第4腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。第5腳:R/W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和R/W共同為低電平時可以寫入指令或者顯示地址,當RS為低電平R/W為高電平時可以讀忙信號,當RS為高電平R/W為低電平時
31、可以寫入數(shù)據(jù)。第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。第714腳:D0D7為8位雙向數(shù)據(jù)線。第15腳:背光源正極。第16腳:背光源負極。2. 1602的RAM地址映射及標準字庫表液晶顯示模塊是一個慢顯示器件,所以在執(zhí)行每條指令之前一定要確認模塊的忙標志為低電平,表示不忙,否則此指令失效。要顯示字符時要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,圖2.7是1602的內(nèi)部顯示地址。圖2.7 1602LCD內(nèi)部顯示地址2.4.3 1602液晶顯示模塊電路設計液晶顯示的原理是利用液晶的物理特性,通過電壓對其顯示區(qū)域進行控制,有電就有顯示。液晶顯示器具有厚度薄、適用于
32、大規(guī)模集成電路直接驅(qū)動、易于實現(xiàn)全彩色顯示的特點,目前已經(jīng)被廣泛應用在便攜式電腦、數(shù)字攝像機、PDA移動通信工具等眾多領域。其中Vo腳,即第三引腳加了一個10K的滑動變阻器,該變阻器的目的是調(diào)節(jié)液晶的顯示對比度,通過調(diào)節(jié)滑阻改變Vo的電壓值,從而使液晶顯示在最清晰的狀態(tài)。圖2.8 1602顯示模塊原理圖2.5 閾值設置模塊設計從圖2.9可以看到。從上到下依次設為K2、K5、K6、K7四個按鍵,其連接單片機引腳分別是P1.2、P3.3、P3.4、P3.5四個引腳。根據(jù)該模塊使得閾值設置分為兩個模塊,分別是濕度最高值設置模式、溫度最高值設置模式。例如濕度最高值設置,按一次K6濕度最高值加一,按一次
33、K7濕度最高值減一,1602液晶顯示將實時顯示出設置值。其他值設置類似。按鍵閾值設置模塊部分,設置非常人性化,而不用每次設置閾值都到程序里邊去設置后再燒制進單片機,實現(xiàn)了自動化。圖2.9 閾值設置模塊原理圖2.6 報警模塊設計2.6.1 蜂鳴器報警模塊設計圖2.10 蜂鳴器報警模塊原理圖系統(tǒng)在設計時候采用的是有源蜂鳴器,只要給蜂鳴器一定的電流值,蜂鳴器就可以按照一定的頻率發(fā)聲,但是單片機引腳的驅(qū)動電流比較小,不足以驅(qū)動蜂鳴器工作,因此采用了一個PNP的三極管S9012來驅(qū)動。當單片機P2.0輸出一個低電平時,蜂鳴器響,實現(xiàn)報警。2.6.2 發(fā)光二極管報警模塊設計此部分利用發(fā)光二極管的點亮來實現(xiàn)
34、報警,當單片機P1.5、P1.6引腳輸出一個低電平時發(fā)光二極管亮,實現(xiàn)報警。圖2.11 發(fā)光二極管報警模塊原理圖2.7 24C02數(shù)據(jù)存儲模塊2.7.1 24C02數(shù)據(jù)存儲器總線是一種由PHILIPS公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設備。存儲器24C02系列等都是使用協(xié)議進行數(shù)據(jù)的操作。主要在存儲一些掉電后還要保存數(shù)據(jù)的場合。總線特點: 1. 要求兩條總線線路:一條串行數(shù)據(jù)線SDA,一條串行時鐘線SCL。2. 每個連接到總線的器件都可以通過唯一的地址和一直存在的簡單的主機、從機關系軟件設定地址,主機可以作為主機發(fā)送器或主機接收器。3. 串行的8 位雙向數(shù)據(jù)傳輸位速率在標準模式
35、下可達100kbit/s,快速模式下可達400kbit/s,高速模式下可達3.4Mbit/s。 2.7.2 24C02數(shù)據(jù)存儲器模塊電路設計本設計為實現(xiàn)溫濕度閾值的連續(xù)性??紤]了溫濕度閾值的存儲,在掉電后,下一次使用時能回到原來設定的閾值。24C02的時鐘線SCL與單片機的P1.0相連,數(shù)據(jù)線SDA與單片機的P1.1相連。其電氣原理圖如圖2.12所示。圖2.12 24C02數(shù)據(jù)存儲模塊原理圖2.8 系統(tǒng)總體電氣原理圖圖2.13 系統(tǒng)總體電氣原理圖PCB板(見附件2)。實物圖(見附件3)。3 系統(tǒng)軟件設計軟件是一個設計實現(xiàn)功能的重要部分。本設計采用了C語言進行模塊化編寫程序。圖3.1主程序流程圖
36、圖3.2 DHT11傳感器程序流程圖圖3.3 1602程序流程圖系統(tǒng)程序(見附件1)。4 系統(tǒng)調(diào)試本設計是在Keil C環(huán)境下開發(fā)的,Keil C軟件支持C語言的編程及調(diào)試,運用方便。 在完成對程序的編寫及燒錄之后,還需對其各部分功能進行驗證。開始供電后、稍帶幾秒等1602液晶屏能正常顯示當前溫濕度了之后。觀察當前溫濕度的變化。并且針對與自己設定的限值相比較。若當前溫度沒有超標,即沒有超過限值??梢杂檬治孀HT11傳感器,令其溫度的顯示超標。測試能否達到報警,經(jīng)過測試,完全可行。因而簡單的實現(xiàn)了對溫度的控制。濕度控制原理跟溫度一樣。1. 硬件問題及解決方法蜂鳴器不夠響。在加報警裝置的時候,蜂
37、鳴器不夠響。因為單是單片機的引腳輸出電流還不足以驅(qū)動蜂鳴器,后來又加了一個NPN的三極管來驅(qū)動蜂鳴器。最后就能夠自如的驅(qū)動蜂鳴器發(fā)聲了。2. 軟件所遇問題及解決方法本次畢業(yè)設計大部分時間都花在了軟件調(diào)試上了,軟件調(diào)試不像硬件那么直觀,對我來說是個難點。閾值設置模塊加了按鍵以后按鍵始終不能按預期效果工作。剛開始還以為是硬件部分沒有連接好,用萬用表查了很久,但是電平變化都是正確的。后面在老師的指導下才知道是延時太長,當按鍵時間比較長的時候,單片機是可以讀出按鍵的。最后修改了程序,系統(tǒng)功能得以實現(xiàn)。總結(jié)本設計是以單片機為控制器件的溫濕度監(jiān)控報警系統(tǒng)。采用DHT11數(shù)字溫濕度傳感器檢測環(huán)境中的溫濕度,
38、輸入到單片機進行處理。通過LCD1602顯示器實時的將溫濕度檢測并顯示出來。并且能夠設置溫濕度上限值,當環(huán)境溫濕度超過設定值時,系統(tǒng)自動報警,當溫濕度回到設定值內(nèi),報警自動解除。本系統(tǒng)具有硬件少,結(jié)構(gòu)簡單,容易實現(xiàn),性能穩(wěn)定可靠,成本低等特點。總結(jié)本文的研究工作,主要做了下面幾點較突出的工作:1. 掌握了LCD1602顯示屏的使用,了解了LCD1602顯示屏特有的工作優(yōu)點。2. 本設計使用DHT11數(shù)字溫濕度傳感器。能同時對濕度和溫度進行測量,使用方便。 3.文章給出了系統(tǒng)具體的硬件設計方案,硬件結(jié)構(gòu)電路圖,軟件流程圖和具體C語言程序設計與調(diào)試等方面。存在缺陷:溫濕度的精度是較低的,反應相對慢
39、。第一次PCB制版也有很多的不足之處,有些過孔太小不便于元件安裝,硬件的布局設計不夠美觀,液晶顯示器不便于固定。以后有機會應該在這些方面多學習,多注意。致謝本文從開題論證、研究設計到論文完成都是在導師的悉心指導下完成的。一直以來,老師在本設計硬件原理、軟件編寫、論文的寫作中給予我巨大的幫助,老師對我的教導將使我終身受益。在此,謹向?qū)煴硎局孕牡母兄x!經(jīng)過幾個月的查資料、整理材料、做實物,寫作論文,今天終于可以順利的完成論文的最后的謝辭了。論文得以完成,要感謝的人實在太多了,特別感謝老師們的幫助,在硬件實物方面缺少元件,老師們都想盡辦法幫助我解決,并提供給了我許多有益的指導和熱心的幫助。正是有了
40、你們的悉心幫助和支持,才使我的畢業(yè)論文工作順利完成,我衷心的對老師們表示感謝。另外,要感謝在大學期間所有傳授我知識的老師,是你們的悉心教導使我有了良好的專業(yè)課知識,這也是論文得以完成的基礎。謝謝你們,謝謝母校!在論文開題論證、研究設計、系統(tǒng)調(diào)試過程中,還得到了很多同學的熱情幫助。在此,特向幫助過我的老師和朋友表示誠摯的謝意!參考文獻1 姜志海, 黃玉清,劉連鑫. 單片機原理及應用M. 電子工業(yè)出版社,2009.2 郭天祥. 51單片機C語言教程M. 電子工業(yè)出版社.2009.3 張毅剛, 彭喜元, 彭宇. 單片機原理及應用M. 高等教育出版社.2010.4 楊素行. 模擬電子技術基礎簡明教程M
41、. 高等教育出版社.2006. 5 李維提, 郭強. 液晶顯示應用技術M. 電子工業(yè)出版社.2003.6 劉湘濤. 單片機原理與應用M. 電子工業(yè)出版社.2006.7 何立民. 單片機高級教程M. 北京航空航天大學出版社.2004.8 周潤景, 徐宏偉, 丁莉. 單片機電路設計分析與制作M. 機械工業(yè)出版社. 2010.9 李全利. 單片機原理及應用技術M. 高等教育出版社, 2004.10 李秀霞. 鄭春厚. Protel DXP 2004電路設計與仿真教程M. 北京航空航天大學出版社.2008.11 余家春. Protel99Se電路設計實用教程M. 中國鐵道出版社, 2002.12 郭強
42、. 液晶顯示應用技術M. 電子工業(yè)出版社. 2000.13 王建校. 51系列單片機及C51程序設計M. 科學出版社. 2002.14 馬忠梅. 單片機的C語言應用程序設計M. 北京航空航天大學出版社.1998.附件1 系統(tǒng)程序A1.1 主程序/實現(xiàn)功能,設定溫度上限和濕度上限,超過上限值時報警。報警現(xiàn)象,對應二極管亮,蜂鳴器響/#include #include 1602.h#include dht.h#include 2402.h /定義變量sbit Led_qushi=P16;/潮濕報警燈sbit Led_jiangwen=P15; /超溫報警燈sbit Key_TH1 = P12;/溫
43、度最高值設置按鍵sbit Key_TH2 = P33; /溫度最高值設置按鍵sbit Key_HH1 = P34;/濕度最高值設置按鍵sbit Key_HH2 = P35;/濕度最高值設置按鍵sbit beep=P20; /蜂鳴器volatile bit FlagStartRH = 0; /開始溫濕度轉(zhuǎn)換標志volatile bit FlagKeyPress = 0; /有鍵按下extern U8 U8FLAG,k; /定義溫濕度傳感器用外部變量extern U8 U8count,U8temp;extern U8 U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_d
44、ata_L,U8checkdata;extern U8 U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp;extern U8 U8comdata;extern U8 count, count_r;U16 temp;S16 temperature, humidity;S16 idata TH, HH; /溫度上限和濕度上限char * pSave;U8 keyvalue, keyTH1, keyTH2, keyHH1, keyHH2;U16 RHCounter;void Data_
45、Init() /數(shù)據(jù)初始化 RHCounter = 0; keyvalue = 0; Led_qushi = 1; Led_jiangwen = 1; TH = 40; HH = 85; keyTH1 = 1; keyTH2 = 1; keyHH1 = 1; keyHH2 = 1; beep=1; void Timer0_Init() /定時器0初始化ET0 = 1; /允許定時器0中斷TMOD = 1; /定時器工作方式選擇TL0 = 0 x06; /定時器賦予低位初值TH0 = 0 xf8; /定時器賦予高位初值TR0 = 1; /啟動定時器void Timer0_ISR (void) i
46、nterrupt 1 using 0 /定時器0中斷TL0 = 0 x06; /定時器賦予低位初值TH0 = 0 xf8; /定時器賦予高位初值 RHCounter +; /每2秒鐘啟動一次溫濕度轉(zhuǎn)換 if (RHCounter = 1000) FlagStartRH = 1; RHCounter = 0; void Save_Setting() /存入設定值、 pSave = (char *)&TH; /地址低位對應低8位,高位對應高8位 wrteeprom(0, *pSave); /存溫度上限值TH低8位 DELAY(500); /延時 pSave +; wrteeprom(1, *pSa
47、ve); /存溫度上限值TH高8位 DELAY(500); pSave = (char *)&HH; wrteeprom(2, *pSave); /存濕度上限值RH低8位 DELAY(500); pSave +; wrteeprom(3, *pSave); /存濕度上限值RH高8位 DELAY(500); void Load_Setting() /載入設定值、 pSave = (char *)&TH; *pSave+ = rdeeprom(0); *pSave = rdeeprom(1); pSave = (char *)&HH; *pSave+ = rdeeprom(2); *pSave =
48、 rdeeprom(3); if (TH99)|(TH99)|(HH0) HH = 85; void KeyProcess(uint num) switch (num) case 1: if (TH1) TH-; L1602_char(1, 15, TH/10+48); L1602_char(1, 16, TH%10+48); break; case 3: if (HH1) HH-; L1602_char(2, 15, HH/10+48); L1602_char(2, 16, HH%10+48); break; default: break; Save_Setting();/*主函數(shù)*/voi
49、d main() U16 i, j, testnum; EA = 0;Timer0_Init(); /定時器0初始化 Data_Init();EA = 1; L1602_init();L1602_string(1,1, Welcome to T&H );L1602_string(2,1, Control System! );for (i=0;i1000;i+) /延時 for (j=0;j TH) /判斷超溫Led_jiangwen = 0;/二極管亮,超溫報警beep=0;/蜂鳴器響,超溫報警DELAY(500); /延時else Led_jiangwen = 1;beep=1;DELAY(
50、500); if (humidity HH) /判斷潮濕 Led_qushi = 0; /二極管亮,超濕報警 beep=0; /蜂鳴器響,超溫報警 DELAY(500); else Led_qushi = 1;beep=1; DELAY(500); /鍵盤查詢,在彈起時響應 if (Key_TH1)&(keyTH1=0) FlagKeyPress = 1; keyvalue = 1; else if(Key_TH2)&(keyTH2=0)FlagKeyPress=1;keyvalue = 2; else if(Key_HH1)&(keyHH1=0)FlagKeyPress =1;keyvalu
51、e=3; else if(Key_HH2)&(keyHH2=0)FlagKeyPress=1;keyvalue=4;if (FlagKeyPress = 1) KeyProcess(keyvalue); FlagKeyPress = 0; if (!Key_TH1) keyTH1 = 0;else keyTH1 = 1; if (!Key_TH2) keyTH2 = 0;else keyTH2 = 1; if (!Key_HH1) keyHH1 = 0;else keyHH1 = 1; if (!Key_HH2) keyHH2 = 0;else keyHH2 = 1;A1.2 24C02程序#
52、include 2402.hvoid DELAY(unsigned int t)while(t!=0)t-; void IICStart(void) SCL=0; DELAY(1); SDA=1; SCL=1; DELAY(1); SDA=0; DELAY(1); SCL=0; void IICStop(void) SDA=0;SCL=1; DELAY(1); SDA=1; DELAY(1); SCL=0; void SEND0(void)SDA=0;SCL=1;DELAY(1);SCL=0; void SEND1(void)SDA=1; DELAY(1);SCL=1; DELAY(1);SC
53、L=0; bit Check_Ack(void) unsigned char errtime=250; DELAY(1); SCL=1; DELAY(1); CY=SDA; while(CY) errtime-; CY=SDA; if (!errtime) IICStop(); return 1; DELAY(1); SCL=0; return 0;void Write_byte(unsigned char dat) unsigned char i;for(i=0;i8;i+)if(dati)&0 x80)SEND1();elseSEND0(); unsigned char Read_byte
54、(void)unsigned char i,temp=0; for(i=0;i8;i+) SDA=1; SCL=1; DELAY(1); if(SDA=1)temp=temp1;temp=temp|0 x01; elsetemp=temp1; SCL=0; return temp; unsigned char rdeeprom(unsigned char addr) unsigned char temp=0;bit flag=0;IICStart();Write_byte(0 xa0); Check_Ack();Write_byte(addr);Check_Ack();IICStart();W
55、rite_byte(0 xa1);Check_Ack();temp=Read_byte();SEND1();IICStop(); return temp; void wrteeprom(unsigned char addr,unsigned char dat) IICStart();Write_byte(0 xa0);Check_Ack();Write_byte(addr);Check_Ack();Write_byte(dat);Check_Ack();IICStop(); #ifndef _2402_H_#define _2402_H_#include sbit SCL = P10; /模擬I2C 總線的引腳定義sbit SDA = P11; /定義2402在I2C總線協(xié)議中從機地址void DELAY(unsigned int t); /延時函數(shù)void IICStart(vo
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《零次冪和負整數(shù)指數(shù)冪》教學ppt課件
- 《太平天國運動》(北京)課件
- 2021年新員工入職安全知識培訓(公司級)課件
- 有理數(shù)總復習
- 《實際問題與二次函數(shù)(第2課時)》課件-(公開課)2022年人教版3-
- 腰麻失敗的原因分ppt課件
- 人教版八年級上冊生物ppt課件1.第一節(jié)--動物的運動【備份2】
- 大學生心理健康教育情緒和情緒管理
- 北歐清新家居動態(tài)模板課件
- 當代文藝心理學第八章文藝的社會文化心理
- 心腎綜合征--課件
- 廣告效果研究方法課件
- 工程圖學基礎課件
- 三年級下冊課外閱讀《活了100萬次的貓》ppt課件
- 六個信任溝通的好習慣培訓課程課件