溫度和濕度是兩個(gè)基本的環(huán)境參數(shù)。在我們的生活中,我們要時(shí)刻關(guān)心環(huán)境的變化,只有很好的把握好環(huán)境的差異變化,我們才能更好的生存與發(fā)展。比如說在一些養(yǎng)殖廠,牲畜的成長(zhǎng),和溫濕度是離不開的,它們只有在適宜的環(huán)境下,在適宜的溫度和濕度下,才能成長(zhǎng)的更快,我們才能獲取更大的效益。準(zhǔn)確測(cè)量溫濕度在生物藥學(xué)、食品加工、造紙業(yè)等行業(yè)更是至關(guān)重要。總之,無論在日常生活中還是在工業(yè)、農(nóng)業(yè)方面都離不開對(duì)周圍環(huán)境溫濕度的測(cè)量。因此,研究溫濕度的控制和測(cè)量具有非常重要的意義。
由于傳感器能將各種物理量、化學(xué)量和生物量等信號(hào)轉(zhuǎn)變?yōu)殡娦盘?hào),使得人們可以利用計(jì)算機(jī)實(shí)現(xiàn)自動(dòng)測(cè)量、信息處理和自動(dòng)控制。傳感器主要用于測(cè)量和控制系統(tǒng),它的性能好壞直接影響系統(tǒng)的性能。因此我們必須掌握各種傳感器的結(jié)構(gòu)、原理及其性能指標(biāo),通過對(duì)傳感器實(shí)例的分析了解,才能將傳感器和信息通信和信息處理結(jié)合起來,適應(yīng)傳感器的生產(chǎn)、研制和開發(fā)及應(yīng)用。溫濕度傳感器發(fā)展速度快,應(yīng)用領(lǐng)域也很廣泛,并且還有很大發(fā)展?jié)摿,為了提高?duì)傳感器的認(rèn)識(shí)和了解,尤其是對(duì)溫濕度傳感器的深入研究,基于實(shí)時(shí)、準(zhǔn)確和廣泛的原則進(jìn)行了設(shè)計(jì)。
本文設(shè)計(jì)的是基于單片機(jī)AT89C51的溫濕度檢測(cè)和控制系統(tǒng),主要以廣泛應(yīng)用的DHT11溫濕度傳感器作為溫度和濕度數(shù)據(jù)的采集,該傳感器具有測(cè)量精度高、硬件電路簡(jiǎn)單、數(shù)據(jù)傳輸方便,可測(cè)試不同環(huán)境溫濕度的特點(diǎn)。另外和控制電路相連,可以進(jìn)行閾值的控制,使溫度和濕度參數(shù)在預(yù)先設(shè)定的范圍內(nèi),不需要人的直接參與。
空氣中的水蒸汽吸附在感濕材料上后,元件的阻抗、介質(zhì)常數(shù)發(fā)生很大的變化,從而制成濕敏元件。近年來,國(guó)內(nèi)外在濕度傳感器研發(fā)領(lǐng)域取得了較大的發(fā)展。濕敏傳感器正從簡(jiǎn)單的濕敏元件向集成化、智能化、多參數(shù)檢測(cè)的方向迅速發(fā)展。國(guó)內(nèi)外各廠家的濕度傳感器產(chǎn)品水平不一,質(zhì)量?jī)r(jià)格都相差較大,用戶如何選擇性能價(jià)格比最優(yōu)的理想產(chǎn)品確有一定難度,需要在這方面作深入的了解,F(xiàn)在國(guó)內(nèi)市場(chǎng)上出現(xiàn)了不少國(guó)內(nèi)外濕度傳感器產(chǎn)品,電容式高分子聚合物,氯化鋰和金屬氧化物。
測(cè)量溫濕度的關(guān)鍵是溫濕度傳感器。過去測(cè)量溫度與濕度是分開的。隨著技術(shù)的進(jìn)步和人們生活的需要出現(xiàn)了溫濕度共測(cè)的傳感器。溫度傳感器的發(fā)展經(jīng)歷了3個(gè)階段:傳統(tǒng)的分立式溫度傳感器、模擬集成溫度傳感器、智能集成溫度傳感器。目前,國(guó)際上新型溫度傳感器正從模擬式向數(shù)字式、從集成化向智能化、網(wǎng)絡(luò)化的方向發(fā)展。溫濕度傳感器也是經(jīng)歷了這樣一個(gè)階段逐漸走向數(shù)字智能化。
溫濕度檢測(cè)系統(tǒng)在國(guó)內(nèi)各行業(yè)的發(fā)展水平仍然不高,雖然應(yīng)用已經(jīng)十分廣泛,但從國(guó)內(nèi)生產(chǎn)的溫濕度檢測(cè)器來講發(fā)展水平仍然不高,同日本、美國(guó)、德國(guó)等先進(jìn)國(guó)家相比,仍然有著較大的差距。
進(jìn)入21世紀(jì)后,特別在我國(guó)加入WTO后,國(guó)內(nèi)產(chǎn)品面臨巨大挑戰(zhàn)。各行業(yè)特別是傳統(tǒng)產(chǎn)業(yè)都急切需要應(yīng)用電子技術(shù)、自動(dòng)控制技術(shù)進(jìn)行改造和提高。例如紡織業(yè),溫濕度是影響紡織品質(zhì)量的重要因素,但紡織企業(yè)對(duì)溫濕度的控制手段仍很粗糙,十分落后,絕大多數(shù)仍然在使用干濕球溫度計(jì),采用人工觀測(cè),人工調(diào)節(jié)閥門、風(fēng)機(jī)的方法,其控制效果可想而知。制藥行業(yè)里也基本如此。在食品行業(yè)里,則基本上憑經(jīng)驗(yàn),很少有人使用溫濕度傳感器。
1.3 設(shè)計(jì)的市場(chǎng)現(xiàn)狀分析
縱觀市場(chǎng),溫濕度檢測(cè)技術(shù)已經(jīng)比較成熟,已有的各種溫濕度檢測(cè)產(chǎn)品,五花八門,如A2000家用溫濕度報(bào)警表、YD-808A工業(yè)用溫濕度顯示器等產(chǎn)品。 從功能上分析這些產(chǎn)品可以看出,一個(gè)比較完整的環(huán)境溫濕度檢測(cè)系統(tǒng)應(yīng)該具備以下主要的三個(gè)功能:
(1)實(shí)時(shí)檢測(cè)出環(huán)境中的溫度和濕度參數(shù);
(2)檢測(cè)的參數(shù)值顯示在顯示設(shè)備上(如數(shù)碼管,液晶顯示器等);
(3)根據(jù)環(huán)境要求,設(shè)定溫度濕度報(bào)警的上下限值,并實(shí)時(shí)報(bào)警。
因此,本設(shè)計(jì)也應(yīng)該具備這些功能,并且對(duì)每一個(gè)部分進(jìn)行優(yōu)化設(shè)計(jì),也可以擴(kuò)展系統(tǒng)功能。
除了功能上的分析之外,再看這些產(chǎn)品還存在一個(gè)問題就是價(jià)格太高,不符合普通消費(fèi)者的消費(fèi)水平,如A2000家用溫濕度報(bào)警表,售價(jià)300元左右。
綜上所述,本設(shè)計(jì)設(shè)計(jì)出的環(huán)境溫濕度檢測(cè)系統(tǒng),除了具備市場(chǎng)上已有產(chǎn)品的功能之外,還應(yīng)該盡量降低制作價(jià)格。
1.4 溫濕度檢測(cè)技術(shù)和存在的問題
傳統(tǒng)的溫度和濕度檢測(cè)系統(tǒng)主要有以下幾種:
(1)水汽壓(e):是水汽在大氣總壓力中的分壓力。它表示了空氣中水汽的絕對(duì)含量的大小,以毫巴為單位;
(2)相對(duì)濕度(rh):濕空氣中實(shí)際水汽壓e與同溫度下飽和水汽壓E的百分比,相對(duì)濕度的大小能直接表示空氣距離飽和的相對(duì)程度?諝馔耆稍飼r(shí),相對(duì)濕度為零。相對(duì)濕度越小,表示當(dāng)時(shí)空氣越干燥。當(dāng)相對(duì)濕度接近于100%時(shí),表示空氣很潮濕,越接近于飽和;
(3)露點(diǎn)(或霜點(diǎn))溫度:指空氣在水汽含量和氣壓都不改變的條件下,冷卻到飽和時(shí)的溫度;
(4)干濕球溫度表:用一對(duì)并列裝置的、形狀完全相同的溫度表,一支測(cè)氣溫,稱干球溫度表,另一支包有保持浸透蒸餾水的脫脂紗布,稱濕球溫度表;
(5)發(fā)濕度表(計(jì)):利用脫脂人發(fā)(或牛的腸衣)具有空氣潮濕時(shí)伸長(zhǎng),干燥時(shí)縮短的特性,制成毛發(fā)濕度表或濕度自記儀器,它的測(cè)濕精度較差,毛發(fā)濕度表通常在氣溫低于-10℃時(shí)使用;
(6)電阻式濕度片:利用吸濕膜片隨濕度變化改變其電阻值的原理,常用的有碳膜濕敏電阻和氯化鋰濕度片兩種。前者用高分子聚合物和導(dǎo)電材料碳黑,加上粘合劑配成一定比例的膠狀液體,涂覆到基片上組成的電阻片;后者是在基片上涂上一層氯化鋰酒精溶液,當(dāng)空氣濕度變化時(shí),氯化鋰溶液濃度隨之改變從而也改變了測(cè)濕膜片的電阻;
(7)薄膜濕敏電容:是以高分子聚合物為介質(zhì)的電容器,因吸收(或釋放)水汽而改變電容值。它制作精巧,性能優(yōu)良,常用在探空儀和遙測(cè)中。
隨著智能檢測(cè)系統(tǒng)的飛速發(fā)展,基于單片機(jī)的溫濕度檢測(cè)系統(tǒng)將多傳感器系統(tǒng)結(jié)合在一起。如何把多傳感器集中于一個(gè)檢測(cè)控制系統(tǒng),綜合利用來自多傳感器的信息,獲得對(duì)被測(cè)對(duì)象的可靠了解和解釋,以利于系統(tǒng)做出正確的響應(yīng)、決策和控制,是智能檢測(cè)控制系統(tǒng)中需要解決的首要問題。在溫濕度要求嚴(yán)格的場(chǎng)合,利用多傳感技術(shù)可以提高系統(tǒng)的可靠性和精度,亦可以提高系統(tǒng)的時(shí)間空間的覆蓋范圍。
1.5 設(shè)計(jì)內(nèi)容和預(yù)期結(jié)果
1.5.1 主要完成內(nèi)容
本文主要完成的內(nèi)容有:
(1) 確定系統(tǒng)的總體功能設(shè)計(jì)方案;
(2) 完成總體設(shè)計(jì)方案原理圖的繪制;
(3) 完成硬件電路的焊接及調(diào)試;
(4) 完成軟件系統(tǒng)的設(shè)計(jì)及編譯。
1.5.2 本文的設(shè)計(jì)思路
本文的設(shè)計(jì)目的是要對(duì)空氣中的溫度和濕度進(jìn)行檢測(cè)。系統(tǒng)的數(shù)據(jù)采集部分是溫濕度傳感器完成的,溫濕度傳感器將采集到的數(shù)據(jù)送入AT89C51單片機(jī)中,然后通過液晶顯示器LCD1602進(jìn)行顯示,單片機(jī)將預(yù)設(shè)的參考值與測(cè)量值進(jìn)行比較,根據(jù)比較結(jié)果作出判斷,當(dāng)溫濕度值超過允許的誤差范圍,系統(tǒng)將發(fā)出報(bào)警聲音。
(1)系統(tǒng)硬件設(shè)計(jì)
通過比較,選用AT89C51單片機(jī)來構(gòu)造本系統(tǒng)。在設(shè)計(jì)過程當(dāng)中,單片機(jī)的P0口用于液晶LCD1602顯示, P3.4、P3.5、P3.6、P3.7為獨(dú)立式鍵盤接口,P1.0口接溫濕度傳感器DHT11,P2.4口連接蜂鳴報(bào)警器。
(2)系統(tǒng)模塊設(shè)計(jì)
測(cè)控模塊:檢測(cè)所處環(huán)境的溫濕度數(shù)據(jù)。顯示模塊:溫度和濕度采用液晶顯示,分兩行顯示使測(cè)量結(jié)果更直觀,便于管理人員做出決策。報(bào)警模塊:系統(tǒng)采用三極管驅(qū)動(dòng)的蜂鳴音報(bào)警,當(dāng)溫濕度超過系統(tǒng)所設(shè)置的閾值時(shí),蜂鳴器就會(huì)發(fā)生報(bào)警。鍵盤模塊;鍵盤采用的是獨(dú)立式鍵盤,可分別設(shè)置溫度和濕度的上限值。
1.5.3 預(yù)期結(jié)果
根據(jù)設(shè)計(jì)方案及思路,預(yù)測(cè)出現(xiàn)的設(shè)計(jì)結(jié)果,當(dāng)系統(tǒng)完好的設(shè)計(jì)完后,連接所有的硬件設(shè)備,運(yùn)行相應(yīng)的軟件設(shè)備。
軟硬件連接完好,電路完善的情況下,肉眼能看到的是經(jīng)過一系列的軟硬件編譯過的在LCD液晶顯示器上顯示的數(shù)字,當(dāng)液晶顯示器顯示的溫濕度值超過了預(yù)定的值時(shí)系統(tǒng)發(fā)出報(bào)警提示,當(dāng)溫濕度值沒有超過預(yù)定的溫濕度范圍,測(cè)系統(tǒng)接收下一次的溫濕度采集值。
2 溫濕度測(cè)量系統(tǒng)方案設(shè)計(jì)
2.1系統(tǒng)總體設(shè)計(jì)
系統(tǒng)要完成的設(shè)計(jì)功能如下:
(1)實(shí)現(xiàn)對(duì)環(huán)境溫濕度參數(shù)的實(shí)時(shí)采集,由單片機(jī)對(duì)數(shù)據(jù)進(jìn)行循環(huán)檢測(cè)、數(shù)據(jù)處理、顯示,實(shí)現(xiàn)溫濕度的連續(xù)測(cè)量;
(2)實(shí)現(xiàn)超限數(shù)據(jù)的及時(shí)報(bào)警;
(3)現(xiàn)場(chǎng)檢測(cè)設(shè)備應(yīng)具有較高的靈敏度、可靠性、抗干擾能力;
(4)軟件設(shè)計(jì)既要具有完成數(shù)據(jù)采集、處理的功能,其軟件編程應(yīng)具有功能強(qiáng)大、界面友好、便于操作和執(zhí)行速度快。
設(shè)計(jì)要達(dá)到的技術(shù)指標(biāo):
(1)測(cè)量范圍: 濕度20-90%RH, 溫度0-50℃;
(2)測(cè)量精度: 濕度±5%RH, 溫度±2℃;
(3)分 辨 率: 濕度1%RH, 溫度1℃。
(4)測(cè)量數(shù)據(jù)無線上傳到手機(jī)進(jìn)行顯示。
該設(shè)計(jì)的總體方案是數(shù)據(jù)采集用的是DHT11溫濕度傳感器,它是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器,傳感器包括一個(gè)電阻式感濕元件和一個(gè)NTC測(cè)溫元件,具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強(qiáng)、性價(jià)比極高等特點(diǎn)。單片機(jī)采用AT89C51,液晶顯示采用LCD1602,報(bào)警采用蜂鳴器,鍵盤使用獨(dú)立鍵盤,外加復(fù)位電路和時(shí)鐘電路,測(cè)量數(shù)據(jù)無線上傳串口WIFI模塊。
溫度濕度信號(hào)通過溫濕度傳感器進(jìn)行信號(hào)的采集并轉(zhuǎn)換成數(shù)字信號(hào),再運(yùn)用單片機(jī)AT89C51進(jìn)行數(shù)據(jù)的分析和處理,并在LCD1602上顯示當(dāng)前溫濕度。外加復(fù)位電路、時(shí)鐘電路、鍵盤電路和報(bào)警電路。系統(tǒng)程序主要包括數(shù)據(jù)采集程序、溫溫度閾值設(shè)置程序、報(bào)警程序及顯示程序等。本設(shè)計(jì)可以通過鍵盤手動(dòng)設(shè)置溫度濕度的上、下限值,該設(shè)定值為系統(tǒng)閾值。溫濕度傳感器將檢測(cè)到的值傳輸給單片機(jī),通過分析比較,當(dāng)檢測(cè)數(shù)值超出閾值時(shí),驅(qū)動(dòng)蜂鳴器報(bào)警,以便管理人員及時(shí)切斷電源,實(shí)現(xiàn)系統(tǒng)的保護(hù)。
2.2 系統(tǒng)設(shè)計(jì)原則
要求單片機(jī)系統(tǒng)應(yīng)具有可靠性高、操作維護(hù)方便、性價(jià)比高等特點(diǎn)。設(shè)計(jì)原則有以下幾個(gè):
(1)可靠性高 可靠性是單片機(jī)系統(tǒng)應(yīng)用的前提,在系統(tǒng)設(shè)計(jì)的每一個(gè)環(huán)節(jié),都應(yīng)該將可靠性作為首要的設(shè)計(jì)準(zhǔn)則。提高系統(tǒng)的可靠性通常從以下幾個(gè)方面考慮:使用可靠性高的元器件;設(shè)計(jì)電路板時(shí)布線和接地要合理;對(duì)供電電源采用抗干擾措施;輸入輸出通道抗干擾措施;進(jìn)行軟硬件濾波等。
溫度、濕度設(shè)置參數(shù)斷電保存模塊
電路選擇了AT24C01電路作為溫度、濕度參數(shù)的儲(chǔ)存電路。AT24C01是美國(guó)Atmel公司的低功耗CMOS型E2PROM,內(nèi)含256×8位存儲(chǔ)空間,具有工作電壓寬(2.5~5.5 V)、擦寫次數(shù)多(大于10000次)、寫入速度快(小于10 ms)、抗干擾能力強(qiáng)、數(shù)據(jù)不易丟失、體積小等特點(diǎn)。而且他是采用了I2C總線式進(jìn)行數(shù)據(jù)讀寫的串行器件,占用很少的資源和I/O線,并且支持在線編程,進(jìn)行數(shù)據(jù)實(shí)時(shí)的存取十分方便。AT24C01中帶有的片內(nèi)地址寄存器。每寫入或讀出一個(gè)數(shù)據(jù)字節(jié)后,該地址寄存器自動(dòng)加1,以實(shí)現(xiàn)對(duì)下一個(gè)存儲(chǔ)單元的讀寫。所有字節(jié)均以單一操作方式讀取。為降低總的寫入時(shí)間,一次操作可寫入多達(dá)8個(gè)字節(jié)的數(shù)據(jù)。I2C總線是一種用于IC器件之間連接的二線制總線。他通過SDA(串行數(shù)據(jù)線)及SCL(串行時(shí)鐘線)兩根線在連到總線上的器件之間傳送信息,并根據(jù)地址識(shí)別每個(gè)器件。 AT24C01正是運(yùn)用了I2C規(guī)程,使用主/從機(jī)雙向通信,主機(jī)(通常為單片機(jī))和從機(jī)(AT24C01)均可工作于接收器和發(fā)送器狀態(tài)。主機(jī)產(chǎn)生串行時(shí)鐘信號(hào)(通過SCL引腳)并發(fā)出控制字,控制總線的傳送方向,并產(chǎn)生開始和停止的條件。無論是主機(jī)還是從機(jī),接收到一個(gè)字節(jié)后必須發(fā)出一個(gè)確認(rèn)信號(hào)ACK。AT24C01的控制字由8位二進(jìn)制數(shù)構(gòu)成,在開始信號(hào)發(fā)出以后,主機(jī)便會(huì)發(fā)出控制字,以選擇從機(jī)并控制總線傳送的方向。
管腳描述:
● SCK 為串行時(shí)鐘:
串行時(shí)鐘輸入管腳用于產(chǎn)生器件所有數(shù)據(jù)發(fā)送或接收的時(shí)鐘這是一個(gè)輸入管腳。
● SDA 為串行數(shù)據(jù)/地址:
雙向串行數(shù)據(jù)/地址管腳用于器件所有數(shù)據(jù)的發(fā)送或接收SDL,是一個(gè)開漏輸出管腳可與其它開漏輸出或集電極開路輸出進(jìn)行線。
● A0、A1、A2 為器件地址輸入端:
當(dāng)使用24C02 時(shí)最大可級(jí)聯(lián)8個(gè)器件,如果只有一個(gè)24C01被總線尋址,這三個(gè)地址輸入腳A0、A1、A2可懸空或連接到Vss。
● WP為寫保護(hù):
如果WP 管腳連接到Vcc 所有的內(nèi)容都被寫保護(hù)只能讀當(dāng)WP, 管腳連接到Vss 或懸空,允許器件進(jìn)行正常的讀/寫操作。管腳圖如圖3-3所示。

