機(jī)房溫濕度測(cè)控系統(tǒng)畢業(yè)設(shè)計(jì)_第1頁(yè)
機(jī)房溫濕度測(cè)控系統(tǒng)畢業(yè)設(shè)計(jì)_第2頁(yè)
機(jī)房溫濕度測(cè)控系統(tǒng)畢業(yè)設(shè)計(jì)_第3頁(yè)
機(jī)房溫濕度測(cè)控系統(tǒng)畢業(yè)設(shè)計(jì)_第4頁(yè)
機(jī)房溫濕度測(cè)控系統(tǒng)畢業(yè)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩53頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、本科畢業(yè)設(shè)計(jì)論文(設(shè)計(jì))基于單片機(jī)的機(jī)房溫濕度測(cè)控系統(tǒng)設(shè)計(jì)二級(jí)學(xué)院專(zhuān) 業(yè)班 級(jí)學(xué)生姓名學(xué) 號(hào)指導(dǎo)教師2012年 03月 基于單片機(jī)的機(jī)房溫濕度測(cè)控系統(tǒng)設(shè)計(jì)摘要: 隨著溫濕度檢測(cè)系統(tǒng)的廣泛運(yùn)用,不同行業(yè)和領(lǐng)域?qū)貪穸葯z測(cè)有著不同要求和標(biāo)準(zhǔn)。本系統(tǒng)采用 sht10 芯片作為溫濕度傳感器,四位數(shù)碼管作為顯示模塊,蜂鳴器作為報(bào)警模塊,鍵盤(pán)用來(lái)設(shè)定報(bào)警值,通過(guò) stc89c52 單片機(jī)給 sht10發(fā)送指令來(lái)完成檢測(cè)過(guò)程。采用 c語(yǔ)言來(lái)完成了各個(gè)程序模塊的設(shè)計(jì)編程。實(shí)踐證明,該系統(tǒng)電路簡(jiǎn)單、工作穩(wěn)定、集成度高,調(diào)試方便測(cè)量精度高,具有一定的實(shí)用價(jià)值,能達(dá)到機(jī)房溫濕度測(cè)量要求。關(guān)鍵詞: sht10、單片機(jī)

2、、數(shù)碼管、報(bào)警 、繼電器temperature and humidity measurement and control system design based on single-chip microcomputerabstract:with the temperature and humidity of the detection system is widely used, in the difference of industries and field test temperature and humidity has different requirements , standar

3、ds.system uses sht10 chip as temperature and humidity sensor, four digital tube as display module, a buzzer as alarm module, the keyboard used to set the alarm value, through the stc89c52 microcontroller to sht10 send the instructions to completion of the inspection process. using c language to comp

4、lete each program module design programming. the practice proved that this system circuit is simple,work stable, and its integration is high, convenient debug and measurement accuracy, which has certain practical value and can achieve room temperature and humidity measurement requirements.key words:

5、 sht10 ,single-chip microcomputer, digital tube, alarm, relay目錄一 溫濕度檢測(cè)的發(fā)展?fàn)顩r以及存在的問(wèn)題11.1傳統(tǒng)的溫度和濕度檢測(cè)系統(tǒng)主要有以下幾種11.2 目的和意義11.3 國(guó)內(nèi)外現(xiàn)狀和發(fā)展趨勢(shì)2二 系統(tǒng)總體方案設(shè)計(jì)32.1 單片機(jī) stc89c5232.1.1 stc89c52主要特性42.1.2 stc89c52接口42.2 sht10溫濕度模塊62.2.1 sht10的主要特點(diǎn)72.2.2 引腳說(shuō)明及接口電路72.2.3 命令與時(shí)序82.2.4 幾點(diǎn)說(shuō)明112.3 l 7805穩(wěn)壓塊12三 系統(tǒng)的硬件設(shè)計(jì)與連接143.1

6、主控模塊143.2 晶振及復(fù)位電路143.3 溫濕度模塊153.4 報(bào)警模塊163.5 顯示模塊163.6 鍵盤(pán)173.7 驅(qū)動(dòng)模塊183.8 電源模塊183.9 pcb圖及實(shí)物連接193.9.1 pcb圖193.9.2 實(shí)物圖20四 系統(tǒng)軟件方案的設(shè)計(jì)224.1 子程序流程圖224.2 主程序流程圖23五 總結(jié)與展望24六 參考文獻(xiàn)25七 附件26一 溫濕度檢測(cè)的發(fā)展?fàn)顩r以及存在的問(wèn)題1.1傳統(tǒng)的溫度和濕度檢測(cè)系統(tǒng)主要有以下幾種(1)水汽壓(e):是水汽在大氣總壓力中的分壓力。它表示了空氣中水汽的絕對(duì)含量的大小,以毫巴為單位。(2)相對(duì)濕度(rh):濕空氣中實(shí)際水汽壓e與同溫度下飽和水汽壓e

7、的百分比,相對(duì)濕度的大小能直接表示空氣距離飽和的相對(duì)程度??諝馔耆稍飼r(shí),相對(duì)濕度為零。相對(duì)濕度越小,表示當(dāng)時(shí)空氣越干燥。當(dāng)相對(duì)濕度接近于100%時(shí),表示空氣很潮濕,越接近于飽和。(3)露點(diǎn)(或霜點(diǎn))溫度:指空氣在水汽含量和氣壓都不改變的條件下,冷卻到飽和時(shí)的溫度。(4)干濕球溫度表:用一對(duì)并列裝置的、形狀完全相同的溫度表,一支測(cè)氣溫,稱(chēng)干球溫度表,另一支包有保持浸透蒸餾水的脫脂紗布,稱(chēng)濕球溫度表。(5)發(fā)濕度表(計(jì)):利用脫脂人發(fā)(或牛的腸衣)具有空氣潮濕時(shí)伸長(zhǎng),干燥時(shí)縮短的特性,制成毛發(fā)濕度表或濕度自記儀器,它的測(cè)濕精度較差,毛發(fā)濕度表通常在氣溫低于-10時(shí)使用。(6)電阻式濕度片:利用吸

