版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
緒論設(shè)計背景及其意義溫度指冷熱程度。在顯微鏡下,這是物體分子熱運動的強度。在整個銀河系里,有溫度的地方是隨處存在的,不可能存在沒有溫度的地方。無論是在美麗的地球上,或是在安靜的月球上,或在烈日下,溫濕度都有不同于空間位置的差異。濕度指大氣干燥的程度。如果固定的體積空氣中水蒸氣較少,空氣將變干;如果空氣中的水蒸汽越多,空氣就越潮濕。濕度其實就是表示空氣干燥和潮濕的程度。在這個意義上,可以表示濕度的物理量有絕對濕度、相對濕度和比較濕度等。絕對濕度是指在一定體積的空氣中所含有的水蒸氣的質(zhì)量,其單位是克/立方米。相對濕度則是絕對濕度與最高濕度之間的比,S值表明水汽飽和度有多高。溫、濕度的測量是現(xiàn)代測量技術(shù)的重要組成部分,不僅能夠保證所生產(chǎn)的商品質(zhì)量,提高商品產(chǎn)量,而且在資源利用的有效性和生產(chǎn)的安全性方面都有著非常重要的作用。因此,能夠夠迅速、準(zhǔn)確的測量溫濕度的技術(shù)和裝置受到了各國的關(guān)注。隨著信息產(chǎn)業(yè)的發(fā)展和工業(yè)化進(jìn)程的不斷推進(jìn),溫度和濕度不僅直接或間接地影響人類基本生活條件,而且在農(nóng)業(yè)生產(chǎn)、生物供應(yīng)、醫(yī)療衛(wèi)生、科學(xué)研究及國防和建設(shè)等供應(yīng)鏈方面都有直接或間接的影響。鑒于上述情況,實現(xiàn)準(zhǔn)確可靠的溫度和濕度的測量尤為重要。現(xiàn)在幾年來,利用智能化數(shù)字式的溫濕度傳感器和在線測量溫度和濕度信息已成為溫度、濕度測量技術(shù)的發(fā)展趨勢。幾年來中國經(jīng)濟的不斷發(fā)展,人們生活水平質(zhì)量不斷的提高,溫濕度測控測量在現(xiàn)代生活及生產(chǎn)中占有至關(guān)重要的位置。目前,以單片機為核心的智能溫濕度測量儀檢測溫濕度是一種簡單,高效的手段。對于該設(shè)備的設(shè)計,核心問題是如何使其具備自動檢測并顯示溫度、濕度的能力以及實現(xiàn)高溫報警功能。由于溫度、濕度不是兩個獨立的變量,兩者之間一般又不是線性關(guān)系,要使一個設(shè)備達(dá)到溫、濕度的共同檢測并不是件簡單的事。該設(shè)計直接針對房間溫濕度檢測,具有非常重要的實際意義和應(yīng)用價值。本設(shè)計以一般房間的溫、濕度為檢測對象進(jìn)行研究。根據(jù)一般的家庭溫、濕度條件選擇溫、濕度傳感器,進(jìn)行溫、濕度檢測電路的設(shè)計,進(jìn)行溫、濕度顯示部分和高溫報警部分的設(shè)計。對信號進(jìn)行采集送入單片機處理,用LCD1602顯示器實現(xiàn)對溫、濕度的顯示,用蜂鳴器進(jìn)行測量儀器的超限報警功能。STC89C52作為系統(tǒng)的核心控制芯片,使用DHT11傳感器進(jìn)行對室內(nèi)外環(huán)境的溫度和濕度的采樣,然后將采集到的信號送到單片機進(jìn)行讀取和處理。將讀取到的傳感器溫度和濕度信號送到LCD1602進(jìn)行顯示。按下按鍵可以設(shè)定溫度和濕度的報警范圍,若超過報警范圍上限或下限,蜂鳴器呼叫,相應(yīng)的指示燈點亮。國內(nèi)外溫濕度測量的研究狀況溫濕度測量技術(shù)始于1970年,并已被研究的更早。它使用模擬儀器收集現(xiàn)場的信息,然后對命令、記錄和控制它。集散分布式控制系統(tǒng)出現(xiàn)于八十年代后期。目前,計算機數(shù)據(jù)采集控制系統(tǒng)的多因素集成控制系統(tǒng)正在開發(fā)和研制中。目前,溫濕度測控技術(shù)在世界范圍內(nèi)迅速發(fā)展?,F(xiàn)在,自動化的基礎(chǔ)非常大,研究的方向正走向自動化和無人化。對于國內(nèi)外對溫濕度測量的研究,從復(fù)雜模擬量測量到更成熟的數(shù)字智能化測量,隨著科學(xué)技術(shù)的進(jìn)步,對于溫度和濕度的研究,測量系統(tǒng)正朝著智能化、小型化、低功耗的方向發(fā)展。在開發(fā)和研制的過程中,基于微型計算機的溫濕度測控系統(tǒng)具有體積小、操作簡單、測量范圍廣、性能穩(wěn)定、測量精度高等優(yōu)點,它在生活和生產(chǎn)中發(fā)揮著重要的作用。研究溫度和濕度的測量和控制技術(shù)在中國起步較晚,始于上世紀(jì)80年代的基礎(chǔ)上,在吸收發(fā)達(dá)國家的溫、濕度測量控制技術(shù)的基礎(chǔ)上,中國工程師們掌握了室內(nèi)微型計算機溫濕度控制技術(shù),僅限于對環(huán)境的溫度、濕度的單一環(huán)境因素的控制。在中國,整體而言,計算機應(yīng)用中的溫濕度測控系統(tǒng)在正處消化吸收、簡單應(yīng)用階段和綜合性應(yīng)用的相變和發(fā)展階段。在技術(shù)上,有大量的單參數(shù)單電路系統(tǒng)由微型計算機控制,沒有實際的多參數(shù)集成控制系統(tǒng)。與發(fā)達(dá)國家相比,差距較大。當(dāng)前的溫度和濕度的測量和控制在中國仍然是遠(yuǎn)離工廠化的程度。生產(chǎn)實踐中仍存在許多問題。比如生產(chǎn)出的設(shè)備裝置承重能力差,能配套的裝備極少,而且還有產(chǎn)業(yè)化程度低,環(huán)境控制水平落后,軟硬件資源共享、可靠性差等缺點。傳感器技術(shù)未來將向以下幾個方面發(fā)展:(1)高精確度。為了提高測量和控制的精度,傳感器的精度盡必須可能高。(2)小型化。很多測試場合要求傳感器具有盡可能小的尺寸。(3)多功能集成傳感器的研究是傳感器發(fā)展的一個重要方向,有兩種樣式類型。一種是在同一芯片上集成傳感器、放大器和溫度補償電路等,減小了體積,提高了抗干擾能力。另一種則是集成多個功能傳感器或多個傳感器,在同一種芯片具有相同的功能。例如溫濕度傳感器,芯片可以同時測量溫度和濕度。(4)數(shù)字化。想能使傳感器和計算機直接連接接口,數(shù)字傳感器的研究顯得尤為重要。(5)智能化。這種傳感器比較復(fù)雜,一般是計算機與傳感器相結(jié)合。它具有測量、信號處理、關(guān)聯(lián)和控制等多種功能,關(guān)鍵是要有邏輯功能,傳統(tǒng)的傳感器是無與倫比的。智能傳感器將會成為未來傳感器技術(shù)的一顆指明星。研究方案我的設(shè)計思想是將電路分為溫濕度采集模塊、中央處理器單元、顯示模塊和報警模塊。以STC89C52單片機為核心控制電路,對DHT11采集的溫度和濕度進(jìn)行轉(zhuǎn)換和1602液晶屏的顯示進(jìn)行控制。軟件實現(xiàn)了具體的顯示內(nèi)容和方式。溫度和濕度的采樣通過DHT11傳感器實現(xiàn),LCD160可以顯示溫度和濕度,是插針樣式的,它們都可以與單片機直接相連接。因此,不需要人工焊接和復(fù)雜工藝。具體步驟是:根據(jù)原理圖進(jìn)行組裝連接。由DHT11傳感器采集室內(nèi)外環(huán)境的溫、濕度值,并將處理和比較后的信息傳到LCD屏幕。通過4個按鍵按鈕設(shè)置溫度和濕度的限值。在確定了設(shè)計思想后,我開始動手設(shè)計硬件電路。主控模塊用STC89C52芯片和PCB板。能使單片機周圍零器件正常運行,達(dá)到了預(yù)期設(shè)想的功能。測量溫度和濕度的傳感器不再是分開使用,相反,DHT11一體式傳感器被用來測量溫度和濕度。這樣設(shè)計不僅簡化了系統(tǒng)設(shè)計過程,提高了穩(wěn)定性;另一方面價格低廉,可以降低設(shè)計的成本。在前人經(jīng)驗的基礎(chǔ)上,利用LCD實現(xiàn)了系統(tǒng)的設(shè)計。主要內(nèi)容如下:(1)繼續(xù)看書加強單片機的知識。(2)查資料學(xué)習(xí)智能溫濕度檢測系統(tǒng)方面的知識,寫出硬件電路設(shè)計方案(3)畫出原理圖(4)進(jìn)行電路板的焊接(5)編寫單片機控制軟件(6)完成系統(tǒng)整體功能調(diào)試本文包括硬件電路和系統(tǒng)軟件的設(shè)計。硬件電路有電源電路、主控制器和顯示電路及其他零器間組成。單片機是溫濕度信號處理的核心部分。設(shè)想結(jié)果1.人機交互人性化??梢愿鶕?jù)我們的需求控制界限溫度值及濕度值。2.能實時、準(zhǔn)確的通過界面顯示采集到底溫、濕度值。3.通過采集信號,準(zhǔn)確的判斷標(biāo)準(zhǔn)值與實際值的不同,實現(xiàn)溫濕度顯示和蜂鳴器報警。4.可以改變以往手工測量溫濕度情況,徹底實現(xiàn)溫濕度的智能測量。提高了系統(tǒng)的方便性和實用性。本文的主要的研究內(nèi)容及論文結(jié)構(gòu)安排環(huán)境溫度濕度測量儀是生活乃至生產(chǎn)中不可或缺的重要儀器生活中,人們用檢測儀可以精確的了解到當(dāng)前空氣的溫濕度,采用適當(dāng)?shù)姆椒ǜ淖儺?dāng)前的環(huán)境濕度與溫度,使人體舒適,不易生病(例如:長期生活在較潮濕的地方易得風(fēng)濕病等)。在工業(yè)生產(chǎn)中,更是體現(xiàn)了檢測儀的重要性,工廠的倉庫是一個工廠的核心,倉庫貨物繁多,需要做到防潮、防霉、防腐、防爆,才能保障儲備物資的使用壽命和工作可靠性,只有在適當(dāng)?shù)臏貪穸认?才能做到對貨物的長期儲存,如若溫濕度不當(dāng),就會造成一系列的損失甚至災(zāi)難(例如:貨物的堆壓可能導(dǎo)致內(nèi)部溫度過高引起自燃)。故環(huán)境溫濕度測量儀是科學(xué)發(fā)展道路上不可少的儀器。此次課程設(shè)計主要通過單片機與溫濕度傳感器的硬件連接,以及對芯片內(nèi)程序的燒寫進(jìn)行實現(xiàn)的,其中重點要使傳感器所測量到的直面表達(dá)給人們看,能給人一目了然。論文結(jié)構(gòu)安排:第1章緒論,介紹了溫濕度對人們生活、生產(chǎn)和工作的影響,傳統(tǒng)的溫濕度測量方法的不足,本文設(shè)計的溫濕度測量儀的目的和意義,以及溫濕度測量的發(fā)展?fàn)顩r以及存在的問題。第2章為主要是總體設(shè)計方案的選擇和硬件選型的對比論證選擇,講解了設(shè)計所需要的各種硬件裝置的優(yōu)缺點,然后進(jìn)行了各種零器件的性能、價格等方面的對比,選擇最終設(shè)計所需硬件。第3章溫濕度測量儀硬件設(shè)計主要介紹硬件電路的組成及使用方法以及溫濕度測量儀的硬件設(shè)計,介紹了各部分電路的原理及設(shè)計電路等。第4章溫濕度測量儀軟件設(shè)計主要介紹軟件設(shè)計、軟件編程,介紹了軟件編程的主流程圖以及相關(guān)的程序設(shè)計信息。第5章主要介紹系統(tǒng)調(diào)試。內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)總體方案設(shè)計概述本設(shè)計以一般房間及室外的溫、濕度為檢測對象進(jìn)行研究。根據(jù)一般的環(huán)境溫、濕度條件選擇溫、濕度傳感器,進(jìn)行溫、濕度測量電路的設(shè)計,設(shè)計了溫濕度顯示部分和超過限值報警部分。將采集到的信號送入單片機進(jìn)行處理,LCD顯示器進(jìn)行對溫度和濕度的顯示,用蜂鳴器實現(xiàn)測量儀器的高低溫、以及超過濕度范圍的報警功能。方案選擇與論證單片機的選擇與論證方案一:硬件采用STC89C52單片機對系統(tǒng)進(jìn)行控制。該芯片作為核心,操作計算功能較強,在使用下載程序時,可以方便靈活地互相調(diào)用,性能方面也比較穩(wěn)定。實際應(yīng)用性,價格優(yōu)惠性使得其深受設(shè)計者們的喜愛??膳cMCS-51系列的微型計算機完全兼容,并可通過串口下載。在上述講解中,利用STC89C52芯片實現(xiàn)了系統(tǒng)功能的更方便、更靈活地控制,符合設(shè)計的要求。其實物如圖2.1所示。圖2.1STC89C52RC芯片方案二:采用可編程邏輯器件CPLD作為控制器,CPLD因為具有強大的資源,方便靈活的使用及易于擴展的功能,可以實現(xiàn)高效率。但是它的邏輯電路復(fù)雜,相比較而言成本和功耗較高。CPLD可以應(yīng)對不同復(fù)雜的功能和場面,它輸入輸出口是并行的,可以提高處理速度,適用于大型控制系統(tǒng)的控制核心。不過,我的設(shè)計不需要復(fù)雜的邏輯功能和過快發(fā)數(shù)據(jù)處理速度,考慮到實際操作和價格,放棄此方案。其實物如圖2.2所示。圖2.2CPLD芯片方案三:MCU芯片控制的MSP430微控制器,來自于美國TI公司。它是一種16位超低功耗的混合信號處理器(混合信號處理器),主要用于實際應(yīng)用。該芯片集多個模擬電路、數(shù)字電路和微處理器于一體,處理信號的方式是“單片機”混合信號處理。MSP430F149是有精簡指令集和超低功耗的混合型16位微型計算機。它不僅可靠性高,而且價格便宜和操作方便,最主要是體積小功率消耗低。比較適合與各種儀器儀表、智能管理和特種設(shè)備的過程控制。雖然能提高控制質(zhì)量和經(jīng)濟效益,但是它的成本過于高。所以我們不用此方案。其實物如圖2.3所示。圖2.3MSP430芯片基于上述三種單片機都能夠滿足這次設(shè)計的需要,不過STC89C52芯片抗干擾能力強,體積小巧電路設(shè)計簡單,并且價格相對比較便宜。所以選擇了STC89C52芯片作為這次設(shè)計的主控芯片。顯示模塊的選擇與論證方案一:LED數(shù)碼管顯示器件。該顯示器件通電后顯示的亮度很高,價格不算貴,其體積和重量小,適合顯示數(shù)字字符。動態(tài)掃描法與微型計算機連接時,雖然占用了少量的單片機端口,但電路過于簡單,性價比也相對較低。其實物如圖2.4所示。圖2.4LED數(shù)碼管方案二:點陣式數(shù)碼管顯示器件。它是由八行八列一共64個發(fā)光二極管組成的,比較適合顯示文字和圖形,花樣和類型很多。如果用它來顯示數(shù)字就顯得太浪費,且價格也相對較高,所以在此也不用此種作為顯示。
其實物如圖2.5所示。圖2.5點陣式數(shù)碼管方案三:LCD液晶顯示屏幕。它是插在單片機上驅(qū)動,通電后可以顯示大量的數(shù)據(jù)、文字和圖形。在它的屏幕上字符可以顯示的數(shù)字位數(shù)更多,而且圖形清晰多樣、美觀大方,同時液晶顯示程序簡單,價格便宜,故本設(shè)計采用此種方案。其實物如圖2.6所示。圖2.5LCD液晶屏溫濕度傳感器的選擇與論證方案一:SHT11傳感器,采用瑞士Sensirion公司基于COMSENSTM技術(shù)的新型溫濕度傳感器,其缺點是運行條件強度延長會加速芯片的老化。其實物如圖2.6所示。圖2.6SHT11傳感器方案二:DS18B20數(shù)字溫度傳感器。它來自于美國達(dá)拉斯公司,可以將被測的溫度轉(zhuǎn)化為串行數(shù)字信號,然后送到微型計算機進(jìn)行處理。通過我們簡單編程,可以實現(xiàn)9位的溫度讀數(shù)。多個DS18B20可以連接到多條地址線和微型計算機實現(xiàn)通信。每一個DS18B20出廠的時候都有唯一序列號,并且存入其內(nèi)存中。所以,CPU可以識別通過簡單的通信協(xié)議,節(jié)約了大量的引線和復(fù)雜的邏輯電路。其實物如圖2.7所示。圖2.7DS18B20傳感器方案三:DHT11數(shù)字溫濕度傳感器。這種傳感器具有已調(diào)試好的數(shù)字信號,是一種溫濕度復(fù)合傳感器。采用特殊的數(shù)字模塊采集技術(shù)以及溫度濕度傳感技術(shù),保證產(chǎn)品的高可靠性和長期穩(wěn)定性。該傳感器是由電阻式感濕元件和NTC測溫元件組成,連接到一個高性能的8位微控制器。所以,它不僅質(zhì)量好,而且響應(yīng)速度快、抗干擾能力強,性價比高。經(jīng)過比較,設(shè)計采用DHT11數(shù)字溫濕度傳感器。其實物如圖2.8所示。圖2.8DHT11傳感器最終方案設(shè)計的選擇根據(jù)以上方案比較,最終選擇的設(shè)計方案為:STC89C52作為主控芯片,使用DHT11傳感器采集和測量環(huán)境的溫度和濕度,LCD1602液晶屏進(jìn)行溫濕度的顯示。通過LED燈燈光報警和蜂鳴器鳴叫報警。見圖2.9。本文設(shè)計的主要零器件有:DHT11,STC89C52,LCD顯示器,LED燈和蜂鳴器等。圖2.9溫濕度測量儀總體設(shè)計框圖該設(shè)計有三個組成部分,依次是:信號采集、信號分析和信號處理。(1)信號采集,由DHT11組成;(2)信號分析,由STC89C52系統(tǒng)實現(xiàn);(3)信號顯示,通過LCD顯示器以及串行口LED燈和報警電路完成。系統(tǒng)的主要功能本設(shè)計由STC89C52芯片作為主芯片,使用DHT11溫濕度傳感器電路對室內(nèi)外環(huán)境的溫度和濕度進(jìn)行采集,用按鍵電路對溫度和濕度的上下限范圍調(diào)置和復(fù)位,用LCD1602液晶顯示電路進(jìn)行溫度和濕度的人性化顯示,采LED指示燈電路指示報警以及蜂鳴器報警電路予以滴滴報警提示聲音,還有5V的電源電路這幾部分組成?;?1單片機的溫濕度液晶顯示報警系統(tǒng)具有如下功能:(1)液晶實時顯示溫度和濕度值(溫度范圍0-50度,濕度范圍10%-95%)。(2)有4個按鈕,溫度和濕度的上限和下限(報警范圍)可由按鈕設(shè)定,可以做到斷電保存。(3)有4個指示燈,代表高溫、低溫、高濕度和低濕度。(4)超出設(shè)置的正常范圍,蜂鳴器報警,對應(yīng)的指示燈點亮。溫度低于下限報警燈:紫/藍(lán)色燈變亮。溫度超過上限報警燈:黃色燈變亮。濕度低于下限報警燈:綠色燈變亮。濕度超過上限報警燈:紅色燈變亮。器件清單本設(shè)計所采用的器件如表2.1表2.1器件清單元器件名稱單位英文名稱數(shù)量電阻10KR21按鍵BUTTOMS1,S2,S3,S44電源開關(guān)SW-DPDTSW1151單片機STC89C52U11溫濕度模塊溫濕度U21晶振11.0592MY11IC座40pin/12.54單排座3pin/12.54單排座16pin/1覆銅板//1固定柱//4普通USB線(小頭)//1焊錫//1溫濕度測量儀硬件電路設(shè)計STC89C52單片機核心系統(tǒng)電路設(shè)計STC89C52RC單片機是新一代功耗低、性能高、抗干擾能力強的新鮮CMOS八位單片機,具有8K字節(jié)系統(tǒng)可編程閃存,是ATMEL公司高密度不容易丟失性的存儲器技術(shù)制造的。STC89C52采用傳統(tǒng)的MCS-51內(nèi)核,但經(jīng)過多方面的改進(jìn),該芯片具有以往51單片機沒有的功能。在芯片上,智能8位CPU和系統(tǒng)可編程閃存可以為許多嵌入式的應(yīng)用控制系統(tǒng)給予高靈活性和高效性的解決方案。它具有以下標(biāo)準(zhǔn)功能:8k字節(jié)閃存,512字節(jié)RAM,32位I/O口線,看門狗定時器,內(nèi)置4KBEEPROM、MAX810復(fù)位電路,3種16位定時器/計數(shù)器,4個外部中斷,一個7向量4級中斷結(jié)構(gòu)(兼容傳統(tǒng)51的5向量2級中斷結(jié)構(gòu)),全雙工串行口。[1]STC89C52可簡化為0Hz靜態(tài)邏輯運算,支持兩種軟件省電模式。CPU在空閑模式下停止工作,但允許RAM、定時器/計數(shù)器、串行端口和中斷繼續(xù)工作。在不通電的情況下,可以保存RAM的內(nèi)存,振蕩器凍結(jié),到下一次中斷或硬件復(fù)位為止,微控制器所有工作停止運行。STC89C52主要特性STC89C52單片機主要特性如下:(1)8K字節(jié)程序存儲空間;(2)512字節(jié)數(shù)據(jù)存儲空間;(3)內(nèi)帶4K字節(jié)EEPROM存儲空間;(4)可直接使用串口下載。2、STC89C52主要參數(shù)STC89C52主要參數(shù)如下:(1)相當(dāng)于加強型8051單片機,能隨意選擇6個時鐘/機器周期和12個時鐘/機器周期,該指令代碼和以往的8051完全兼容;(2)工作電壓范圍:5.5V到3.3V(5VMCU)/3.8V到2.0V(3VMCU);(3)工作頻率范圍是0到40MHz,相當(dāng)于0到80MHz的普通8051,實際工作頻率可達(dá)到48MHz;(4)其用戶應(yīng)用程序的存儲空間有8K字節(jié);(5)內(nèi)部含有512字節(jié)的RAM;(6)I/O端口通常為32個端口;(7)ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用程序可編程);(8)EEPROM功能;(9)含有3個16位定時器/計數(shù)器:T0、T1、T2;(10)通用異步串行口用定時器軟件來完成;(11)外部中斷有四條路徑,就是下降沿中斷或低電平觸發(fā)電路;(12)工作溫度范圍:-40到+85℃(工業(yè)級)或0到75℃(商業(yè)級);(13)封裝的名稱是PDIP。3.STC89C52單片機相關(guān)引腳說明單片機引腳圖如圖3.2所示。圖3.2STC89C52單片機引腳圖(1)VCC:供電電壓。(2)GND:接地。(3)P3.0RXD(串行輸入口)(4)P3.1TXD(串行輸出口)(5)P3.2/INT0(外部中斷0)(6)P3.3/INT1(外部中斷1)(7)P3.4T0(記時器0外部輸入)(8)P3.5T1(記時器1外部輸入)(9)P3.6/WR(外部數(shù)據(jù)存儲器寫選通)(10)P3.7/RD(外部數(shù)據(jù)存儲器讀選通)(11)RST:復(fù)位輸入。(12)ALE/PROG:用于鎖存地址的狀態(tài)字節(jié)。(13)/PSEN:門控信號。(14)/EA/VPP:在閃速編程中,該引腳是12V編程電源(VPP)。(15)XTAL1:反向放大器輸入/內(nèi)部時鐘電路輸入。(16)XTAL2是來自反向振蕩器的輸出。4、STC89C52單片機最小系統(tǒng)由復(fù)位電路、時鐘電路和電源電路三部分組成。單片機最小系統(tǒng)原理圖如圖3.3所示。圖3.3單片機最小系統(tǒng)原理圖VCC/GND:兩個電源引腳。復(fù)位電路。在該系統(tǒng)中,上電復(fù)位按鈕接口通過手動復(fù)位收集兩個高端信號,這是一種非自動的按鈕重置。在系統(tǒng)從低到高電壓檢測后,該系統(tǒng)在電阻與接地之間形成一條路徑,然后自動地把高電平拉低。單片機由高電位降為低電位,就是給單片機進(jìn)行自動復(fù)位,即上電復(fù)位。時鐘電路的組成有晶振Y1、瓷片電容C1和C2。有控制芯片的數(shù)字電路正常工作是少不了TIME(時鐘)電路的,我們需要時鐘電路自動發(fā)出系統(tǒng)時間,讓控制芯片正常工作。給控制芯片正常工作的時鐘信號,一般把這種工作方式稱為“拍”,以至于讓整個控制系統(tǒng)能正常工作,由于要保證控制系統(tǒng)能正常工作,為了提高工作能力,我們經(jīng)常使11.0592MHZ晶振和30PF電容組合,通電后正常工作。JD1為單片機的下載接口。STC89C52主要功能如表3.1所示。表3.1STC89C52的主要功能特性主要功能特性兼容MCS51系統(tǒng)反復(fù)擦寫FlashROM32個雙向I/O口256x8bit內(nèi)部RAM3個定時/計數(shù)器中斷時鐘的頻率為0到24MHz2個串行中斷可編程UART串行通道2個外部中斷源共6個中斷源2個讀寫中斷口線3級加密位低功耗掉電模式功能設(shè)置為睡眠和喚醒2種5V電源電路設(shè)計本系統(tǒng)選擇5V直流電源作為總電源,為整個系統(tǒng)供電,電路簡單、穩(wěn)定。DC為電源的DC插座,LED為紅色LED燈,作為系統(tǒng)是否有點的指示燈,電阻R7起到限流作用,以防電流太大過熱把LED燈燒壞,起保護(hù)作用。當(dāng)按下開關(guān)按鈕時,紅燈亮了,此時,系統(tǒng)的電源為5V直流輸出。當(dāng)開關(guān)再次按下后,紅燈滅,此時系統(tǒng)電源無5V電源輸出。圖3-45V電源電路原理圖DHT11溫濕度傳感器電路設(shè)計DHT11數(shù)字溫濕度傳感器主要特性如下:(1)工作電壓:3.5V到5.5V
(2)工作電流:平均0.5mA
(3)濕度測量范圍:20到90%RH
(4)溫度測量范圍:0到50℃
(5)濕度分辨率:1%RH
8位
(6)溫度分辨率:1℃
8位
(7)采樣周期:1S
(8)單總線結(jié)構(gòu)
(9)與TTL兼容(5V)
DHT11傳感器使用單一總線數(shù)據(jù)格式。具體功能有:
(1)數(shù)據(jù)傳輸是40比特,高優(yōu)先級的先出。
(2)數(shù)據(jù)格式:8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)
(3)+8bit溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)
(4)在前四個字節(jié)中加上+8位校驗和以及校驗和數(shù)據(jù)。
DHT11性能參數(shù)表如表3.2表3.2性能參數(shù)表參數(shù)條件MinTypMax單位濕度分辨率111%RH8Bit重復(fù)性±1%RH精度25℃±4%RH0-50℃±5%RH互換性可完全互換量程范圍3090%RH2090%RH2080%RH響應(yīng)時間1/e(63%)25℃,1m/s空氣61015S遲滯±1%RH長期穩(wěn)定性典型值±1%RH/yr溫度分辨率111℃888Bit重復(fù)性±1℃精度±1±2℃量程范圍050℃響應(yīng)時間1/e(63%)6630S傳感器數(shù)據(jù)的輸出是未編碼二進(jìn)制數(shù)據(jù)。數(shù)據(jù)(濕度、溫度、整數(shù)、小數(shù))是分開處理的。假如從中讀出下列5字節(jié)數(shù)據(jù):根據(jù)以上數(shù)據(jù)可獲得到濕度和溫度的值:
BYTE
(濕度)=
BYTE4
.
BYTE3=45.0
(%RH)
BYTE
(溫度)=
BYTE2
.
BYTE1=28.0
(
℃)
Jiaoyan(驗)=
BYTE4+
BYTE3+
BYTE2+
BYTE1=73(=BYTE+BYTE)(檢查正確)
DHT11電路原理圖和實物如圖。圖3.5DHT11電路圖3.6DHT11實物圖LCD1602液晶顯示電路設(shè)計該設(shè)計使用LCD1602顯示。和其它顯示器件相比,不僅體積更小、功耗更低,而且增加驅(qū)動電路?,F(xiàn)在LCD是人們比較最常用和受歡迎的顯示器件,能顯示16x02即32個字符(16列2行)。LCD1602主要參數(shù)LCD1602主要技術(shù)參數(shù)如下:(1)顯示容量為16×2個字符;(2)芯片工作電壓為4.5~5.5V;(3)工作電流為2.0mA(5.0V);(4)模塊最佳工作電壓為5.0V;(5)字符尺寸為2.95×4.35(W×H)mm。2、LCD1602引腳說明標(biāo)準(zhǔn)的14腳,其引腳說明如下:(1)第1引腳:VSS為地電源。(2)第2引腳:VDD接5V正電源。(3)第3引腳:V0是對比調(diào)整端。(4)第4引腳:RS為寄存器選擇。(5)第5引腳:RW為讀寫信號。(6)第6引腳:E端子為使能端子。(7)第7到14引腳:八位雙向數(shù)據(jù)線。(8)第15~16引腳:空腳3、控制指令說明LCD1602內(nèi)部共有11條控制指令,如表3.3所示。表3.3控制命令表序號指令RSR/WD7D6D5D4D3D2D1D01清顯示00000000012光標(biāo)返回000000001*3置輸入模式00000001I/DS4顯示開/關(guān)控制0000001DCB5光標(biāo)或字符移位000001S/CR/L**6置功能00001DLNF**7置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址9讀忙標(biāo)志或地址01BF計數(shù)器地址10寫數(shù)到CGRA或DDRAM)10要寫的數(shù)據(jù)內(nèi)容11從CGRAM或DDRAM讀數(shù)11讀出的數(shù)據(jù)內(nèi)容指令1:清除顯示。指令2:光標(biāo)重置。指令3:顯示模式設(shè)置I/D和光標(biāo)。(4)指令4:顯示開關(guān)控制。(5)指令5:光標(biāo)或顯示移動S/C的文本。(6)指令6:DL為功能設(shè)置命令。(7)指令7:RAM是字符地址設(shè)置(8)指令8:DDRAM地址設(shè)置(9)指令9:讀忙信號和光標(biāo)地址BF。(10)指令10:寫進(jìn)數(shù)據(jù)指令11:讀取數(shù)據(jù)系統(tǒng)中的LCD1602顯示模塊。其具體電路原理圖如圖3.7所示。圖3.7LCD1602液晶顯示電路原理圖其實物圖如圖3.8所示。圖3.8LCD1602液晶實物圖按鍵電路設(shè)計在該系統(tǒng)中,按鍵按鈕作為系統(tǒng)的輸入,起到了人機交互的作用。默認(rèn)的情況下,微控制器的控制引腳為高電平,當(dāng)按鈕被按下后,微控制器的相關(guān)引腳變?yōu)榈碗娖?。進(jìn)而實現(xiàn)對系統(tǒng)的手動輸入。該原理圖如圖3.9所示。圖3.9按鍵按鈕電路圖LED信號指示燈電路設(shè)計LED是一種能將電轉(zhuǎn)化成光的半導(dǎo)體發(fā)光二極管。它和普通二極管一樣,內(nèi)部有一個PN結(jié)具有單向?qū)щ娦?。在實際電路中,電阻有限制電流,并保護(hù)LED燈的作用。只要單片機的控制引腳被拉下來,LED燈就會打開變亮,否則,LED燈不亮。其具體電路原理圖如圖3.10所示。圖3.10LED燈指示電路原理圖蜂鳴器報警電路設(shè)計蜂鳴器是一種集成的電子音響裝置,由直流電壓供電,在電子產(chǎn)品中得到廣泛應(yīng)用。系統(tǒng)采用三極管驅(qū)動的蜂鳴器報警模塊,若微型計算機所控制引腳是低功耗的,則報警鳴響。通過控制單片機管腳方波改變蜂鳴器工作模式。圖3.11蜂鳴器報警電路原理圖溫濕度測量儀軟件設(shè)計編程語言選擇我設(shè)計的這個個程序有點復(fù)雜,采用C語言編寫程序。與大多數(shù)以往的51的單片機相比,C語言比匯編語言有以下幾點長處:不需要理解處理器的指令集,不必理解存儲器的結(jié)構(gòu)。編譯器可以管理寄存器的分配方式和尋址方式,在編寫程序的時候不用考慮數(shù)據(jù)類型與存儲器地址。程序的可讀性高。其操作函數(shù)更符合人的思維。程序開發(fā)和調(diào)試時間短。C語言的庫文件比較豐富,提供了不少標(biāo)準(zhǔn)的例程??梢酝ㄟ^C語言實現(xiàn)模塊化編程技術(shù),使得編譯后的程序可以添加到新程序中。C語言具有很好的可移植性,很受多數(shù)人歡迎和使用。所有的目標(biāo)系統(tǒng),C語言編譯器基本都適用。與匯編語言相比,己完成的項目可以很容易的轉(zhuǎn)換應(yīng)用到其它的處理器或環(huán)境中。keil軟件設(shè)計思想KEIL軟件是單片機開發(fā)者廣泛使用的開發(fā)工具的,簡單的單片內(nèi)形都是使用這種開發(fā)軟件的,可以降低開發(fā)周期,從而減少很多成本,因此廣泛受到開發(fā)者的歡迎和使用。在使用匯編語言,然后用KEIL軟件開發(fā),實現(xiàn)更深刻的。KEIL軟件提供了一個豐富的使用環(huán)境和調(diào)用的子程序,在全體的打開窗口中。還有一個重要因素就是。我們多看看編程器是如何生存程序序言的,使得使用者可以體會到其中的樂趣的,感覺到此KEIL軟件會非常的好用的,越來越受到廣大使用者的歡迎的。其中追要由它大多數(shù)代碼都是集成的,調(diào)用很方便的,初學(xué)者也會感覺很好用的,起點水平不需要太高的。程序設(shè)計軟件流程圖主要采用KEIL軟件,程序采用C語言編寫。程序流程圖如圖4.3所示。圖4.3程序流程圖主程序的相關(guān)內(nèi)容一、程序的相關(guān)定義下面是我們測量室內(nèi)外環(huán)境溫度和濕度的程序相關(guān)定義。(1)定義頭文件和宏定義#include<reg52.h> //頭文件包含#include<intrins.h>#defineucharunsignedchar //以后unsignedchar就可以用uchar代替#defineuintunsignedint //以后unsignedint就可以用uint代替(2)管腳定義sbitBuzzer_P=P1^0;//蜂鳴器sbitDHT11_P=P1^1; //溫濕度傳感器DHT11數(shù)據(jù)接入sbitLcdRs_P=P1^2;//1602液晶的RS管腳sbitLcdRw_P=P1^3;//1602液晶的RW管腳sbitLcdEn_P=P1^4;//1602液晶的EN管腳sbitKeySet_P=P1^5; //“設(shè)置”按鍵的管腳sbitKeyDown_P=P1^6; //“減”按鍵的管腳sbitKeyUp_P=P1^7; //“加”按鍵的管腳sbitLedTL_P=P3^4; //溫度過低報警指示燈sbitLedTH_P=P3^5; //溫度過高報警指示燈sbitLedHL_P=P3^6; //濕度過低報警指示燈sbitLedHH_P=P3^7; //濕度過高報警指示燈二、main()函數(shù)Mian函數(shù)包括了LCD1602液晶的顯示和功能初始化以及溫度上下限值復(fù)制和報警功能。voidmain(){ uchari; LcdInit(); //液晶功能的初始化 LcdShowInit(); //液晶顯示的初始化 AlarmTL=EEPROM_Read(0x2000); //從EEPROM的0x2000這個地址讀取溫度的報警下限 AlarmTH=EEPROM_Read(0x2001); //從EEPROM的0x2001這個地址讀取溫度的報警上限 AlarmHL=EEPROM_Read(0x2002); //從EEPROM的0x2002這個地址讀取濕度的報警下限 AlarmHH=EEPROM_Read(0x2003); //從EEPROM的0x2003這個地址讀取濕度的報警上限 if((AlarmTL==0)||(AlarmTL>100)) //如果溫度下限報警值讀出來異常(等于0或大于100),則重新賦值 AlarmTL=20; if((AlarmTH==0)||(AlarmTH>100)) //如果溫度上限報警值讀出來異常(等于0或大于100),則重新賦值 AlarmTH=35; if((AlarmHL==0)||(AlarmHL>100)) //如果溫度下限報警值讀出來異常(等于0或大于100),則重新賦值 AlarmHL=40; if((AlarmHH==0)||(AlarmHH>100)) //如果溫度上限報警值讀出來異常(等于0或大于100),則重新賦值 AlarmHH=85; while(1) { ReadDhtData(); //檢測溫濕度數(shù)據(jù) LcdGotoXY(1,2); //定位到要顯示溫度的地方 LcdPrintNum(temp); //顯示溫度值 LcdGotoXY(1,11); //定位到要顯示濕度的地方 LcdPrintNum(humi); //顯示濕度值 AlarmJudge(); //判斷并根據(jù)需要報警 for(i=0;i<25;i++) { KeyScanf(); //按鍵掃描 DelayMs(20); //延時 } }}三、子程序(1)溫度和濕度讀取過程讀取DHT11單總線上的一個字節(jié)ucharDhtReadByte(void){ bitbit_i; ucharj; uchardat=0; for(j=0;j<8;j++) { while(!DHT11_P); //等待低電平結(jié)束 Delay10us(); //延時 Delay10us(); Delay10us(); if(DHT11_P==1) //判斷數(shù)據(jù)線是高電平還是低電平 { bit_i=1; while(DHT11_P); } else { bit_i=0; } dat<<=1; //將該位移位保存到dat變量中 dat|=bit_i; } return(dat);}讀取DHT11的一幀數(shù)據(jù),濕高、濕低(0)、溫高、溫低(0)、校驗碼voidReadDhtData(){ ucharHumiHig; //濕度高檢測值 ucharHumiLow; //濕度低檢測值 ucharTemHig; //溫度高檢測值 ucharTemLow; //溫度低檢測值 ucharcheck; //校驗字節(jié) DHT11_P=0; //主機拉低 DelayMs(20); //保持20毫秒 DHT11_P=1; //DATA總線由上拉電阻拉高 Delay10us(); //延時等待30us Delay10us(); Delay10us(); while(!DHT11_P); //等待DHT的低電平結(jié)束 while(DHT11_P); //等待DHT的高電平結(jié)束 //進(jìn)入數(shù)據(jù)接收狀態(tài) HumiHig=DhtReadByte(); //濕度高8位 HumiLow=DhtReadByte(); //濕度低8為,總為0 TemHig=DhtReadByte(); //溫度高8位 TemLow=DhtReadByte(); //溫度低8為,總為0 check=DhtReadByte(); //8位校驗碼,其值等于讀出的四個字節(jié)相加之和的低8位 DHT11_P=1; //拉高總線 if(check==HumiHig+HumiLow+TemHig+TemLow) //如果收到的數(shù)據(jù)無誤 { temp=TemHig; //將溫度的檢測結(jié)果賦值給全局變量temp humi=HumiHig; //將濕度的檢測結(jié)果賦值給全局變量humi }}(2)蜂鳴器報警功能實現(xiàn)if((LedHH_P==0)||(LedHL_P==0)||(LedTH_P==0)||(LedTL_P==0)) //蜂鳴器判斷,只要至少1個報警燈亮,蜂鳴器就報警 { for(i=0;i<3;i++) { Buzzer_P=0; DelayMs(100); Buzzer_P=1; DelayMs(100); } }(3)按鍵功能設(shè)置按鍵掃描,用于設(shè)置溫濕度報警范圍voidKeyScanf(){ if(KeySet_P==0) //判斷設(shè)置按鍵是否被按下 { /*將液晶顯示改為設(shè)置頁面的/ LcdWriteCmd(0x01); //設(shè)置界面的顯示框架 LcdGotoXY(0,0); LcdPrintStr("Temp:-"); LcdGotoXY(1,0); LcdPrintStr("Humi:-"); LcdGotoXY(0,6); //在液晶上填充溫度的下限值 LcdPrintNum(AlarmTL); LcdGotoXY(0,9); //在液晶上填充溫度的上限值 LcdPrintNum(AlarmTH); LcdGotoXY(1,6); //在液晶上填充濕度的下限值 LcdPrintNum(AlarmHL); LcdGotoXY(1,9); //在液晶上填充濕度的上限值 LcdPrintNum(AlarmHH); LcdGotoXY(0,7); //光標(biāo)定位到第0行第7列 LcdWriteCmd(0x0F); //光標(biāo)閃爍 DelayMs(10); //去除按鍵按下的抖動 while(!KeySet_P); //等待按鍵釋放 DelayMs(10); //去除按鍵松開的抖動系統(tǒng)調(diào)試電路焊接手工焊接是常用原始的焊接方法,目前大量工廠焊接的生產(chǎn)基本上不采用原始方法了,但是普通元器件的修理、系統(tǒng)測試中經(jīng)常使用原始的手工焊接。重要的是如焊接本質(zhì)上出現(xiàn)問題,則會影響到整個控制系統(tǒng)的,可以這么說,焊接的會導(dǎo)致這個控制系統(tǒng)可不可以用的。手工焊接主要有如下四步組成的:第一步開始焊接:需要把需要焊接的地方打掃干凈,主要去處油跡和灰塵,然后把需要焊接的元器件的兩個角向一定的方向掰一掰,注意不能把元器件的腳相交在一起了,這樣會影響焊接的。接下來讓電烙鐵頭碰到需要焊接的元器件腳下,放上焊錫絲。重要的是要注意,鐵頭不能碰到其它元器件的腳,否則兩個元器件就焊接在一起了。第二步給焊接升溫:當(dāng)在完成第一步以后,接下來就是加熱焊錫絲了,主要是將燒熱的電烙鐵放在器件管腳旁邊,慢慢融化焊錫絲,需要注意電洛鐵的溫度和加熱時間,若時間過長,很有可能焊壞面包板焊盤的,一般建議電洛鐵溫度調(diào)整在400。C左右,加熱2秒鐘左右,例外也要根據(jù)器件種類作出具體區(qū)別的。在焊接過程中,當(dāng)需要把焊接好的元器件卸下來,則也需要給焊接處進(jìn)行加熱的,主要操作是首先在焊接處補好焊錫絲,使焊點是圓潤的,然后用電洛鐵在焊接處進(jìn)行加熱,在加熱的過程中就可以直接把元器件卸下來了,此時一定要主要時間,要不然也會損壞焊盤的第三部清理焊接面:當(dāng)在完成第二步時,有的時候會觀察到焊接的不完美或者擔(dān)心出現(xiàn)虛焊情況,這時候需要進(jìn)行修改的。主要是兩種情況的,第一種是焊錫不夠,焊接點不圓潤,這時需要給焊接處補焊錫,此時需要注意的是焊錫量不能補多,要不然容易連接到其它期間的引腳的。第二種是焊錫過多,這時候可以用電洛鐵放在焊接處來回的滑動,會把多余的焊錫帶走的,若不行,只能使用吸錫器了。第四部檢查焊點:當(dāng)完成以上三步了,最后就需要整體觀察了,主要是觀看焊接點是不是圓滿、亮度好、緊固,有沒有與其它管腳相連在一起了。系統(tǒng)調(diào)試整體系統(tǒng)上電調(diào)試前,大概觀察下焊接的系統(tǒng)還存在問題,例如還有很顯眼的斷裂,正負(fù)極接反以及相連、虛焊、等問題,然后用萬用表檢測一下,電源正負(fù)極之間是否短路等嚴(yán)重的電源問題,最終保證系統(tǒng)沒有問題。系統(tǒng)程序調(diào)試(1)打開KEIL4軟件,創(chuàng)建工程:用鼠標(biāo)點菜單欄中的“工程”,用鍵盤輸入新建工程名,并保存;然后器件選擇“Atmel”目錄下的“AT89C52”。(2)新建用戶源文件:在新建的空白文本中編寫程序源代碼,編碼完成保存文件并文件拓展名“***.c”,新文件創(chuàng)建完成。(3)程序編譯和調(diào)試:單擊編譯按鈕,系統(tǒng)會對文件進(jìn)行運行,在輸出窗口中可看到提示信息,如下圖中有一個error,按提示找出錯誤并改正,一直改正到無錯誤提示才行。圖5.1無錯誤提示程序編譯無錯誤后,進(jìn)入程序調(diào)試狀態(tài),可查看單片機資源狀態(tài),進(jìn)行斷點等方式調(diào)試。硬件測試最后一步就是硬件整體測試了,主要運用萬用表、直流電源和示波器對焊接好的板子進(jìn)行整體調(diào)試,主要檢查每一個器件是不是都正常工作了,主要分為兩個環(huán)節(jié)動態(tài)調(diào)試和靜態(tài)調(diào)試。其中靜態(tài)調(diào)試主要分為以下四種:1.肉眼觀察。主要觀看焊接點是否飽滿,以及相連器件之間是否相連或者器件管腳沒有焊接好,出現(xiàn)短路現(xiàn)象。2.使用萬用表調(diào)試。首先查看電源是否短路,然后測量管腳是否連接正確,有沒有接線錯誤。3.節(jié)通電源檢查。在完成以上兩步?jīng)]有問題后,接下來就可以接通電源了,上電以后觀看每個器件是否正常工作,然后在逐一測試功能。4.綜合檢查測試。這種測試方法只適合單片機開發(fā)板開發(fā)的系統(tǒng)才能使用這種方法,本文不適宜用這種方法測試。動態(tài)調(diào)試。動態(tài)調(diào)試主要是靜態(tài)調(diào)試沒有任何問題,做最后一步檢查,就是每個器件能否正常工作,能否滿足我系統(tǒng)開發(fā)的功能,防止器件內(nèi)部損壞,影響系統(tǒng)性能。系統(tǒng)功能測試經(jīng)過測算,系統(tǒng)測試正常,如圖5.2所示。圖5.2系統(tǒng)測試圖結(jié)果分析本設(shè)計是一種基于單片機的溫濕度監(jiān)測報警系統(tǒng)。DHT11用于檢測室內(nèi)外環(huán)境中的溫度和濕度,并由微控制器處理。通過LCD1602顯示器實時檢測和顯示溫度和濕度??梢栽O(shè)定溫度和濕度的上限。當(dāng)采集到底溫度和濕度值超過已經(jīng)設(shè)定好的值時,自動報警。若溫度和濕度不超出已設(shè)定好多范圍,蜂鳴器報警會自動解除??偨Y(jié)我的設(shè)計的研究工作,主要做了幾點比較突出的工作,如下:1.掌握LCD1602的使用,知道并了解LCD1602顯獨特的優(yōu)勢。2.DHT11數(shù)字溫濕度傳感器。它能一起測量濕度和溫度,比較方便好用。3.自己學(xué)會用VISIO軟件并在李文濤老師的指導(dǎo)下畫處了程序流程圖,還學(xué)會用AD畫出了硬件電路圖。4.在李老師的悉心教導(dǎo)下,不斷調(diào)試和修改各方面的不足,包括軟件編程還有硬件調(diào)試各方面。存在缺陷:使用DHT11其本身的精度不是太高的,運行慢。第一次制作PCB制版也不完善,有的孔太小,有的孔太大,不方便元件的安裝,下次一定注意,多學(xué)學(xué)這方面的知識??偨Y(jié)通過這次畢業(yè)設(shè)計,我學(xué)會了好多東西,雖然一開始比較迷茫,不知道該如何下手,完全麻爪了。不過在我的恩師李文濤教授的幫助和指導(dǎo)下,我開始一步一步完成我的畢業(yè)設(shè)計。我的題目是基于單片機的環(huán)境溫濕度測量儀設(shè)計,雖然題目簡單但是對于我的水平來說還是有點難度的。接下來按照李老師的指導(dǎo),我開始去圖書館查閱相關(guān)的參考文獻(xiàn)和資料,了解測量技術(shù)在國內(nèi)外的發(fā)展現(xiàn)狀以及的它的意義,還有在生活生產(chǎn)的運用,發(fā)現(xiàn)我的這個設(shè)計意義重大,大到國家部隊武器方面的小到我們平時在家生活,都離不開溫度和濕度的測量。知道并了解后我開始著手第二步,確定自己的總體設(shè)計方案,在之前也從網(wǎng)上看了看以往學(xué)長怎么做到,我是否能改進(jìn)一些。然后從網(wǎng)上了解測量溫濕度的傳感器有哪些,還有我做硬件設(shè)計需要哪些元器件,并從市場上的價格和性能等方面進(jìn)行了比較論證,確定了我需要的元器件和硬件設(shè)計方案。我用AD軟件和VISIO軟件在李老師的指導(dǎo)下畫出了硬件電路原理圖、系統(tǒng)方框圖和程序流程圖。在從網(wǎng)上購買的元器件回來后我開始對照電路圖焊接我的板子,在老師同學(xué)的幫助下我的硬件實物做出來了。然后在我虛心學(xué)習(xí)和請教下我的程序軟件設(shè)計也完成了,到了這一步我的畢業(yè)設(shè)計也基本完成。我非常感謝我的老師和同學(xué)們,同時我也學(xué)會了好多實用的知識和技巧,這是以往課堂上學(xué)不到的。在這5個月里,我從一開始的迷茫和擔(dān)心到現(xiàn)在能把我的設(shè)計做出來,我非常感謝李文濤老師對我的知道和同學(xué)們的幫助。功夫不負(fù)有心人,只要你肯用心,哪怕你不會了,只要你有心就一定能完成并做好,不管是畢業(yè)設(shè)計也好還是以后的工作生活上都是一樣的。雖然畢業(yè)設(shè)計做出來了,但我還是有好多不懂的地方,但是我從這次設(shè)計上學(xué)到了遇到問題和困難時,勇敢去面對并分析和想方設(shè)法去解決,不要動不動就放棄,不試試怎么知道不行,最終總會把問題和困難解決的。這次設(shè)計不僅讓我明白了很多道理,虛心請教別人不可恥,怕的是你不懂裝懂,這也是我在這次設(shè)計的最大收獲,不管是在即將面臨的工作環(huán)境還是以后的生活上都是很重要的??傮w來說,經(jīng)過這次設(shè)計,我受益頗多,也得到了很多經(jīng)驗。學(xué)習(xí)了很多東西,比如單片機,溫濕度傳感器,這些以前雖然學(xué)過但都不是很扎實,但通過本次的畢業(yè)設(shè)計,使我進(jìn)一步系統(tǒng)的學(xué)習(xí)了這些知識。只有自己動手實實在在的做了,才能學(xué)到東西并了解自己哪方面的不足和真實的水平,去改進(jìn)彌補這些不足,才能更進(jìn)一步。我會好好明確以后的目標(biāo)努力去實現(xiàn)它,我相信自己。致謝我的畢業(yè)設(shè)計說明書即將完成了,我心里很激動但更多的是感恩。在這里我首先是對我的導(dǎo)師也是恩師李文濤教授鞠躬,說聲;這段日子里謝謝您了,您辛苦了。我的整個畢業(yè)從去年開始選題到最后的論文修改都是在李老師的悉心指導(dǎo)和幫助下完成的,非常感謝她。再此,我還要感謝我大學(xué)四年來教我專業(yè)知識的其他老師,沒有他們的指導(dǎo)也沒有我的今天,我的專業(yè)老師們對我們都很用心和照顧。陪伴我大學(xué)四年的同學(xué)們對我的照顧和幫助,不管是學(xué)習(xí)上、生活上還是感情上謝謝你們了!馬上就要畢業(yè)了,在這里我發(fā)自內(nèi)心的感謝我的母校,內(nèi)蒙古科技大學(xué)!最后,向給我批閱論文的李文濤教授,恩師師致以最深切的敬意。參考文獻(xiàn)[1]盧冬冬.
數(shù)字式標(biāo)準(zhǔn)溫濕度測量儀的設(shè)計[D].河北大學(xué),2009.[2]張玉偉.
基于STC單片機的智能溫濕度控制器的設(shè)計與實現(xiàn)[D].河北工業(yè)大,2011.[3]張曉翟.
基于ZigBee的實驗室溫濕度集中監(jiān)測系統(tǒng)[D].黑龍江大學(xué),2011.[4]方玉鑫.
基于單片機的溫濕度控制系統(tǒng)的研究與應(yīng)用[D].哈爾濱工程大學(xué),2012.[5]于波.
基于單片機的室內(nèi)環(huán)境監(jiān)測系統(tǒng)設(shè)計[D].中國海洋大學(xué),2011.[6]閆雙紅.
基于單片機的太陽能干燥溫濕度檢測系統(tǒng)的研究[D].內(nèi)蒙古農(nóng)業(yè)大學(xué),2012.[7]孫浩文.基于單片機的溫室溫濕度采集系統(tǒng)設(shè)計[J].自動化與儀器儀表,2017(03):198-200.[8]劉娟花,楊幸芳.基于單片機的溫濕度監(jiān)測系統(tǒng)[J].現(xiàn)代電子技術(shù),2017,40(20):165-168.[9]張樹軍,叢秋梅,蔣丹丹.溫室內(nèi)溫濕度檢測系統(tǒng)設(shè)計[J].國外電子測量技術(shù),2017,36(10):119-122.[10]關(guān)童童.
溫濕度記錄儀的研制[D].北京工業(yè)大學(xué),2014.[11]劉光偉.
基于單片機的溫室溫濕度監(jiān)測系統(tǒng)設(shè)計與實現(xiàn)[D].燕山大學(xué),2012.[12]劉守兵.
采用數(shù)據(jù)融合技術(shù)提高濕度傳感器測量精度的研究[D].東華大學(xué),2014.[13]江珊珊.溫濕度顯示報警系統(tǒng)的設(shè)計[J].無線互聯(lián)科技,2015(23):43-44.[14]單冰華,張鳳登.基于CAN總線的溫濕度檢測系統(tǒng)[J].電子測量技術(shù),2016,39(05):123-126.[15]趙嘉慶,季福坤.基于STC12C5620AD單片機溫濕度控制系統(tǒng)設(shè)計[J].國外電子測量技術(shù),2014,33(12):31-34.[16]劉德全.智能溫室溫濕度檢測實驗系統(tǒng)電路設(shè)計與仿真[J].實驗室研究與探索,2015,34(02):92-95.[17]洪烜楹.基于STC89C51便攜式溫濕度測量系統(tǒng)的設(shè)計[J].福建電腦,2015,31(05):108-109.[18]徐平,王獻(xiàn)偉.實驗室溫濕度測量系統(tǒng)設(shè)計[J].微型機與應(yīng)用,2015,34(21):93-96.[19]吳小偉,史志中,鐘志堂,武文娟,張璐,丁莉,崔軍.國內(nèi)溫室環(huán)境在線控制系統(tǒng)的研究進(jìn)展[J].農(nóng)機化研究,2013,35(04):1-7+18.[20]韓凱.
溫度濕度檢測控制儀的設(shè)計與實現(xiàn)[D].吉林大學(xué),2015.[21]張雪偉,張策,陳金陽.基于單片機與組態(tài)王的無線數(shù)據(jù)監(jiān)測系統(tǒng)設(shè)計[J].計算機與現(xiàn)代化,2013(12):210-213.[22]張麗華,楊興明.新型遠(yuǎn)程溫濕度測量儀[J].機械技術(shù)史及機械設(shè)計,2008(00):211-216.[23]F.
V?lklein,A.
Meier.
Microstructured
vacuum
gauges
and
their
future
perspectives[J].
Vacuum,2007,82(4).[24]Litao
Liu.
The
Design
of
a
New
Type
of
Single-phase
Multi-functional
Argon
Arc
Welder[J].
Procedia
Engineering,2011,15.[25]Gang
Sheng
Li,Yue
Xin
Pang,Wei
Luo,Ling
Zhang.
Design
of
RFID
Based
Robot
System
for
Automatic
Search
of
Books
in
Libraries[J].
Advanced
Materials
Research,2012,1566(433).[26]Xiao
Feng
Li,Jie
Ma,Hai
Feng
Liu,Shou
Gang
Zhang.
The
Design
of
High
Precision
Temperature
Control
Circuit
for
DFB
Laser
Diode[J].
Advanced
Materials
Research,2012,1672(476).[27]JianMing
Shen,HongLi
Wei.
Circuit
Design
of
Panel
Points
Based
on
Zigbee[M].Springer
London:2013-06-15.[28]Charles
A.
Bishop.
Chapter
3
-
Pressure
Measurement[M].Elsevier
Inc.:2016-06-15.附錄A電路硬件原理圖附錄B系統(tǒng)程序#include<reg52.h> //頭文件包含#include<intrins.h>#defineucharunsignedchar //以后unsignedchar就可以用uchar代替#defineuintunsignedint //以后unsignedint就可以用uint代替sfrISP_DATA=0xe2; //數(shù)據(jù)寄存器sfrISP_ADDRH=0xe3; //地址寄存器高八位sfrISP_ADDRL=0xe4; //地址寄存器低八位sfrISP_CMD=0xe5; //命令寄存器sfrISP_TRIG=0xe6; //命令觸發(fā)寄存器sfrISP_CONTR=0xe7; //命令寄存器sbitBuzzer_P=P1^0;//蜂鳴器sbitDHT11_P=P1^1; //溫濕度傳感器DHT11數(shù)據(jù)接入sbitLcdRs_P=P1^2;//1602液晶的RS管腳sbitLcdRw_P=P1^3;//1602液晶的RW管腳sbitLcdEn_P=P1^4;//1602液晶的EN管腳sbitKeySet_P=P1^5; //“設(shè)置”按鍵的管腳sbitKeyDown_P=P1^6; //“減”按鍵的管腳sbitKeyUp_P=P1^7; //“加”按鍵的管腳sbitLedTL_P=P3^4; //溫度過低報警指示燈sbitLedTH_P=P3^5; //溫度過高報警指示燈sbitLedHL_P=P3^6; //濕度過低報警指示燈sbitLedHH_P=P3^7; //濕度過高報警指示燈uchartemp; //保存溫度ucharhumi; //保存濕度ucharAlarmTL; //溫度下限報警值ucharAlarmTH; //溫度上限報警值ucharAlarmHL; //濕度下限報警值ucharAlarmHH; //濕度上限報警值/*********************************************************///單片機內(nèi)部EEPROM不使能/*********************************************************/voidISP_Disable(){ ISP_CONTR=0; ISP_ADDRH=0; ISP_ADDRL=0;}/*********************************************************///從單片機內(nèi)部EEPROM讀一個字節(jié),從0x2000地址開始/*********************************************************/unsignedcharEEPROM_Read(unsignedintadd){ ISP_DATA=0x00; ISP_CONTR=0x83; ISP_CMD=0x01; ISP_ADDRH=(unsignedchar)(add>>8); ISP_ADDRL=(unsignedchar)(add&0xff); //對STC89C51系列來說,每次要寫入0x46,再寫入0xB9,ISP/IAP才會生效 ISP_TRIG=0x46; ISP_TRIG=0xB9; _nop_(); ISP_Disable(); return(ISP_DATA);}/*********************************************************///往單片機內(nèi)部EEPROM寫一個字節(jié),從0x2000地址開始/*********************************************************/voidEEPROM_Write(unsignedintadd,unsignedcharch){ ISP_CONTR=0x83; ISP_CMD=0x02; ISP_ADDRH=(unsignedchar)(add>>8); ISP_ADDRL=(unsignedchar)(add&0xff); ISP_DATA=ch; ISP_TRIG=0x46; ISP_TRIG=0xB9; _nop_(); ISP_Disable();}/*********************************************************///擦除單片機內(nèi)部EEPROM的一個扇區(qū)//寫8個扇區(qū)中隨便一個的地址,便擦除該扇區(qū),寫入前要先擦除/*********************************************************/voidSector_Erase(unsignedintadd) { ISP_CONTR=0x83; ISP_CMD=0x03; ISP_ADDRH=(unsignedchar)(add>>8); ISP_ADDRL=(unsignedchar)(add&0xff); ISP_TRIG=0x46; ISP_TRIG=0xB9; _nop_(); ISP_Disable();}/*********************************************************///毫秒級的延時函數(shù),time是要延時的毫秒數(shù)/*********************************************************/voidDelayMs(uinttime){ uinti,j; for(i=0;i<time;i++) for(j=0;j<112;j++);}/*********************************************************///1602液晶寫命令函數(shù),cmd就是要寫入的命令/*********************************************************/voidLcdWriteCmd(ucharcmd){ LcdRs_P=0; LcdRw_P=0; LcdEn_P=0; P0=cmd; DelayMs(2); LcdEn_P=1; DelayMs(2); LcdEn_P=0; }/*********************************************************///1602液晶寫數(shù)據(jù)函數(shù),dat就是要寫入的數(shù)據(jù)/*********************************************************/voidLcdWriteData(uchardat){ LcdRs_P=1; LcdRw_P=0; LcdEn_P=0; P0=dat; DelayMs(2); LcdEn_P=1; DelayMs(2); LcdEn_P=0;}/*********************************************************///1602液晶初始化函數(shù)/*********************************************************/voidLcdInit(){ LcdWriteCmd(0x38);//16*2顯示,5*7點陣,8位數(shù)據(jù)口 LcdWriteCmd(0x0C);//開顯示,不顯示光標(biāo) LcdWriteCmd(0x06);//地址加1,當(dāng)寫入數(shù)據(jù)后光標(biāo)右移 LcdWriteCmd(0x01);//清屏}/*********************************************************///液晶光標(biāo)定位函數(shù)/*********************************************************/voidLcdGotoXY(ucharline,ucharcolumn){ //第一行 if(line==0) LcdWriteCmd(0x80+column); //第二行 if(line==1) LcdWriteCmd(0x80+0x40+column);}/*********************************************************///液晶輸出字符串函數(shù)/*********************************************************/voidLcdPrintStr(uchar*str){ while(*str!='\0') //判斷是否到字符串的盡頭了 LcdWriteData(*str++);}/*********************************************************///液晶輸出數(shù)字/*********************************************************/voidLcdPrintNum(ucharnum){ LcdWriteData(num/10+48); //十位 LcdWriteData(num%10+48); //個位}/*********************************************************///液晶顯示內(nèi)容的初始化/*********************************************************/voidLcdShowInit(){ LcdGotoXY(0,0); //第0行的顯示內(nèi)容 LcdPrintStr("DHT11System"); LcdGotoXY(1,0); //第1行的顯示內(nèi)容 LcdPrintStr("T:CH:%RH"); LcdGotoXY(1,4); //溫度單位攝氏度上面的圓圈符號 LcdWriteData(0xdf); }/*********************************************************///10us級延時程序/*********************************************************/voidDelay10us(){ _nop_(); //執(zhí)行一條指令,延時1微秒 _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();}/*********************************************************///讀取DHT11單總線上的一個字節(jié)/*********************************************************/ucharDhtReadByte(void){ bitbit_i; ucharj; uchardat=0; for(j=0;j<8;j++) { while(!DHT11_P); //等待低電平結(jié)束 Delay10us(); //延時 Delay10us(); Delay10us(); if(DHT11_P==1) //判斷數(shù)據(jù)線是高電平還是低電平 { bit_i=1; while(DHT11_P); } else { bit_i=0; } dat<<=1; //將該位移位保存到dat變量中 dat|=bit_i; } return(dat);}/*********************************************************///讀取DHT11的一幀數(shù)據(jù),濕高、濕低(0)、溫高、溫低(0)、校驗碼/*********************************************************/voidReadDhtData(){ ucharHumiHig; //濕度高檢測值 ucharHumiLow; //濕度低檢測值 ucharTemHig; //溫度高檢測值 ucharTemLow; //溫度低檢測值 ucharcheck; //校驗字節(jié) DHT11_P=0; //主機拉低 DelayMs(20); //保持20毫秒 DHT11_P=1; //DATA總線由上拉電阻拉高 Delay10us(); //延時等待30us Delay10us(); Delay10us(); while(!DHT11_P); //等待DHT的低電平結(jié)束 while(DHT11_P); //等待DHT的高電平結(jié)束 //進(jìn)入數(shù)據(jù)接收狀態(tài) HumiHig=DhtReadByte(); //濕度高8位 HumiLow=DhtReadByte(); //濕度低8為,總為0 TemHig=DhtReadByte(); //溫度高8位 TemLow=DhtReadByte(); //溫度低8為,總為0 check=DhtReadByte(); //8位校驗碼,其值等于讀出的四個字節(jié)相加之和的低8位 DHT11_P=1; //拉高總線 if(check==HumiHig+HumiLow+TemHig
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中職糧油檢驗檢測技術(shù)(糧油檢驗基礎(chǔ))試題及答案
- 2025年中職生物(植物生理學(xué)基礎(chǔ))試題及答案
- 2025年中職(會計綜合實訓(xùn))全盤賬務(wù)處理階段測試試題及答案
- 2025年大學(xué)越野滑雪運動與管理(越野滑雪技術(shù))試題及答案
- 2025年大學(xué)大四(出版學(xué))出版物編輯出版綜合評估試題及答案
- 2026年人力資源外包(員工派遣管理)試題及答案
- 2025年高職測繪工程技術(shù)(測繪工程實操)試題及答案
- 2025年大學(xué)三年級(公共政策)公共政策分析試題及答案
- 2025年高職現(xiàn)代農(nóng)業(yè)技術(shù)(智慧農(nóng)業(yè)設(shè)備應(yīng)用)試題及答案
- 2025年高職醫(yī)學(xué)美容技術(shù)(醫(yī)學(xué)美容技術(shù))試題及答案
- 2026年南通科技職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測試備考試題含答案解析
- 中遠(yuǎn)海運集團筆試題目2026
- 2026年中國熱帶農(nóng)業(yè)科學(xué)院橡膠研究所高層次人才引進(jìn)備考題庫含答案詳解
- 妝造店化妝品管理制度規(guī)范
- 2025-2026學(xué)年四年級英語上冊期末試題卷(含聽力音頻)
- 浙江省2026年1月普通高等學(xué)校招生全國統(tǒng)一考試英語試題(含答案含聽力原文含音頻)
- 2026屆川慶鉆探工程限公司高校畢業(yè)生春季招聘10人易考易錯模擬試題(共500題)試卷后附參考答案
- 基本農(nóng)田保護(hù)施工方案
- 股骨頸骨折患者營養(yǎng)護(hù)理
- 二級醫(yī)院醫(yī)療設(shè)備配置標(biāo)準(zhǔn)
- 2026年廣西出版?zhèn)髅郊瘓F有限公司招聘(98人)考試參考題庫及答案解析
評論
0/150
提交評論