特點(diǎn):
內(nèi)建128x8存儲(chǔ)序列
2線制串行接口
雙向數(shù)據(jù)傳送協(xié)議
100kHz(1.8V,2.5V,2.7V) 和400kHz(5V)兼容
寫同步時(shí)鐘(最大10ms)
高可靠性
-極限:1M寫時(shí)鐘周期
-數(shù)據(jù)保存:100年
AT24C01提供電可擦除的串行1024位存儲(chǔ)或可編程只讀存儲(chǔ)器(EEPROM)128字(8位/字)。
芯片在低壓的工業(yè)與商業(yè)應(yīng)用中進(jìn)行了最優(yōu)化。AT24C01的封裝為8腳PDIP、8腳JEDEC
SOIC、8腳TSSOP,通過2線制串行接口進(jìn)行數(shù)據(jù)傳輸。
設(shè)備操作: SDA管腳通常外部要拉高。SDA管腳上的數(shù)據(jù)只能在SCL低期間改變。數(shù)據(jù)在SCL高期間改變定義為一個(gè)開始或停止信號(hào)。
開始狀態(tài):在任何操作之前必須有一個(gè)開始信號(hào)----在SCL為高時(shí)SDA上產(chǎn)生一個(gè)下降沿。
停止?fàn)顟B(tài): SCL為高時(shí)SDA產(chǎn)生一個(gè)上升沿是停止信號(hào),停止信號(hào)后將停止所有通信。
在一個(gè)讀的序列之后,停止信號(hào)將讓EEPROM進(jìn)入備用電源模式。
3.8報(bào)警模塊及溫度濕度控制模塊
本系統(tǒng)采用蜂鳴器作為報(bào)警裝置,蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應(yīng)用于計(jì)算機(jī)、打印機(jī)、復(fù)印機(jī)、報(bào)警器、電子玩具、汽車電子設(shè)備、電話機(jī)、定時(shí)器等電子產(chǎn)品中作發(fā)聲器件。 蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。蜂鳴器在電路中用字母“H”或“HA”(舊標(biāo)準(zhǔn)用“FM”、“LB”、“JD”等)表示。
3.8.1蜂鳴器報(bào)警原理及溫度濕度控制模塊原理
本設(shè)計(jì)采用蜂鳴音報(bào)警電路,其工作過程就是把傳感器采集的數(shù)據(jù)通過單片機(jī)處理后,與該參數(shù)上限給定值進(jìn)行比較,如果高于上限值則進(jìn)行報(bào)警。同時(shí)當(dāng)溫度,濕度低于設(shè)計(jì)值時(shí),自動(dòng)啟動(dòng)加溫電、加濕設(shè)置進(jìn)行加溫、加濕工作。
蜂鳴器發(fā)聲原理是電流通過電磁線圈,使電磁線圈產(chǎn)生磁場(chǎng)來驅(qū)動(dòng)振動(dòng)膜發(fā)聲的,因此需要一定的電流才能驅(qū)動(dòng)它,單片機(jī)I/O口引腳輸出的電流較小,單片機(jī)輸出的TTL電平基本上驅(qū)動(dòng)不了蜂鳴器,因此需要增加一個(gè)電流放大的電路。所以才用一個(gè)三極管來放大驅(qū)動(dòng)蜂鳴器。在本系統(tǒng)中峰鳴器報(bào)警接口電路的設(shè)計(jì)采用壓電式蜂鳴器,通過AT89C51的1根I/O口線經(jīng)驅(qū)動(dòng)器驅(qū)動(dòng)蜂鳴音發(fā)聲。壓電式蜂鳴器約需10mA的驅(qū)動(dòng)電流,可以用一個(gè)晶體三極管驅(qū)動(dòng),P2.4接晶體管基極輸入端。當(dāng)P2.4輸出高電平“1”時(shí),晶體管導(dǎo)通,壓電蜂鳴器兩端獲得約+5V電壓而鳴叫;當(dāng)P2.4輸出低電平“0”時(shí),三極管截止,蜂鳴器停止發(fā)聲。
3.8.2 報(bào)警電路接口
聲光報(bào)警系統(tǒng)由一個(gè)電阻R2,一個(gè)三極管BG1和一個(gè)蜂鳴器BY以及發(fā)光二極管D5與限流電阻R10組成,三極管用來放大電路中的電流,來驅(qū)動(dòng)蜂鳴器發(fā)聲,在發(fā)聲的同時(shí)發(fā)光二極管D5閃亮。報(bào)警系統(tǒng)連接單片機(jī)的I/O口P2.3,當(dāng)單片機(jī)檢測(cè)到溫度或者濕度超出所設(shè)置的閾值時(shí),就會(huì)給P2.3置低電平0,這時(shí)三極管導(dǎo)通,蜂鳴器報(bào)警,如果沒有超出閾值,P2.3置高電平1,三極管截止。R4與D1組成溫度過低的報(bào)警指示電路及啟動(dòng)加溫控制指示電路,溫度低于溫度設(shè)置下限值時(shí),D1點(diǎn)亮,同時(shí)P1.7腳由高電平變?yōu)榈碗娖,?jīng)R9、BG3驅(qū)動(dòng)繼電器工作,電機(jī)M2轉(zhuǎn)動(dòng)(用來模擬加熱電器及加熱通風(fēng)機(jī)工作),當(dāng)溫度高于下限值時(shí),D1O熄,同時(shí)M2停止工作。R5與D2組成溫度高報(bào)警電路,溫度高于上限值時(shí),D2點(diǎn)亮。R6與D3組成濕度過低的報(bào)警指示電路及啟動(dòng)加濕水泵控制指示電路,R7、D4組成濕度高的報(bào)警指示電路,當(dāng)濕度低于設(shè)置下限值時(shí),D3點(diǎn)亮,同時(shí)P1.6腳由高電平變?yōu)榈碗娖,?jīng)R8、BG2驅(qū)動(dòng)繼電器工作,電機(jī)M1轉(zhuǎn)動(dòng)(用來模擬加濕水泵工作),當(dāng)濕度高于下溫度下限值時(shí),D3熄滅,這時(shí)水泵繼續(xù)工作,當(dāng)濕度高于濕度設(shè)置上限值時(shí),D4點(diǎn)亮,同時(shí)停止加濕水泵工作。報(bào)警模塊及加濕模塊電路圖如圖3.12所示。