8、濕膜片隨濕度變化改變其電阻值的原理,常用的有碳膜濕敏電阻和氯化鋰濕度片兩種。前者用高分子聚合物和導(dǎo)電材料碳黑,加上粘合劑配成一定比例的膠狀液體,涂覆到基片上組成的電阻片;后者是在基片上涂上一層氯化鋰酒精溶液,當(dāng)空氣濕度變化時(shí),氯化鋰溶液濃度隨之改變從而也改變了測(cè)濕膜片的電阻。(7)薄膜濕敏電容:是以高分子聚合物為介質(zhì)的電容器,因吸收(或釋放)水汽而改變電容值。它制作精巧,性能優(yōu)良,常用在探空儀和遙測(cè)中。1.2 目的和意義機(jī)房建設(shè)中機(jī)房環(huán)境監(jiān)控是個(gè)很重要且必不可少的部分,機(jī)房里的設(shè)備往往造價(jià)高昂,對(duì)工作環(huán)境有比較嚴(yán)格的要求,如果溫度或濕度超出設(shè)備的工作范圍,輕則可造成設(shè)備死機(jī)無(wú)法正常工作,重則會(huì)

9、使設(shè)備造成不可逆轉(zhuǎn)的損壞,更重要的是設(shè)備停止工作后會(huì)引起網(wǎng)絡(luò)癱瘓等一連串的惡性反應(yīng),由此引發(fā)的間接損失更是不可估量。本文就為解決這一問(wèn)題而設(shè)計(jì)的對(duì)機(jī)房的溫濕度測(cè)控系統(tǒng),保證機(jī)房的溫濕度在額定范圍值內(nèi),具有一定的實(shí)際意義。1.3 國(guó)內(nèi)外現(xiàn)狀和發(fā)展趨勢(shì)機(jī)房的溫度和濕度作為計(jì)算機(jī)設(shè)備正常運(yùn)行的必要條件,必須在機(jī)房的合理位置安裝溫濕度傳感器,以實(shí)現(xiàn)對(duì)溫度、濕度進(jìn)行24小時(shí)實(shí)時(shí)監(jiān)測(cè),并能在中控室的監(jiān)測(cè)主機(jī)上實(shí)時(shí)顯示各個(gè)位置的溫濕度測(cè)量值。溫濕度監(jiān)測(cè)除用于機(jī)房監(jiān)測(cè)外,還可以廣泛應(yīng)用于如生物制藥、無(wú)菌室、潔凈廠房、電信銀行、圖書(shū)館、檔案館、文物館、智能樓宇等各行各業(yè)需要溫濕監(jiān)測(cè)的場(chǎng)所和領(lǐng)域。我國(guó)溫度測(cè)控設(shè)施

10、計(jì)算機(jī)應(yīng)用,在總體上正從消化吸收、簡(jiǎn)單應(yīng)用階段向?qū)嵱没?、綜合性應(yīng)用階段過(guò)渡和發(fā)展。在技術(shù)上,以單片機(jī)控制的單參數(shù)單回路系統(tǒng)居多,尚無(wú)真正意義上的多參數(shù)綜合控制系統(tǒng),與發(fā)達(dá)國(guó)家相比,存在較大差距。我國(guó)溫度測(cè)量控制現(xiàn)狀還遠(yuǎn)遠(yuǎn)沒(méi)有達(dá)到工廠化的程度,生產(chǎn)實(shí)際中仍然有許多問(wèn)題困擾著我們,存在著裝備配套能力差,產(chǎn)業(yè)化程度低,環(huán)境控制水平落后,軟硬件資源不能共享和可靠性差等缺點(diǎn)。當(dāng)今世界各國(guó)的溫度測(cè)控技術(shù)發(fā)展很快,一些國(guó)家在實(shí)現(xiàn)自動(dòng)化的基礎(chǔ)上正向著完全自動(dòng)化、無(wú)人化的方向發(fā)展。目前開(kāi)發(fā)和研制計(jì)算機(jī)數(shù)據(jù)采集控制系統(tǒng)的多因子綜合控制系統(tǒng)成為趨勢(shì)。隨著智能檢測(cè)系統(tǒng)的飛速發(fā)展,基于單片機(jī)的溫濕度檢測(cè)系統(tǒng)將多傳感器系

11、統(tǒng)結(jié)合在一起。如何把多傳感器集中于一個(gè)檢測(cè)控制系統(tǒng),綜合利用來(lái)自多傳感器的信息,獲得對(duì)被測(cè)對(duì)象的可靠了解和解釋?zhuān)岳谙到y(tǒng)做出正確的響應(yīng)、決策和控制,是智能檢測(cè)控制系統(tǒng)中需要解決的首要問(wèn)題。在溫濕度要求嚴(yán)格的場(chǎng)合,利用多傳感技術(shù)可以提高系統(tǒng)的可靠性和精度,亦可以提高系統(tǒng)的時(shí)間空間的覆蓋范圍。二 系統(tǒng)總體方案設(shè)計(jì)本設(shè)計(jì)是基于單片機(jī)對(duì)數(shù)字信號(hào)的高敏感和可控性、溫濕度傳感器可以產(chǎn)生模擬信號(hào),和a/d模擬數(shù)字轉(zhuǎn)換芯片的性能,此設(shè)計(jì)以stc89c52基本系統(tǒng)為核心的一套檢測(cè)系統(tǒng),其中包括單片機(jī)、復(fù)位電路、溫濕度檢測(cè)、鍵盤(pán)及顯示、報(bào)警電路、系統(tǒng)軟件等部分的設(shè)計(jì)。系統(tǒng)總體方框圖如圖2.1.數(shù)碼管顯示單片機(jī)s

