「溫濕度檢測報警系統(tǒng)」.doc_第1頁
「溫濕度檢測報警系統(tǒng)」.doc_第2頁
「溫濕度檢測報警系統(tǒng)」.doc_第3頁
「溫濕度檢測報警系統(tǒng)」.doc_第4頁
「溫濕度檢測報警系統(tǒng)」.doc_第5頁
免費預覽已結(jié)束,剩余12頁可下載查看

下載本文檔

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

文檔簡介

計算機科學與技術(shù)學院微計算機系統(tǒng)設(shè)計課程設(shè)計學號:S#專業(yè):計算機科學與技術(shù)學生姓名:#任課教師:# 教授2012年12月溫濕度檢測與報警系統(tǒng)摘要以STC12C5A60S2單片機為控制單元,串行接口智能顯示驅(qū)動芯片作為數(shù)碼管和鍵盤的驅(qū)動器,采用C語言進行編程,設(shè)計實現(xiàn)一款臨界值可調(diào)的溫濕度檢測與報警系統(tǒng)。本系統(tǒng)采用DHT11溫濕度模塊采集并處理溫濕度參數(shù),單片機從DHT11讀取四十位數(shù)字信號(四十位數(shù)字信號為:濕度高八位,濕度低八位,溫度高八位,溫度低八位和校驗位),根據(jù)要顯示的內(nèi)容選擇性的把數(shù)據(jù)送往HD7279A,控制數(shù)碼管的顯示。HD7279A讀取按鍵按下的鍵位,反饋給MCU,實現(xiàn)不同的操作。該系統(tǒng)能夠?qū)諝鉁貪穸冗M行準確的檢測,并能實時顯示當前溫濕度。當溫度或濕度越過臨界值時,系統(tǒng)發(fā)出相應的報警信號。溫濕度的臨界值可以手動調(diào)節(jié),方便不同的領(lǐng)域應用該系統(tǒng)。關(guān)鍵詞:STC12C5A60S2,DHT11,HD7279A,溫濕度,報警1引言在當今社會的各行各業(yè),溫度和濕度對各行業(yè)的影響不盡相同,但是溫度和濕度是生產(chǎn)生活中的關(guān)鍵因素,只有把周圍環(huán)境的溫度和濕度控制在合適的范圍,生產(chǎn)生活才能有序的進行。1.1選題的目的和意義改革開放以來,我國的經(jīng)濟迅猛發(fā)展,人們生活消費水平的提高,在各行業(yè)生產(chǎn)中,在人們的日常生活中,環(huán)境的溫度和濕度對于各方面起著彌足重要的作用。溫度是表示物體冷熱程度的物理量,微觀上來講是物體分子熱運動的劇烈程度;濕度是表示大氣干燥程度的物理量,在一定溫度下單位體積空氣里含有的水汽的多少。溫度、濕度和人類的生產(chǎn)、生活有著密切的關(guān)系,同時也是工業(yè)生產(chǎn)中最為常見的,而且是最基本的工藝參數(shù);例如機械、石油化工、電子等各類行業(yè)中廣泛需要對溫度和濕度進行檢測和控制。并且隨著人們生活水平的提高,人們對自己的生存環(huán)境越來越關(guān)注,而空氣中溫濕度的變化與人體的舒適度和情緒都有著某種間接或者直接的關(guān)系,所以對溫濕度的檢測和控制就顯得非常重要和迫切了。1.2課題研究現(xiàn)狀及發(fā)展趨勢應用在現(xiàn)在社會生活及工農(nóng)業(yè)生產(chǎn)上的溫濕度測試器有許多種,溫濕度傳感器也各式各樣。不同的溫濕度測試器采用的傳感器不同,但是設(shè)計原理大致相同,它們都由三部分組成:測量部分、本體部分、PC界面。測量部分主要由溫濕度傳感器組成,傳感器檢測周圍的溫濕度。本體部分主要是控制芯片,當溫濕度超過一定的范圍時,控制芯片會控制相應的部件,做出相應的操作,直至溫濕度數(shù)值達到正常的范圍。PC界面主要是顯示信息給用戶,讓用戶知道周圍的溫濕度參數(shù)??傮w來看,現(xiàn)代溫濕度檢測系統(tǒng)呈現(xiàn)出高精度、檢測靈敏度高、體型小巧、可交互、標準化和模塊化的趨勢和發(fā)展。1.3課題的主要內(nèi)容本課題設(shè)計的是溫濕度檢測報警系統(tǒng),本系統(tǒng)的是以STC12C5A60S2為主控制芯片,包括HD7279A數(shù)碼管鍵盤驅(qū)動模塊、以DHT11為核心的溫濕度檢測模塊和報警器等。本系統(tǒng)可以精確對周圍環(huán)境的溫濕度進行檢測,實時顯示溫濕度的值。本系統(tǒng)的特點是:溫濕度的臨界值時可調(diào)的,越過臨界值發(fā)出報警信號,報警信號根據(jù)低于或高于臨界值的不同而不同。總之,該系統(tǒng)為用戶提供一個精準的溫濕度數(shù)字檢測器。本設(shè)計主要在以下方面展開研究工作:(1)分析溫濕度的發(fā)展歷程和現(xiàn)狀,論述課題的研究目的和研究意義(2)硬件總體設(shè)計的展開。簡要介紹系統(tǒng)所需要的關(guān)鍵器件及其工作的原理,論述每個模塊的硬件實現(xiàn)及其原理。(3)系統(tǒng)的軟件設(shè)計。根據(jù)硬件設(shè)計和功能需求編寫相應的軟件程序。(4)對系統(tǒng)進行硬件和軟件調(diào)試,得出結(jié)論并總結(jié)心得2系統(tǒng)的硬件介紹此部分主要介紹本系統(tǒng)的總體設(shè)計和主要模塊的工作原理。2.1系統(tǒng)的總體設(shè)計系統(tǒng)主要由STC12C5A60S2單片機控制模塊、DHT11溫濕度檢測處理模塊、HD7279A為驅(qū)動的按鍵和顯示模塊、報警模塊和輔助模塊等幾部分組成。本系統(tǒng)的結(jié)構(gòu)圖如2-1所示。圖2-1 系統(tǒng)總體設(shè)計溫濕度檢測模塊不斷的對周圍環(huán)境溫濕度參數(shù)進行采集處理,STC12C5A60S2單片機不斷的和溫濕度檢測模塊進行數(shù)據(jù)交換,并通過HD7279A驅(qū)動數(shù)碼管顯示溫濕度,通過按鍵調(diào)節(jié)溫濕度的上下臨界值,打開或關(guān)閉報警系統(tǒng)的允許位。如果溫濕度異常,報警模塊報警。2.2 DHT11溫濕度檢測模塊介紹溫濕度檢測模塊式本系統(tǒng)的核心部分,主要負責溫濕度的采集和模數(shù)的轉(zhuǎn)換,為系統(tǒng)提供一組溫濕度數(shù)字信號,方便處理。DHT11數(shù)字溫度、濕度傳感器是一款有已經(jīng)校準數(shù)字信號輸出的溫度、濕度傳感器。它采用先進的數(shù)字模塊采集技術(shù)和溫度、濕度傳感技術(shù),保證產(chǎn)品具有較高的可靠性與非凡的長期穩(wěn)定性。DHT11測量范圍2090RH 050,測濕精度5RH, 測溫精度2,分辨力為1。DHT11實物及典型電路圖如圖2-2所示。圖2-2 DHT11實物及典型電路圖DHT11與STC12C5A60S2之間交換的數(shù)據(jù)是40bit的數(shù)字信號,MCU先從DHT11中讀取高位,再讀取低位,其40bit數(shù)據(jù)的格式為:8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bi溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)+8bit校驗和。數(shù)據(jù)傳送正確時校驗和數(shù)據(jù)等于“8bit濕度整數(shù)數(shù)據(jù)+8bit濕度小數(shù)數(shù)據(jù)+8bi溫度整數(shù)數(shù)據(jù)+8bit溫度小數(shù)數(shù)據(jù)”所得結(jié)果的末8位。由于DHT11的精度為1,故小數(shù)位為0。2.3 HD7279A驅(qū)動芯片和矩陣鍵盤、數(shù)碼管2.3.1 HD7279A簡介HD7279A是一片具串行接口的,可同時驅(qū)動8位共陰式數(shù)碼管的智能顯示驅(qū)動芯片,該芯片同時還可以連接多達64鍵的鍵盤矩陣,單片即可完成LED顯示,鍵盤接口的全部功能。HD7279A的管腳圖如2-3所示。圖2-3 HD7279管腳HD7279A的主要特征為:(1).串行接口,無需外圍元件可直接驅(qū)動LED。(2).各位獨立控制譯碼/不譯碼及消隱和閃爍屬性。(3).(循環(huán))左移/(循環(huán))右移指令。(4).具有段尋址指令,方便控制獨立LED。(5).64鍵鍵盤控制器,內(nèi)含去抖動電路2.3.2 矩陣鍵盤的功能介紹本系統(tǒng)采用矩陣鍵盤作為用戶與系統(tǒng)的交互接口。矩陣鍵盤中按鍵的標號為:0到F,其中0、1、2、4、5、8、9、C和D有具體的功能,其他按鍵無效。具體功能如表2.3所示。表2.3 按鍵號使用及其功能簡介鍵號功能簡介0實時顯示溫度模式1實時顯示濕度模式2報警系統(tǒng)允許與否切換按鍵4溫度下限顯示和溫度下限調(diào)節(jié)(與C、D鍵配合使用)5濕度下限顯示和溫度下限調(diào)節(jié)(與C、D鍵配合使用)8溫度上限顯示和溫度下限調(diào)節(jié)(與C、D鍵配合使用)9濕度上限顯示和溫度下限調(diào)節(jié)(與C、D鍵配合使用)C在十/個位減小溫/濕度的數(shù)值(與4、5、8、9鍵配合使用)D在十/個位增加溫/濕度的數(shù)值(與4、5、8、9鍵配合使用)2.3.3 數(shù)碼管顯示功能本系統(tǒng)采用四個七段數(shù)碼管顯示所有的信息,要顯示的內(nèi)容包括:實時溫濕度、溫濕度的上下臨界值和調(diào)節(jié)上下臨界值時閃爍等。3 系統(tǒng)的軟件設(shè)計系統(tǒng)軟件采用C語言,基于STC12C5A60S2單片機進行設(shè)計。根據(jù)系統(tǒng)功能要求,主控系統(tǒng)軟件分為1個主程序模塊和6個子程序模塊,即系統(tǒng)初始化、定時器模塊、溫濕度采集模塊、HD7279A驅(qū)動鍵盤和數(shù)碼管顯示、報警模塊。軟件設(shè)計的流程圖如圖3-1所示。下面就這幾個方面進行介紹詳細介紹。圖3-1 軟件設(shè)計的流程圖3.1 系統(tǒng)的初始化模塊系統(tǒng)初始化包括:DHT11初始化,HD7279A初始化,中斷初始化,溫濕度初始臨界值初始化,報警使能初始化。其主要代碼如下所示。init()/發(fā)光二極管初始化P2_7=1;/74hc245數(shù)據(jù)方向為A進B出P2_6=0;/74HC573芯片使能輸出 P3_6=0;baojing_EN_flag = 1;/初始化溫濕度的臨界值wen_MAX=25;wen_MIN=15;shi_MAX=40;shi_MIN=20;/P4.4設(shè)置為通用I/O口P4SW=0x10; /7279初始化Write_1byte(0xbf);/測試閃爍DELAY_10nms(200);Write_1byte(CMD_RESET); /重啟芯片DELAY_10nms(20);/中斷初始化EA=1; /開總中斷ET0=1; /定時器T0中斷允許 TMOD=0x01; /使用定時器T0的模式1TH0=(65536-10000)/256; /定時器T0的高8位賦初值TL0=(65536-10000)%256; /定時器T0的高8位賦初值TR0=1; /開始計數(shù)3.2 定時器模塊定時器中斷服務程序為本系統(tǒng)軟件設(shè)計的核心,其作用舉足輕重。本系統(tǒng)采用定時器T0的模式1,即16位定時/計數(shù)器。當計數(shù)器計數(shù)溢出是產(chǎn)生中斷,執(zhí)行中斷服務子程序。中斷服務程序的偽代碼如下所示。void Time0(void) interrupt 1 using 0 EA=0;TR0=0;/關(guān)總中斷,停止計數(shù)RH();/讀取溫濕度數(shù)據(jù)default_show()/默認顯示if(baojing_EN_flag=0) baojing();/是否執(zhí)行報警if(HD7279_KEY_DOWN=0) /有鍵按下 DATA_IN=Receive_cmd_data(KEY_VALUE);/讀出按鍵值while(HD7279_KEY=0); /去抖動 switch (按鍵號)case 0: display_wen();break;/顯示溫度case 1: display_shi();break;/顯示濕度case 2: if(可以報警) Function(消除報警);case 8: adjust(wen_MAX,8);break; /溫度上限調(diào)節(jié)case 4: adjust(wen_MIN,4);break; /溫度下限調(diào)節(jié)case 9: adjust(shi_MAX,9);break; /濕度上限調(diào)節(jié)case 5: adjust(shi_MIN,5);break; /濕度下限調(diào)節(jié)case 12:sub();break;/增加操作case 13:add();break;/增加操作 TH0=(65536-10000)/256; /定時器T0的高8位重新賦初值TL0=(65536-10000)%256; /定時器T0的高8位重新賦初值TR0=1; /重新計數(shù)EA=1; /開總中斷3.3 溫濕度檢測模塊由于DHT11數(shù)據(jù)線為串行接口(單線雙向),MCU發(fā)送一次開始信號后,DHT11從低功耗模式轉(zhuǎn)換到高速模式,等待主機開始信號結(jié)束后,DHT11發(fā)送響應信號,送出40bit的數(shù)據(jù),并觸發(fā)一次信號采集,我們可選擇讀取部分數(shù)據(jù)。COM()函數(shù)執(zhí)行一次取出8bit,要想取出40bit的數(shù)據(jù),須執(zhí)行四次COM()操作,即執(zhí)行RH()。其偽代碼如下所示。void COM(void) for(i=0;i8;i+) U8FLAG=2; while(!P4_4)&U8FLAG+); /等待數(shù)據(jù)起始信號結(jié)束 Delay_30us(); /延時30-40us后判斷如果是低電平表示為數(shù)據(jù)0/如果是高電平表示為數(shù)據(jù)1 U8temp=0; if(P4_4)U8temp=1; U8FLAG=2; while(P4_4)&U8FLAG+); if(U8FLAG=1)break; U8comdata wen_MIN + 10) & wen_H_shi=1)if(wen_MAX/10 != 0 )wen_MAX -= 10; show(wen_MAX); if(shi_MAX shi_MIN + 10) & shi_H_shi=1 )if(shi_MAX/10 != 0 ) shi_MAX -= 10; show(shi_MAX);if(wen_MAX wen_MIN + 1) & wen_H_ge=1)if(wen_MAX%10 != 0 )wen_MAX -= 1; show(wen_MAX); if(shi_MAX shi_MIN + 1) & shi_H_ge=1)if(shi_MAX%10 != 0) shi_MAX -= 1; show(shi_MAX);/調(diào)下屆if(wen_L_shi=1) if(wen_MIN/10 != 0) wen_MIN -= 10; show(wen_MIN);if(wen_L_ge=1) if( (wen_MIN%10)!= 0 ) wen_MIN-; show(wen_MIN);if(shi_L_shi=1)if(shi_MIN/10 != 0) shi_MIN -= 10; show(shi_MIN);if(shi_L_ge=1) if( (shi_MIN%10)!= 0 ) shi_MIN-; show(shi_MIN);/*/*add函數(shù),增加上下限*/*/void add()/調(diào)上界if(wen_H_shi=1)if(wen_MAX/10 != 9) wen_MAX = wen_MAX + 10; show(wen_MAX);if(wen_H_ge=1) if( (wen_MAX%10)!= 9 ) wen_MAX+; show(wen_MAX);if(shi_H_shi=1) if(shi_MAX/10 != 9) shi_MAX = shi_MAX + 10; show(shi_MAX);if(shi_H_ge=1) if( (shi_MAX % 10)!= 9 ) shi_MAX+; show(shi_MAX);/調(diào)下界的十位if(wen_MAX wen_MIN + 10) & wen_L_shi=1)if(wen_MIN/10 != 9)wen_MIN += 10; show(wen_MIN); if(shi_MAX shi_MIN + 10) & shi_L_shi=1)if(shi_MIN/10 != 9)shi_MIN += 10; show(shi_MIN);/調(diào)下界的個位if(wen_MAX wen_MIN + 1) & wen_L_ge=1 ) if( (wen_MIN%10)!= 9 ) wen_MIN+; show(wen_MIN);if(shi_MAX shi_MIN + 1) & shi_L_ge=1) if( (shi_MIN % 10)!= 9 ) shi_MIN+; show(shi_MIN);3.5 報警模塊當溫濕度值超過/低于臨界值時,發(fā)出報警信號,發(fā)光二極管閃爍。當超過時紅燈閃爍,低于時綠燈閃爍。按鍵2為報警的使能按鍵,初始狀態(tài)不允許報警,按下按鍵后允許報警,再按下又不允許報警。不允許報警的狀態(tài)下,二極管為滅狀態(tài)。當溫度異常時,數(shù)碼管顯示溫度;濕度異常時,數(shù)碼管顯示濕度;兩者都異常時,數(shù)碼管顯示溫度。void baojing()/判斷是溫度越界還是濕度越界,不同的越界顯示不同的參數(shù)if(U8T_data_H wen_MAX | U8T_data_H wen_MAX )P0=0xff;/ 全部滅DELAY_10nms(10);P0=0xaa; / 紅燈亮DELAY_10nms(10);if(U8T_data_H shi_MAX | U8RH_data_H shi_MAX )P0=0xff;/ 全部滅DELAY_10nms(10);P0=0xaa; / 紅燈亮DELAY_10nms(10);if(U8RH_data_H shi_MIN)P0=0xff;/ 全部滅 DELAY_10nms(10); P0=0x55; / 綠燈亮 DELAY_10nms(10);4 單片機程序調(diào)試開發(fā)工具是選用目前國內(nèi)流行的Keil公司出品的51系列單片機軟件仿真器。Keil Vision2 IDE是一個窗口化的軟件開發(fā)平臺,它集可視化編程、編譯、調(diào)試、仿真于一體,支持51匯編、PLM和C語言的混合編程,界面非常友好、易學易用、功能極其強大。它具有功能強大的編輯器、工程管理器以及各種編譯工具。由于單片機程序采用C語言編寫,因此程序的調(diào)試比較簡單。使用Keil uVision2提供了豐富的調(diào)試工具,使調(diào)試進行的非常順利,最后通過編譯并生成了hex可執(zhí)行文件,下圖4-1為程序部分調(diào)試過程圖。圖4-1 軟件調(diào)試過程圖5 總結(jié)本課題利用DHT11對溫濕度進行檢測,并采用STC12C5A60S2單片機對

溫馨提示

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

評論

0/150

提交評論