圖3.12報(bào)警電路及加濕加溫電路模塊
3.9供電電路
整個(gè)濕度溫度測(cè)量裝置的供電設(shè)計(jì)采用5伏直流電源進(jìn)行供電,圖中C1,C2作為電源濾波電容。供電電源可以直接選用目前市面上比較多的手機(jī)充電電源作為供電電源,這種電源工作可靠,安全適用,成本低。
3.9小結(jié)
本系統(tǒng)設(shè)計(jì)主要有主控模塊、顯示模塊、溫濕度采集模塊、WIFI串口通信模塊、鍵盤模塊、報(bào)警模塊、復(fù)位電路和時(shí)鐘電路八大模塊。其中主控模塊AT89C51的晶振電路采用12MHz的無源晶振,微調(diào)電容大小取22pF。顯示模塊選用LCD1602字符型液晶模塊,是目前工控系統(tǒng)中使用最為廣泛的液晶屏之一。溫濕度采集模塊所采用的DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器,它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性與穩(wěn)定性;其單線制串行接口,使系統(tǒng)集成變得簡(jiǎn)易快捷。報(bào)警模塊采用蜂鳴器,采用PNP型晶體管9012放大單片機(jī)I/O口的電流。系統(tǒng)的輸入模塊采用獨(dú)立式鍵盤,操作簡(jiǎn)單,溫濕度檢測(cè)方便準(zhǔn)確。該設(shè)計(jì)最終要實(shí)現(xiàn)的目標(biāo)是,溫濕度采集數(shù)據(jù)并傳輸?shù)絾纹瑱C(jī),單片機(jī)經(jīng)過數(shù)據(jù)處理在發(fā)送到液晶顯示器顯示,同時(shí)單片機(jī)會(huì)將采集到的數(shù)據(jù)同系統(tǒng)設(shè)置溫度、濕度值進(jìn)行比較,如果超過定值,報(bào)警電路就會(huì)發(fā)出報(bào)警聲光信號(hào),如果溫度、濕度在設(shè)置范圍內(nèi),單片機(jī)就會(huì)繼續(xù)采集溫濕度數(shù)據(jù)。
鍵盤一共有四個(gè)鍵,開關(guān)K1、K2、K3、K4分別接單片機(jī)的I/O口P3.4、P3.5、P3.6 、P3.7。K1是模式選擇鍵,用來選擇溫度、濕度上下限值。K2和K3分別為設(shè)置溫度、濕度上下限值, K4為保存鍵,設(shè)置完成按下該鍵后儲(chǔ)存設(shè)置參數(shù)。顯示器一共是兩行顯示,第一行顯示的是溫度,第二行顯示的是濕度。
在完成了系統(tǒng)硬件的設(shè)計(jì)后,再設(shè)計(jì)系統(tǒng)軟件,首先要建立程序框架的流程圖,對(duì)整個(gè)設(shè)計(jì)劃分模塊,逐個(gè)模塊實(shí)現(xiàn)其功能,最終把各個(gè)子模塊合理的連接起來,構(gòu)成總的程序,這樣能快速準(zhǔn)備的進(jìn)行編程。首先建立主程序框架流程圖,弄明白整個(gè)系統(tǒng)程序設(shè)計(jì),其次再分別設(shè)計(jì)顯示模塊、傳感器模塊和鍵盤模塊的程序,最后在進(jìn)行整合,形成一個(gè)完整的程序。
本系統(tǒng)采用C語言編程。C語言是一種計(jì)算機(jī)程序設(shè)計(jì)語言。它既具有高級(jí)語言的特點(diǎn),又具有匯編語言的特點(diǎn)。
C語言編程的優(yōu)點(diǎn)有:
(1)簡(jiǎn)潔緊湊、靈活方便。C語言一共只有32個(gè)關(guān)鍵字,9種控制語句,程序書寫形式自由,區(qū)分大小寫。把高級(jí)語言的基本結(jié)構(gòu)和語句與低級(jí)語言的實(shí)用性結(jié)合起來。C 語言可以像匯編語言一樣對(duì)位、字節(jié)和地址進(jìn)行操作,而這三者是計(jì)算機(jī)最基本的工作單元。
(2)運(yùn)算符豐富。C語言的運(yùn)算符包含的范圍很廣泛,共有34種運(yùn)算符。C語言把括號(hào)、賦值、強(qiáng)制類型轉(zhuǎn)換等都作為運(yùn)算符處理。從而使C語言的運(yùn)算類型極其豐富,表達(dá)式類型多樣化。靈活使用各種運(yùn)算符可以實(shí)現(xiàn)在其它高級(jí)語言中難以實(shí)現(xiàn)的運(yùn)算。
(3)數(shù)據(jù)類型豐富。C語言的數(shù)據(jù)類型有:整型、實(shí)型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型、共用體類型等。能用來實(shí)現(xiàn)各種復(fù)雜的數(shù)據(jù)結(jié)構(gòu)的運(yùn)算。并引入了指針概念,使程序效率更高。另外C語言具有強(qiáng)大的圖形功能,支持多種顯示器和驅(qū)動(dòng)器。且計(jì)算功能、邏輯判斷功能強(qiáng)大。
(4)語法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大。雖然C語言也是強(qiáng)類型語言,但它的語法比較靈活,允許程序編寫者有較大的自由度。
4.1 主程序模塊程序設(shè)計(jì)
本系統(tǒng)的整個(gè)程序流程是首先上電,系統(tǒng)各部分進(jìn)行初始化,單片機(jī)初始化,液晶顯示器初始化等。初始化完成后進(jìn)行鍵盤掃描,然后再進(jìn)行延時(shí)一段時(shí)間,供傳感器采集數(shù)據(jù),延時(shí)完成后就進(jìn)行數(shù)據(jù)的采集并傳輸?shù)絾纹瑱C(jī),單片機(jī)處理之后傳輸?shù)揭壕э@示器,液晶顯示器顯示溫濕度值。并且判斷溫度和濕度是否超出閾值,如果沒有超過,就繼續(xù)執(zhí)行數(shù)據(jù)采集程序,如果有一個(gè)值超出閾值,則啟動(dòng)報(bào)警系統(tǒng),蜂鳴器發(fā)出聲音,溫濕度檢測(cè)結(jié)束。主程序流程圖如圖4.1所示。