12、tc89c52報(bào)警電路溫濕度傳感器驅(qū)動(dòng)電路圖2.1 系統(tǒng)總體方框圖本設(shè)計(jì)由信號(hào)采集、信號(hào)分析和信號(hào)處理三個(gè)部分組成的:(1) 信號(hào)采集 由sht10溫濕度模塊組成;(2) 信號(hào)分析 由單片機(jī)stc89c52基本系統(tǒng)組成;(3) 信號(hào)顯示 由lcd1602顯示器和報(bào)警電路以及驅(qū)動(dòng)電路組成。2.1 單片機(jī) stc89c52stc89c52是一種低功耗、高性能cmos八位微控制器,具有8k在系統(tǒng)可編程flash存儲(chǔ)器,使用atmel公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80c51產(chǎn)品指令和引腳完全兼容。片上flash允許rom在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位cpu和在系統(tǒng)

13、可編程flash,使其為眾多嵌入式控制應(yīng)用系統(tǒng)提供靈活的解決方案。工作電壓:5.5v - 3.4v(5v 單片機(jī)) / 3.8v - 2.0v(3v 單片機(jī)). 工作頻率范圍:0 - 40 mhz,相當(dāng)于普通8051 的 080mhz.實(shí)際工作頻率可達(dá)48mhz.工作溫度范圍:0 75 / -40 +85.2.1.1 stc89c52主要特性(1) 與mcs-51單片機(jī)產(chǎn)品兼容;(2) 8k字節(jié)在系統(tǒng)可編程flash存儲(chǔ)器;(3) 1000次擦寫(xiě)周期;(4) 全靜態(tài)操作:0hz33hz;(5) 三級(jí)加密程序存儲(chǔ)器;(6) 32個(gè)可編程i/o口線;(7) 三個(gè)16位定時(shí)器/計(jì)數(shù)器;(8) 八個(gè)中

14、斷源;(9) 全雙工uart串行通道;(10) 低功耗空閑和掉電模式;(11) 掉電后中斷可喚醒; (12) 看門(mén)狗定時(shí)器;(13) 雙數(shù)據(jù)指針;(14) 掉電標(biāo)識(shí)符。2.1.2 stc89c52接口如圖2.2所示stc89c52芯片的引腳圖圖2.2 stc89c52管腳圖vcc:電源vss:地 p0口:8位漏極開(kāi)路的雙向i/o口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)ttl邏輯電平。對(duì)p0端口寫(xiě)“1”時(shí),引腳用作高阻抗輸入。當(dāng)訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),p0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,p0具有內(nèi)部上拉電阻。在flash編程時(shí),p0口也用來(lái)接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校

15、驗(yàn)時(shí),需要外部上拉電阻。p1口:具有內(nèi)部上拉電阻的8位雙向i/o口,p1輸出緩沖器能驅(qū)動(dòng)4個(gè)ttl邏輯電平。對(duì)p1端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil)。此外,p1.0和p1.2分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(p1.0/t2)和定時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(p1.1/t2ex),具體如表3-1所示。在flash編程和校驗(yàn)時(shí),p1口接收低8位地址字節(jié)。p2口:具有內(nèi)部上拉電阻的8位雙向i/o口,p2輸出緩沖器能驅(qū)動(dòng)四個(gè)ttl邏輯電平。對(duì)p2端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入

16、口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil)。在方位外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器時(shí),p2口送出高八位地址。在flash編程和校驗(yàn)時(shí),p2口也接收高8位地址字節(jié)和一些控制信號(hào)。p3口:p3口是一個(gè)具有內(nèi)部上拉電阻的8位雙向i/o口,p2輸出緩沖器能驅(qū)動(dòng)四個(gè)ttl邏輯電平。對(duì)p3端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil)。rst:復(fù)位輸入。晶振工作時(shí),rst腳持續(xù)2個(gè)機(jī)器周期高電平將使單片機(jī)復(fù)位。disrto默認(rèn)狀態(tài)下,復(fù)位高電平有效。ale/:控制信

17、號(hào)(ale)是訪問(wèn)外部程序存儲(chǔ)器時(shí),鎖存低8位地址的輸出脈沖。在flash編程時(shí),此引腳()也用作編程輸入脈沖。在一般情況下,ale以晶振六分之一的固定頻率輸出脈沖,可用來(lái)作為外部定時(shí)器或時(shí)鐘使用。然而,特別強(qiáng)調(diào),在每次訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí), ale脈沖將會(huì)跳過(guò)。如果需要,通過(guò)將地址為8eh的sfr的第0位置“1”,ale操作將無(wú)效。這一位置“1”,ale僅在執(zhí)行movx或movc指令時(shí)有效。否則,ale將被微弱拉高。這個(gè)ale使能標(biāo)志位(地址為8eh的sfr的第0位)的設(shè)置對(duì)微控制器處于外部執(zhí)行模式下無(wú)效。:外部程序存儲(chǔ)器選通信號(hào)()是外部程序存儲(chǔ)器選通信號(hào)。當(dāng)89s52從外部程序存儲(chǔ)器執(zhí)行

18、外部代碼時(shí),在每個(gè)機(jī)器周期被激活兩次,而在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),將不被激活。/vpp:訪問(wèn)外部程序存儲(chǔ)器控制信號(hào)。為使能從0000h到ffffh的外部程序存儲(chǔ)器讀取指令,必須接地。為執(zhí)行內(nèi)部程序指令,應(yīng)該接vcc。在flash編程期間,也接收12伏vpp電壓。xtal1:振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。xtal2:振蕩器反相放大器的輸出端。2.2 sht10溫濕度模塊圖2.3 sht10溫濕度傳感器shtxx 系列產(chǎn)品是一款 高度集成的溫濕度傳感器芯 片,提供全 量程 標(biāo) 定 的數(shù)字輸出 。它采用專(zhuān)利的 cmosens? 技術(shù),確保產(chǎn)品具有極高的可靠性與卓越 的長(zhǎng)期穩(wěn)定性。傳感器包

19、括一個(gè)電容性聚合體濕度敏 感元件和一個(gè)用能隙材料制成的溫度敏感元件,這兩 個(gè)敏感元件與一個(gè) 14 位的 a/d 轉(zhuǎn)換器以及一個(gè)串行 接口電路設(shè)計(jì)在同一個(gè)芯片上面。該傳感器品質(zhì)卓 越、響應(yīng)超快、抗干擾能力強(qiáng)、極高的性?xún)r(jià)比。如圖2.3是sht10溫濕度傳感器的實(shí)物圖。sht10為溫濕度一體的傳感器,內(nèi)部已經(jīng)集成了溫度采集,濕度采集,a/d轉(zhuǎn)換等電路,單片機(jī)只需要按照sht10的通訊協(xié)議,即可心獲得內(nèi)部取得的溫濕度值2.2.1 sht10的主要特點(diǎn)相對(duì)濕度和溫度的測(cè)量兼有露點(diǎn)輸出;全部校準(zhǔn),數(shù)字輸出;接口簡(jiǎn)單(2-wire),響應(yīng)速度快;超低功耗,自動(dòng)休眠;出色的長(zhǎng)期穩(wěn)定性;超小體積(表面貼裝);測(cè)

20、濕精度±45%rh,測(cè)溫精度±0.5(25)。2.2.2 引腳說(shuō)明及接口電路(1)典型應(yīng)用電路如圖2.4是的典型接線圖圖2.4 sht10電路(2)電源引腳(vdd、gnd)sht10的供電電壓為2.4v5.5v。傳感器上電后,要等待11ms,從“休眠”狀態(tài)恢復(fù)。在此期間不發(fā)送任何指令。電源引腳(vdd和gnd)之間可增加1個(gè)100nf的電容器,用于去耦濾波。(3)串行接口sht10的兩線串行接口(bidirectional 2-wire)在傳感器信號(hào)讀取和電源功耗方面都做了優(yōu)化處理,其總線類(lèi)似i2c總線但并不兼容i2c總線。串行時(shí)鐘輸入(sck)。sck引腳是mcu與sh

21、tio之問(wèn)通信的同步時(shí)鐘,由于接口包含了全靜態(tài)邏輯,因此沒(méi)有最小時(shí)鐘頻率。串行數(shù)據(jù)(data)。data引腳是1個(gè)三態(tài)門(mén),用于mcu與sht10之間的數(shù)據(jù)傳輸。data的狀態(tài)在串行時(shí)鐘sck的下降沿之后發(fā)生改變,在sck的上升沿有效。在數(shù)據(jù)傳輸期間,當(dāng)sck為高電平時(shí),data數(shù)據(jù)線上必須保持穩(wěn)定狀態(tài)。為避免數(shù)據(jù)發(fā)生沖突,mcu應(yīng)該驅(qū)動(dòng)data使其處于低電平狀態(tài),而外部接1個(gè)上拉電阻將信號(hào)拉至高電平。2.2.3 命令與時(shí)序(1)sht10命令sht10命令如表1所列。表1 命令代碼(2)命令時(shí)序 發(fā)送一組“傳輸啟動(dòng)”序列進(jìn)行數(shù)據(jù)傳輸初始化,如圖2.5所示。其時(shí)序?yàn)椋寒?dāng)sck為高電平時(shí)dt翻轉(zhuǎn)保

22、持低電平,緊接著sck產(chǎn)生1個(gè)發(fā)脈沖,隨后在sck為高電平時(shí)data翻轉(zhuǎn)保持高電平。圖2.5 命令時(shí)序 緊接著的命令包括3個(gè)地址位(僅支持“000”)和5個(gè)命令位。sht10指示正確接收命令的時(shí)序?yàn)椋涸诘?個(gè)sck時(shí)鐘的下降沿之后將data拉為低電平(ack位),在第9個(gè)sck時(shí)鐘的下降沿之后釋放data(此時(shí)為高電平)。 (3)測(cè)量時(shí)序(rh和t)“000 00101”為相對(duì)濕度(rh)量,“000 00101”為溫度()測(cè)量。發(fā)送一組測(cè)量命令后控制器要等待測(cè)量結(jié)束,這個(gè)過(guò)程大約需要20/80/320ms對(duì)應(yīng)其8/12/14位的測(cè)量。測(cè)量時(shí)間隨內(nèi)部晶振的速度而變化,最多能夠縮短30%。sht

23、10下拉data至低電平而使其進(jìn)入空閑模式。重新啟動(dòng)sck時(shí)鐘讀出數(shù)據(jù)之前,控制器必須等待這個(gè)“數(shù)據(jù)準(zhǔn)備好”信號(hào)。接下來(lái)傳輸2個(gè)字節(jié)的測(cè)量數(shù)據(jù)和1個(gè)字節(jié)的crc校驗(yàn)。mcu必須通過(guò)拉低data來(lái)確認(rèn)每個(gè)字節(jié)。所有的數(shù)據(jù)都從msb開(kāi)始,至lsb有效。例如對(duì)于12位數(shù)據(jù),第5個(gè)sck時(shí)鐘時(shí)的數(shù)值作為msb位;而對(duì)于8位數(shù)據(jù),第1個(gè)字節(jié)(高8位)數(shù)據(jù)無(wú)意義。確認(rèn)crc數(shù)據(jù)位之后,通信結(jié)束。如果不使用crc-8校驗(yàn),控制器可以在測(cè)量數(shù)據(jù)lsb位之后,通過(guò)保持ack位為高電平來(lái)結(jié)束本次通信。測(cè)量和通信結(jié)束后,sht10自動(dòng)進(jìn)入休眠狀態(tài)模式。(4)復(fù)位時(shí)序如果與sht10的通信發(fā)生中斷,可以通過(guò)隨后的信號(hào)