液晶顯示模塊是一個(gè)慢顯示器件,在執(zhí)行每條指令之前要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,則此指令失效,要顯示字符時(shí)要先輸入顯示字符地址,告訴模塊在哪里顯示了字符。1602液晶顯示模塊可與單片機(jī)接口直接連接,無需再加驅(qū)動(dòng)。
LCD1602的顯示數(shù)據(jù)過程是首先液晶初始化,初始化完成后執(zhí)行延時(shí)程序,等待數(shù)據(jù)的采集,延時(shí)完成后LCD會(huì)先寫入一些指令和顯示字符的地址,在這完成后單片機(jī)會(huì)向LCD發(fā)送數(shù)據(jù)即寫數(shù)據(jù),數(shù)據(jù)發(fā)送完LCD就會(huì)讀取寫入的地址并顯示出來,最后返回。軟件流程圖如圖4.2所示。
圖4.3 DHT11傳感器模塊的軟件流程圖
傳感器模塊負(fù)責(zé)溫濕度數(shù)據(jù)源的采集,首先數(shù)據(jù)口連接端P1.0輸出低電平,延時(shí)18ms之后P1.0輸出高電平,延時(shí)40ms之后,讀P1.0引腳是否為低電平,如果不是低電平就繼續(xù)讀,如果是低電平就執(zhí)行判斷從機(jī)80μs高電平是否結(jié)束,如果沒有結(jié)束就繼續(xù)判斷,如果結(jié)束就進(jìn)行單片機(jī)數(shù)據(jù)接收,將接收到的數(shù)據(jù)按十進(jìn)制數(shù)位存入指定的數(shù)組中,數(shù)據(jù)采集結(jié)束并保持?jǐn)?shù)據(jù)采集持續(xù)進(jìn)行。
4.4 鍵盤模塊設(shè)計(jì)
鍵盤模塊是用來設(shè)置系統(tǒng)閾值的,首先通過模式選擇鍵開閾值并選擇溫度和濕度的設(shè)置,加一鍵和減一鍵是對(duì)溫度和濕度的設(shè)置。第一次按模式鍵然后經(jīng)過延時(shí)可以開閾值和進(jìn)行濕度的設(shè)置,第二次按模式鍵并延時(shí)是溫度的設(shè)置,第三次按模式鍵是關(guān)閾值。
鍵盤模塊軟件流程圖如圖4.4所示。