24、序列來(lái)復(fù)位串口,如圖2.6所示。保持data為高電平,觸發(fā)sck時(shí)鐘9次或更多,接著在執(zhí)行下次命令之前必須發(fā)送一組“傳輸啟動(dòng)”序列。這些序列僅僅復(fù)位串口,狀態(tài)寄存器的內(nèi)容仍然保留。圖2.6 復(fù)位時(shí)序(5)狀態(tài)寄存器讀寫(xiě)時(shí)序 sht10通過(guò)狀態(tài)寄存器實(shí)現(xiàn)初始狀態(tài)設(shè)定。讀狀態(tài)寄存器時(shí)序如圖2.7所示。圖2.7讀時(shí)序?qū)憼顟B(tài)寄存器時(shí)序如圖2.8所示。圖2.8寫(xiě)時(shí)序2.2.4 幾點(diǎn)說(shuō)明 crc-8校驗(yàn)。整個(gè)數(shù)據(jù)的傳輸過(guò)程都由8位校驗(yàn)保證,確保任何錯(cuò)誤的數(shù)據(jù)都能夠被檢測(cè)到并刪除1 。為保持自身發(fā)熱溫升小于0.1,shtxx的激活時(shí)間不超過(guò)10%。如12位精度測(cè)量,每秒最多測(cè)量2次。轉(zhuǎn)換為物理量輸出相對(duì)濕度

25、輸出轉(zhuǎn)換公式為:其中,rhlinear為25時(shí)相對(duì)濕度的線性值,sorh為傳感器輸出的相對(duì)濕度的數(shù)值,c1,c2,c3為系數(shù),如表3所列。 當(dāng)測(cè)量溫度與25相差較大時(shí),則需要考慮傳感器的溫度系數(shù):其中,rhtrue為溫度不等于25時(shí)相對(duì)濕度的實(shí)際值,c為當(dāng)前溫度,t1、t2是系數(shù),如表2所列。表2溫度補(bǔ)償系數(shù)溫度輸出轉(zhuǎn)換公式為:其中,為實(shí)際溫度,so為傳感器輸出的溫度數(shù)值,1,2為系數(shù),如表3、表4所列。表3 溫度轉(zhuǎn)換系數(shù) 由于濕度與溫度經(jīng)由同一塊芯片測(cè)量而得,因此sht10可以同時(shí)實(shí)現(xiàn)高質(zhì)量的露點(diǎn)測(cè)量。首先,單片機(jī)從根據(jù)sht10傳感器的通訊協(xié)議與sht10進(jìn)行數(shù)據(jù)通訊,先讀取溫度數(shù)據(jù),然后

26、再讀取濕度數(shù)據(jù)!同時(shí),讀取溫度后,還對(duì)濕度數(shù)據(jù)進(jìn)行溫度補(bǔ)償,讀取完成后,對(duì)各個(gè)數(shù)據(jù)進(jìn)行計(jì)算,得出最終顯示出來(lái)的十進(jìn)制數(shù)!我在程序在,溫度與濕度是將數(shù)據(jù)放大10倍,如25.6度,放大10倍后便是256,然后,在led數(shù)碼管上面顯示的數(shù)據(jù)拆解成3個(gè)位,分別拆成2-5-6,這樣,就將取得的溫濕度數(shù)據(jù),在led數(shù)碼管上面顯示出來(lái)了。2.3 l 7805穩(wěn)壓塊圖2.9 l 7805穩(wěn)壓塊l 7805基本參數(shù):輸出電壓:4.75-5.25v;靜態(tài)電流:4.2-8ma;輸出噪音電壓:40uv;紋波抑制比:78db;輸出電阻:17m;輸出電壓溫度系數(shù):-1.1mv/;l 7805特征:輸出電流可達(dá)1.5a,不

27、需外接補(bǔ)償元件;內(nèi)含限流保護(hù)電流,防止負(fù)載短路燒毀元件;內(nèi)含結(jié)溫過(guò)熱保護(hù)電路,防止結(jié)溫過(guò)熱燒毀器件;內(nèi)含功耗限制電路,防止燒毀輸出驅(qū)動(dòng)器晶體管。如圖2.9,其中1接整流輸出的正電壓,2為公共地(也就是負(fù)極),3就是我們所需的正5v輸出電壓。三 系統(tǒng)的硬件設(shè)計(jì)與連接3.1 主控模塊本系統(tǒng)設(shè)計(jì)應(yīng)用at89s52單片機(jī)作為系統(tǒng)的控制核心。采用單片機(jī)的p0口以及p2.0p2.3控制數(shù)碼管顯示溫度和濕度值。鍵盤(pán)控制采用p3口,其中p3.2進(jìn)入/退出溫濕度的設(shè)置,p3.3是溫濕度的轉(zhuǎn)換顯示, p3.4/p3.5是分別對(duì)溫度與濕度的上/下限值進(jìn)行設(shè)置。p3.6、p3.7是sht10溫度傳感器的接線口,p2.

28、4是報(bào)警電路的接線口。p1.0/p1.1分別是高溫/低濕輸出繼電器的接線口。圖3.1 主控電路3.2 晶振及復(fù)位電路晶振及復(fù)位電路是每個(gè)單片機(jī)系統(tǒng)必須具備的電路,本設(shè)計(jì)的晶振采用的是12m晶體振蕩器,此晶振比較常見(jiàn),易于購(gòu)得。因此,在設(shè)計(jì)中,使用12m的晶振與2個(gè)30p的瓷片電容組成單片機(jī)的晶體振蕩電路,為單片機(jī)的正常工作提供了振蕩信號(hào)。如圖3.2中的按鍵、c3及r1,一起組成了本設(shè)計(jì)的復(fù)位電路,其中c3與r1為為常用的阻容復(fù)位電路。當(dāng)工作電路在瞬間上電時(shí),電容c3瞬間導(dǎo)通,+5v加載到單片機(jī)的第9腳(reset),系統(tǒng)完成上電復(fù)位。同時(shí),系統(tǒng)中還加入了一個(gè)直按的復(fù)位按鍵,同理,當(dāng)按下按鍵后,

29、+5 v加載到單片機(jī)的第9腳(reset),系統(tǒng)完成了通電情況下的熱啟動(dòng)。設(shè)計(jì)此按鍵的好處是,當(dāng)在系統(tǒng)死機(jī)的的情況下,可以在不斷電的情況下按下此按鍵,完成單片機(jī)熱啟動(dòng)圖3.2 晶振與復(fù)位電路3.3 溫濕度模塊如圖3.3中的rp1是4.7k的排阻,在電路中主要起到了上拉電壓的作用,因?yàn)閱纹瑱C(jī)的端口屬于弱上拉,因此加入此上位電阻后,可以使得信號(hào)采集更加穩(wěn)定。圖3.3 溫濕度接線圖3.4 報(bào)警模塊報(bào)警電路如圖3.4所示,此電路為蜂鳴器的工作電路,由于蜂鳴器的輸出電流比較大,而單片機(jī)的io管腳電流不足,所以增加了一個(gè)pnp三極管8550來(lái)進(jìn)行放大并控;電阻r1為限流電阻。拿當(dāng)前取得的溫濕度數(shù)據(jù)與溫濕度

30、設(shè)置的上下限進(jìn)行比較,如果比上限高的話,那么上限報(bào)警,如果下限高的話,那么下限報(bào)警。因?yàn)橹挥幸粋€(gè)蜂鳴器,所以,只有溫濕度有一個(gè)上限或者下限有報(bào)警的話,那么蜂鳴器都需要報(bào)警。圖3.4 報(bào)警電路3.5 顯示模塊該電路采用動(dòng)態(tài)掃描的形式,數(shù)碼管采用的是共陽(yáng)的數(shù)碼管,在一般單片機(jī)的設(shè)計(jì)中,采用共陽(yáng)的數(shù)碼管,可以使得結(jié)構(gòu)更加簡(jiǎn)單控制更加容易。如圖3.5所示,使用單片機(jī)的p0口輸出數(shù)碼管的各個(gè)段碼,前面有470歐電阻為數(shù)碼管的限流電阻,因?yàn)閱纹瑱C(jī)的io輸出能力較小,因此采用了三極管8550來(lái)進(jìn)行放大輸出電流,實(shí)現(xiàn)數(shù)碼管能夠閃亮顯示圖3.5 數(shù)碼管接線圖3.6 鍵盤(pán)鍵盤(pán)采用獨(dú)立式鍵盤(pán),按照其與i/o口的連接

31、方式的不同,可以分為獨(dú)立式鍵盤(pán)和矩陣式鍵盤(pán)。獨(dú)立式按鍵就是各按鍵相互獨(dú)立,其電路如圖3.6所示,每個(gè)按鍵單獨(dú)占用一根i/o口線,每根i/o口線的按鍵工作狀態(tài)不會(huì)影響其他i/o口線上的工作狀態(tài)。因此,通過(guò)檢測(cè)輸入線的電平狀態(tài)可以很容易判斷哪個(gè)按鍵被按下了。圖3.6 按鍵接線圖3.7 驅(qū)動(dòng)模塊 驅(qū)動(dòng)電路采用電磁式繼電器,其具有結(jié)構(gòu)簡(jiǎn)單、工作可靠、堅(jiān)固耐用、價(jià)格便宜等優(yōu)點(diǎn)應(yīng)用極其廣泛,它是最為典型和常用的繼電器。本電路采用常閉繼電器由單片機(jī)控制,當(dāng)溫度高于設(shè)置的上限和濕度低于設(shè)置的下限時(shí),繼電器開(kāi)始工作,從而起到保護(hù)機(jī)房的儀器的作用。其電路如圖3.7:圖3.7 繼電器接線圖3.8 電源模塊本設(shè)計(jì)的電

32、源電路由兩部分組成(如圖3.8所示),一部分為dc12v變壓器供電,而另一部分,則由6v電池供電。在實(shí)際使用中,只需要其中一部分即可,因此,此系統(tǒng)不但可以工作在有市電供電的場(chǎng)合,同時(shí),也適用于蓄電池等其它電源供電的場(chǎng)合。第一部分,當(dāng)dc12v變壓器插入dc電源座的時(shí)候,+12v電源經(jīng)過(guò)d1二極管4007后到達(dá)7805穩(wěn)壓模塊的輸入腳,經(jīng)過(guò)7805穩(wěn)壓后,變成穩(wěn)定的+5v,為整個(gè)電路提供供電電源。6v電池的+6v端經(jīng)過(guò)d2二極管4007降壓后,到達(dá)整個(gè)電路的vcc,為整個(gè)電路提供供電電源。二極管的壓降一般為0.7v,經(jīng)過(guò)降壓后的電壓大概為5.3v。d3發(fā)光二極管為電源指示燈,通電后該指示燈會(huì)一直