圖4.4 鍵盤模塊軟件流程圖
4.5 小結(jié)
本系統(tǒng)的軟件設(shè)計(jì)采用了C語言編程,只需對(duì)溫度和濕度進(jìn)行相應(yīng)的采集處理后,即可讓液晶實(shí)時(shí)顯示當(dāng)前的溫度與濕度值。報(bào)警模塊只需接上單片機(jī)的I/O 口,并對(duì)其接口線進(jìn)行編程方可,當(dāng)溫度與濕度超過閾值時(shí)報(bào)警模塊就會(huì)報(bào)警。這樣就可以完成環(huán)境中溫濕度的檢測(cè)。
本設(shè)計(jì)在完成硬件電路設(shè)計(jì)并焊接好電路硬件的基礎(chǔ)上,通過串口模塊將軟件代碼下載至AT89C51單片機(jī)中完成系統(tǒng)集成。由于采用了AT89C51單片機(jī),性能可靠、電路簡(jiǎn)單,系統(tǒng)中還可充分利用AT89C51中先進(jìn)的軟件硬件資源,便于軟件系統(tǒng)的升級(jí),操作方便。
設(shè)計(jì)制作51單片機(jī)DHT11的溫濕度檢測(cè)系統(tǒng),程序設(shè)計(jì)及試工作是一項(xiàng)重要內(nèi)容,所設(shè)計(jì)的程序51單片機(jī)DHT11的溫濕度檢測(cè)系統(tǒng)程序只是在編譯環(huán)境下通過編譯,消除編程工作中產(chǎn)生的語法錯(cuò)誤后,直接將程序?qū)懭雴纹瑱C(jī)中與硬件一起進(jìn)行聯(lián)調(diào),如果這時(shí)硬件設(shè)計(jì)制作是正確的還好說,只需要進(jìn)行軟件的調(diào)試修改,燒寫到硬件環(huán)境中驗(yàn)證直到達(dá)到設(shè)計(jì)要求即可,但這個(gè)工作也是需要反復(fù)不停地修改程序并燒錄到硬件單片機(jī)中進(jìn)行調(diào)試,但如果說硬設(shè)計(jì)、制作及程序設(shè)計(jì)都存在問題,整個(gè)調(diào)試工作就顯得無從下手,給軟件調(diào)試、硬件故障排出帶來非常大的困難,增加不少工作量,甚至造成系統(tǒng)設(shè)計(jì)制作的失敗。有好的解決辦法嗎?回答是肯定的,就是程序仿真,編譯通過的程序,在Proteus環(huán)境下,按設(shè)計(jì)的硬件原理圖,把仿真圖畫好,調(diào)入程序在Proteus仿真環(huán)境下進(jìn)行程序的仿真,來驗(yàn)證程序設(shè)計(jì)的正確性及各項(xiàng)功能是否達(dá)到設(shè)計(jì)要求,在仿真環(huán)境下完成程序的調(diào)試工作。通過仿真調(diào)試滿意后的程序,再燒寫到硬件環(huán)境下調(diào)試,這時(shí),如果硬件工作正常,可以進(jìn)一步的驗(yàn)證程序的功能及正確性,如果工作不正常,這時(shí)可排出軟件設(shè)計(jì)的問題,集中精力排出硬件設(shè)計(jì)、制作的問題,有針對(duì)性的排出,從而可提高設(shè)計(jì)制作過程中的效率,大大減輕制作工作量,使單片機(jī)DHT11的溫濕度檢測(cè)系統(tǒng)制作成功率可以得到100%的保證。下圖是本設(shè)計(jì)的仿真圖。