33、長(zhǎng)亮。圖3.8 電源電路圖四 系統(tǒng)軟件方案的設(shè)計(jì)4.1 子程序流程圖設(shè)置按鍵按下初始化設(shè)置參數(shù)查看設(shè)置及退出鍵是否有按下保存設(shè)置參數(shù),退出,返回主程序 y n 查看設(shè)置轉(zhuǎn)換按鍵是否有按下寫(xiě)相應(yīng)的設(shè)置位,并顯示相應(yīng)的參數(shù) y查看+按鍵是否有按下顯示相應(yīng)的參數(shù)加0.1 n y n顯示相應(yīng)的參數(shù)減0.1查看按鍵是否有按下 y返回設(shè)置子程序 n程序初始化4.2 主程序流程圖讀取溫度讀取濕度進(jìn)入設(shè)置參數(shù)子程序查看設(shè)置按鍵是否按下寫(xiě)溫度下限報(bào)警標(biāo)記位根據(jù)各個(gè)報(bào)警標(biāo)記位開(kāi)啟指示燈及蜂鳴器寫(xiě)濕度上限報(bào)警標(biāo)記位取當(dāng)前的濕度是否大于設(shè)定的上限取當(dāng)前溫度是否小于設(shè)定的下限取當(dāng)前溫度是否大于設(shè)定的上限查看顯示轉(zhuǎn)換按鍵

34、是否按下 y置相應(yīng)顯示的標(biāo)志位,顯示溫度/濕度 n y寫(xiě)溫度上限報(bào)警標(biāo)記位 n y根據(jù)顯示標(biāo)記位相應(yīng)溫度或濕度同時(shí)返回主程序 n y n y寫(xiě)濕度下限報(bào)警標(biāo)記位取當(dāng)前的濕度是否小于設(shè)定的下限 n y n五 總結(jié)與展望本系統(tǒng)為溫濕度采集并報(bào)警系統(tǒng),主要實(shí)現(xiàn)的功能就是采集環(huán)境溫度及環(huán)境濕度,同時(shí)還帶了上下限報(bào)警功能,另外還附帶有繼電器擴(kuò)展功能。一般用途可以為某些場(chǎng)合提供溫濕度的數(shù)據(jù),及報(bào)警提醒以及控制溫濕度功能作用,如大棚蔬菜溫濕度監(jiān)測(cè),機(jī)房溫濕度監(jiān)測(cè)等。這個(gè)具體結(jié)構(gòu)簡(jiǎn)單,方便,實(shí)用等優(yōu)點(diǎn)。在這次畢業(yè)設(shè)計(jì)中學(xué)到啦很多,更為熟悉proteus、keil和protel軟件的使用,以及如何查找有用的資料

35、來(lái)完成自己的設(shè)計(jì)。這次設(shè)計(jì)在電路板的焊接和程序編寫(xiě)上出啦不少問(wèn)題,通過(guò)同學(xué)跟老師的幫助也一一的得到了解決。 六 參考文獻(xiàn)1周潤(rùn)景,張麗娜基于proteus的電路及單片機(jī)系統(tǒng)設(shè)計(jì)與仿真北京航空航天大學(xué)出版社,20062 李朝青單片機(jī)原理及接口技術(shù)北京航空航天大學(xué)出版社20093 臧海鷹, 張鳳璐. 基于單片機(jī)的環(huán)境溫度控制硬件電路設(shè)計(jì)j. 黑龍江科技信息, 2011,(05)4 李建民單片機(jī)在溫度控制系統(tǒng)中的應(yīng)用.江漢大學(xué)學(xué)報(bào)19965. 沈德金,陳粵初mcs-51系列單片機(jī)接口電路與應(yīng)用程序?qū)嵗本┖娇蘸教齑髮W(xué)出版社19906 liu shiguang,bao changchun,ma shu

36、ying.new type of constant temperature and constant humidity box monitoring and controlling system.transactions of the chinese society of agricultural engineering,2001,vol 17(no.5):102-104.7. 劉篤仁,韓保君傳感器原理及應(yīng)用技術(shù)機(jī)械工業(yè)出版社20038胡漢才單片機(jī)原理及接口技術(shù)清華大學(xué)出版社1996.9 dong haiying. the study on swarm intelligent control.

37、 international journal of intelligent information management and technologies,2005,vol.(no.1):pp.137-142. 10 馬忠梅 馬凱 單片機(jī)的c語(yǔ)言應(yīng)用程序設(shè)計(jì) 北京航空航天大學(xué)出版社 2007年11張大明 單片機(jī)微機(jī)控制應(yīng)用技術(shù) 機(jī)械工業(yè)出版社 2007年七 附件程序清單:/*main */ #include <stc89c52.h> /microcontroller specific library, e.g. port definitions#include <intrin

38、s.h> /keil library (is used for _nop()_ operation)#include <math.h> /keil library#include <stdio.h> /keil library#define uchar unsigned char /定義無(wú)符號(hào)字節(jié)#define uint unsigned int /定義無(wú)符合整數(shù)#define ulong unsigned long#define up_temp 400;/溫度80.0%#define down_temp 100;/溫度20.0%#define up_rh 800

39、;/溫度80.0%#define down_rh 200;/溫度20.0%uint data temp_ok;/真正取到的溫度值,將原數(shù)放大十倍,去除小數(shù)點(diǎn)uint data rh_ok;/真正取到的溫度值,將原數(shù)放大十倍,去除小數(shù)點(diǎn)uchar data temp_data2;/溫度取得的初值uchar data rh_data2;/濕度取得的初值uint temp_h;/溫度上限uint temp_l;/溫度下限uint rh_h;/濕度上限uint rh_l;/濕度下限sbit data=p37;sbit sck=p36;sbit bell=p24; /蜂鳴器sbit temp_light

40、=p26;/溫度報(bào)警指示燈sbit rh_light=p27;/濕度報(bào)警指示燈bit bj_t_h;/溫度過(guò)高報(bào)警位bit bj_t_l;/溫度過(guò)低報(bào)警位,為1表示需要報(bào)警bit bj_r_h;/濕度過(guò)高報(bào)警位bit bj_r_l;/濕度過(guò)低報(bào)警位/bit bj_all;/溫濕度過(guò)高或者過(guò)低合在一起的報(bào)警位sbit dian=p07;sbit led1=p23;sbit led2=p22;sbit led3=p21;sbit led4=p20;sbit in1=p32;/s1按鍵sbit in2=p33;/s2按鍵sbit in3=p34;/s3按鍵sbit in4=p35;/s4按鍵sbit

41、 km1=p10;/高溫輸出sbit km2=p11;/低濕輸出bit xianshi=0;/顯示標(biāo)記,為0顯示溫度,為1顯示濕度 uchar set_biaoji=0;/設(shè)置標(biāo)記,=0,設(shè)置溫度上限,1,設(shè)置溫度下限,2,設(shè)置濕度上限,3設(shè)置濕度下限#define temp 1#define humi 2#define noack 0/無(wú)響應(yīng),找不到器件#define ack 1/響應(yīng),已經(jīng)找到器件#define status_reg_w 0x06 /000 0011 0write regedit 寫(xiě)寄存器#define status_reg_r 0x07 /000 0011 1read r

42、egedit 讀寄存器#define measure_temp 0x03 /000 0001 1read temp it's me write, ha ha!#define measure_humi 0x05 /000 0010 1 read humi 提取濕度#define reset 0x1e /000 1111 0 /復(fù)位/* 延時(shí)t毫秒 */void delay(uint t)uint i;while(t-)/ 對(duì)于11.0592m時(shí)鐘,約延時(shí)1ms for (i=0;i<125;i+)/uchar getcode(unsigned char i)uchar p;swit

43、ch (i)case 0: p=0xc0;break;/* 0 */case 1: p=0xf9;break;/* 1 */case 2: p=0xa4;break;/* 2 */case 3: p=0xb0;break;/* 3 */case 4: p=0x99;break;/* 4 */case 5: p=0x92;break;/* 5 */case 6: p=0x82;break;/* 6 */case 7: p=0xf8;break;/* 7 */case 8: p=0x80;break;/* 8 */case 9: p=0x90;break;/* 9 */case 10: p=0x8

44、8;break;/* a */case 11: p=0x83;break;/* b */case 12: p=0xc6;break;/* c */case 13: p=0xa1;break;/* d */case 14: p=0x86;break;/* e */case 15: p=0x8e;break;/* f */default: break;return(p);/這里用void write_i2c(uchar x,y,z) isp_data=z;/數(shù)據(jù)送isp isp_addrh=x;/stc89c51的isp地址,stc89c51的i2c地址在2000h單元開(kāi)始的/ isp_addrl

45、=y;/送低位isp地址/ isp_contr=0x01;/設(shè)置響應(yīng)時(shí)間,20m為1,6m以下是4/ isp_contr=isp_contr|0x80;/充許isp有效/ isp_cmd=0x02;/操作模式為寫(xiě)操作 isp_trig=0x46;/發(fā)送命令字/ isp_trig=0xb9;/發(fā)送執(zhí)行命令字,發(fā)送完執(zhí)行,執(zhí)行完后程序才繼續(xù)/ uchar read_i2c(uchar x,y) uchar z; isp_addrh=x;/送高位isp地址,stc89c51的i2c地址在2000h單元開(kāi)始的! isp_addrl=y;/送低位isp地址 isp_contr=0x01;/設(shè)置響應(yīng)時(shí)間,

46、20m為1,6m以下是4 isp_contr=isp_contr|0x80;/充許isp有效 isp_cmd=0x01;/操作模式為讀操作 isp_trig=0x46;/發(fā)送命令字 isp_trig=0xb9;/發(fā)送執(zhí)行命令字,發(fā)送完執(zhí)行,執(zhí)行完后程序才繼續(xù) z=isp_data;/數(shù)據(jù)送isp return(z); void clear_i2c(uchar x,y) isp_addrh=x;/送高位isp地址,stc89c51的i2c地址在2000h單元開(kāi)始的! isp_addrl=y;/送低位isp地址 isp_contr=0x01;/設(shè)置響應(yīng)時(shí)間,20m為1,6m以下是4 isp_con

47、tr=isp_contr|0x80;/充許isp有效 isp_cmd=0x03;/操作模式為擦除操作 isp_trig=0x46;/發(fā)送命令字 isp_trig=0xb9;/發(fā)送執(zhí)行命令字,發(fā)送完執(zhí)行,執(zhí)行完后程序才繼續(xù) /void display()/顯示函數(shù) 顯示當(dāng)前溫度或者濕度 uchar i; uchar a,b,c; uint zh; if(xianshi=0) zh=temp_ok;/溫度轉(zhuǎn)移 /默認(rèn)顯示溫度 else zh=rh_ok;/濕度轉(zhuǎn)移 a=zh / 100; /分別得出三個(gè)各自的值 zh=zh % 100; b=zh / 10; c=zh % 10; for(i=0;i<1;i+) p0=getcode(a); /顯示十位 led1=0; delay(1); led1=1; p0=getcode(b); /顯示個(gè)位 led2=0; dian=0;/開(kāi)不數(shù)點(diǎn) delay(1); led2=1; p0=getcode(c); /顯示小數(shù)位 led3=0; delay(1); led3=1; if(xianshi=0) p0=0x8c;/顯示p else p0=0x89;/顯示

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論