6 設(shè)計(jì)中遇到的問題及解決方法
6.1 硬件問題及解決方法
(1)LCD1602不顯示:
檢查L(zhǎng)CD各個(gè)端口與單片機(jī)的連接是否接通,發(fā)現(xiàn)都通著,又檢查了LCD數(shù)據(jù)口連接順序與單片機(jī)的I/O口順序是否一致,最后發(fā)現(xiàn)LCD的數(shù)據(jù)口順序接反了,最后把LCD的D0-D7接單片機(jī)的I/O口P0.0-P0.7后,工作正常了。。
(2)蜂鳴器不響:
因?yàn)閯傞_始不知道老師給的三極管是啥型號(hào)的,自己就用萬用表測(cè)試了一下就焊接上了,結(jié)果不響,我就按照三極管的型號(hào)上網(wǎng)查了一下結(jié)果發(fā)現(xiàn)自己檢測(cè)錯(cuò)了,自己的是PNP型的,三個(gè)管腳分別是字面對(duì)著自己ebc。然后卸下來重新焊上去蜂鳴器就響了。
(3)LCD1602顯示亂碼:
把程序下載到單片機(jī)上,液晶顯示的不是程序要顯示的內(nèi)容。我就用萬用表檢查8根數(shù)據(jù)線是否都接通,結(jié)果發(fā)現(xiàn)都是連通的。然后就考慮是不是數(shù)據(jù)線短路了,用萬用表分別測(cè)量8跟數(shù)據(jù)線有沒有短路的,結(jié)果發(fā)現(xiàn)有一根在焊接的時(shí)候不小心焊到旁邊的焊盤上了,導(dǎo)致數(shù)據(jù)線接到了電源線上,那根數(shù)據(jù)線就會(huì)一直顯示高電平,所以顯示就亂碼了。用烙鐵把連接的焊錫分開以后,重新上電發(fā)現(xiàn)液晶顯示正常了。
6.2 軟件所遇問題及解決方法
(1)鍵盤問題
按鍵沒有按照程序設(shè)計(jì)的工作,模式鍵沒有起作用,加減鍵也不規(guī)律的進(jìn)行加減。通過仔細(xì)檢查程序,通過檢查按鍵硬件電路發(fā)現(xiàn)按鍵電路都好著呢,然后再檢查程序,發(fā)現(xiàn)程序中按鍵按下之后沒有用延時(shí)程序,就給程序中各個(gè)按鍵后邊加了個(gè)延時(shí)程序,下載程序之后發(fā)現(xiàn)按鍵可以實(shí)現(xiàn)功能了。
(2)濕度顯示不穩(wěn)定
在數(shù)據(jù)采集完成以后,顯示在顯示器上,發(fā)現(xiàn)濕度顯示不穩(wěn)定,一直在跳動(dòng)。剛開始以為是正常情況,可是最后發(fā)現(xiàn)跳動(dòng)的特別厲害,跳動(dòng)幅度也很大。最后想到可能是單片機(jī)一直在采集數(shù)據(jù)然后顯示數(shù)據(jù),中間沒有停歇才導(dǎo)致顯示不穩(wěn)定,就給數(shù)據(jù)采集前加了個(gè)延時(shí)程序,通過串口下載程序后,發(fā)現(xiàn)濕度顯示穩(wěn)定了。
隨著社會(huì)的發(fā)展,科技越來越越發(fā)達(dá),我們的生活也越來越智能化。溫濕度是我們生活環(huán)境中的兩個(gè)重要的參數(shù),在我們的生活中,我們要時(shí)刻關(guān)心環(huán)境的變化,只有很好的把握好環(huán)境的差異變化,我們才能更好的生存與發(fā)展。
本文設(shè)計(jì)的溫、濕度智能測(cè)控系統(tǒng)主要有以下幾個(gè)各方面:
(1)采用AT89C51單片機(jī)為控制核心;
(2)采用數(shù)字式溫度傳感器DHT11為溫、濕度數(shù)據(jù)采集器件,通過PC機(jī)作為人機(jī)接口,實(shí)現(xiàn)了數(shù)據(jù)采集與測(cè)控指令參數(shù)的設(shè)置;
(3)顯示部分采用已標(biāo)準(zhǔn)的1602液晶為顯示屏,具有顯示質(zhì)量高、體積小、功耗低等優(yōu)點(diǎn)。
本系統(tǒng)整體設(shè)計(jì)具有界面友好、控制靈活、硬件系統(tǒng)集成度高、電路簡(jiǎn)單、功能強(qiáng)、性能可靠、成本低等特點(diǎn)。對(duì)我們的生活特別有幫助 。
在這次設(shè)計(jì)中我也學(xué)到了很多東西主要,原來在課堂上學(xué)習(xí)的單片機(jī)知識(shí)都是理論,從沒有實(shí)踐過,這次設(shè)計(jì)就讓我的理論知識(shí)應(yīng)用到了實(shí)踐中。經(jīng)過近這一段時(shí)間的努力,從拿到題目,到后來查找資料,理論學(xué)習(xí),焊接電路板,實(shí)驗(yàn)編程調(diào)試,這一切都使我的理論知識(shí)和動(dòng)手能力有了很大的提高。了解了單片機(jī)的硬件結(jié)構(gòu)和軟件編程方法,對(duì)單片機(jī)的工作方式有了很大的認(rèn)知。同時(shí),對(duì)一些外圍設(shè)備比如傳感器、液晶屏、鍵盤、蜂鳴器等有了一定的了解。
本系統(tǒng)具有較強(qiáng)的實(shí)用性,具體方面有:
(1)我對(duì)DHT11與DS18B20及一些水銀溫濕度測(cè)量器的測(cè)量數(shù)據(jù)進(jìn)行了比較,驗(yàn)證了DHT11測(cè)量數(shù)據(jù)的準(zhǔn)確性和穩(wěn)定性。低廉的價(jià)格、小巧的體積、準(zhǔn)確穩(wěn)定的測(cè)量數(shù)據(jù)、簡(jiǎn)單的單總線控制方式、簡(jiǎn)潔的電路連接,這些將使DHT11擁有良好的應(yīng)用前景;
(2)LCD1602液晶具有顯示質(zhì)量高、體積小、功耗低等優(yōu)點(diǎn),在以后會(huì)得到更廣泛的應(yīng)用。
附錄1 硬件原理圖
附錄2 PCB圖
附錄3元件布置圖
源程序