![家居溫濕度檢測(共33頁)_第1頁](http://file4.renrendoc.com/view/34ebaf616244129554fca94486c9c0a6/34ebaf616244129554fca94486c9c0a61.gif)
![家居溫濕度檢測(共33頁)_第2頁](http://file4.renrendoc.com/view/34ebaf616244129554fca94486c9c0a6/34ebaf616244129554fca94486c9c0a62.gif)
![家居溫濕度檢測(共33頁)_第3頁](http://file4.renrendoc.com/view/34ebaf616244129554fca94486c9c0a6/34ebaf616244129554fca94486c9c0a63.gif)
![家居溫濕度檢測(共33頁)_第4頁](http://file4.renrendoc.com/view/34ebaf616244129554fca94486c9c0a6/34ebaf616244129554fca94486c9c0a64.gif)
![家居溫濕度檢測(共33頁)_第5頁](http://file4.renrendoc.com/view/34ebaf616244129554fca94486c9c0a6/34ebaf616244129554fca94486c9c0a65.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 PAGE 0 畢業(yè)設(shè)計(b y sh j)(論文)(2015屆)2014年 10 月 01 日題 目: 家居環(huán)境檢測 專業(yè)名稱: 應(yīng)用電子工程技術(shù) 姓 名: 徐日達 學(xué) 號: 1210401031 班 級: 12 應(yīng)用電子技術(shù) 指導(dǎo)教師: 吳小玲 TOC o 1-3 h z u 目 錄 HYPERLINK l _Toc281996770 一 緒論(xln)1 HYPERLINK l _Toc281996773 1.1引言(ynyn)1 HYPERLINK l _Toc281996774 1.2選題(xun t)背景1 HYPERLINK l _Toc281996775 1.3 國內(nèi)外發(fā)展?fàn)顟B(tài)
2、1 HYPERLINK l _Toc281996771 二 設(shè)計目標(biāo)和要求2 HYPERLINK l _Toc281996772 三 方案論證與設(shè)計2方案論證2 設(shè)計2 HYPERLINK l _Toc281996773 3.1控制部分的方案選擇2 HYPERLINK l _Toc281996774 3.2測溫、濕部分的方案選擇2 HYPERLINK l _Toc281996775 3.3顯示部分的方案選3 HYPERLINK l _Toc281996776 四 硬件設(shè)計3 HYPERLINK l _Toc281996777 4.1電路設(shè)計框圖3 HYPERLINK l _Toc2819967
3、78 4.2系統(tǒng)硬件概述4 HYPERLINK l _Toc281996779 4.3主要單元電路設(shè)計44.3. HYPERLINK l _Toc281996780 1 AT89S52單片機簡介44.3. HYPERLINK l _Toc281996781 2單片機主控制模塊的設(shè)計64. HYPERLINK l _Toc281996783 3.3溫、濕度傳感器電路設(shè)計94. HYPERLINK l _Toc281996785 3.4 顯示模塊的設(shè)計94. HYPERLINK l _Toc281996785 3.5 按鍵模塊的設(shè)計9 HYPERLINK l _Toc281996786 五 軟件設(shè)
4、計105. HYPERLINK l _Toc281996788 1系統(tǒng)程序流程圖105. HYPERLINK l _Toc281996788 2按鍵程序流程圖105. HYPERLINK l _Toc281996788 3 LED程序流程圖105. HYPERLINK l _Toc281996788 4 溫、濕度程序流程圖105. HYPERLINK l _Toc281996790 5 液晶顯示流程圖 PAGEREF _Toc281996790 h 10 HYPERLINK l _Toc281996791 六 仿真與調(diào)試116. HYPERLINK l _Toc281996792 1 Prot
5、eus軟件運行流程116. HYPERLINK l _Toc281996794 2 硬件調(diào)試結(jié)果11 HYPERLINK l _Toc281996795 七 總結(jié)13 HYPERLINK l _Toc281996796 參考文獻14 HYPERLINK l _Toc281996797 附錄一:系統(tǒng)程序14 HYPERLINK l _Toc281996798 致謝22 PAGE 31 一 緒 論1.1引言(ynyn) 隨著科技水平的日益進步,人類的生活(shnghu)水平也在逐步的提高,對家居智能化也有了渴求,智能家居在今后的市場將越來越大。下面介紹一種溫濕度采集系統(tǒng)在智能家居的應(yīng)用方案。該方案
6、采用DHT11溫濕度傳感器,STC89S52單片機MCU, LCD128*64驅(qū)動和顯示器構(gòu)建一個家庭溫濕度采集系統(tǒng)(xtng),用來檢測室內(nèi)外溫濕度數(shù)據(jù)。 溫濕度采集系統(tǒng)的工作原理:分別在室內(nèi)外安裝兩個2個DHT11溫濕度傳感器,定時喚醒采集溫濕度的原始數(shù)據(jù),在DHT11內(nèi)部進行AD轉(zhuǎn)換,經(jīng)過I2C總線送往AT89S52處理。AT89S52可以根據(jù)需要啟用哪個采集節(jié)點的數(shù)據(jù)來降低能耗,并控制LCD驅(qū)動,最終的數(shù)據(jù)在LCD顯示屏上顯示,方便用戶讀取。1.2選題背景環(huán)境的監(jiān)測與控制在日常生活、農(nóng)業(yè)、國防等行業(yè)有著廣泛的應(yīng)用。由于應(yīng)用的場合不同監(jiān)測對象的不同,其系統(tǒng)設(shè)計也是千差萬別。在實際生活中此
7、類系統(tǒng)有著廣泛的應(yīng)用,溫室環(huán)境檢測系統(tǒng)中溫度和濕度是兩個重要的顯示和分析指標(biāo), 必須定期抽樣檢查室溫環(huán)境溫度和度,以便采取相應(yīng)的措施。最宜人的室內(nèi)溫濕度是:冬天溫度1825,濕度3080%;夏天溫度2328,濕度3060%。 濕度是與溫度有關(guān)的,此時,人的精神狀態(tài)好,工作效率高,思維最敏捷。因此,溫濕度測試儀意義很重大是生活中不可或缺的必備品。1.3國內(nèi)外發(fā)展?fàn)顟B(tài)目前國內(nèi)外的溫濕度檢測使用的溫濕度檢測元件種類繁多、 應(yīng)用范圍也較廣泛加之單片機和大規(guī)模集成電路技術(shù)的不斷提高,出現(xiàn)了高性能、高可靠性的單片數(shù)據(jù)采集系統(tǒng)?;趩螜C片的溫濕度監(jiān)測控制系統(tǒng)的設(shè)計研究較少。 隨著經(jīng)濟和社會的不斷發(fā)展, 人們
8、對自己的生活環(huán)境越來越嚴格。特別在溫室大棚中,對溫濕度要求更為嚴格?;趩纹瑱C的溫濕度監(jiān)測控制系統(tǒng), 將對環(huán)境的溫濕度監(jiān)測控制系統(tǒng)做詳細的設(shè)計與實現(xiàn)。 采用高性能的控制芯片89C51,高精度數(shù)字溫濕度傳感器 AM2301。向模塊化、高速化、智能化的單片機數(shù)據(jù)采集系統(tǒng)靠近。將此系統(tǒng)應(yīng)用到溫室大棚當(dāng)中無疑為植物的生活提供了更加適宜的環(huán)境,符合植物的生活環(huán)境要求,具有良好的發(fā)展前景。二 設(shè)計目標(biāo)(mbio)和要求本畢業(yè)設(shè)計(b y sh j)目標(biāo)和要求如下:1.基于(jy)單片機的溫度、濕度檢測系統(tǒng)的設(shè)計;2.測量范圍:濕度20-90%RH,溫度0503.測量精度:濕度+-5%,溫度+-214.顯示
9、效果設(shè)計:所測的溫、濕度值可以由液晶直接顯示5. 運用Proteus仿真,并利用Protel軟件設(shè)計硬件三 方案(fng n)論證與設(shè)計 方案(fng n)一:測溫、濕電路(dinl)。使用熱敏電阻之類的器件利用其感溫效應(yīng),將被測溫度變化的電壓或電流采集過來,進行A/D轉(zhuǎn)換后,就可以用單片機進行數(shù)據(jù)的處理,通過液晶就可以將被測溫、濕度顯示出來。方案二:使用溫、濕度傳感器?,F(xiàn)在流行使用單片機設(shè)計電路,所以可以采用一只溫、濕度傳感器DHT11,此傳感器可以很容易就能讀取到溫度值。 論證:方案一由于需要對被測溫、濕度變化的電壓或者電流采集,以及進行A/D轉(zhuǎn)換,感溫、濕度電路設(shè)計會比較麻煩,成本高。而
10、方案二設(shè)計只需一個單片機和一個DHT11就能很容易讀取溫度值,電路設(shè)計簡單,況且成本低,體積小,因而采用方案二。3.1 控制部分的方案選擇用可編程邏輯器件設(shè)計,但從性價比考慮,主控芯片使用AT89S52單片機,對溫度傳感器的數(shù)據(jù)進行采集以及傳送給液晶顯示。3.2 測溫、濕度部分的方案選擇DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號輸出的溫濕度復(fù)合傳感器,它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性和卓越的長期穩(wěn)定性。傳感器包括一個電阻式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機相連接。因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強、性價比極高等優(yōu)點。
11、每個DHT11傳感器都在極為精確的濕度校驗室中進行校準(zhǔn)。校準(zhǔn)系數(shù)以程序的形式存在OTP內(nèi)存中,傳感器內(nèi)部在檢測型號的處理過程中要調(diào)用這些校準(zhǔn)系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡易快捷。超小的體積、極低的功耗,使其成為同類應(yīng)用甚至最為苛刻的應(yīng)用場合的最佳選擇。產(chǎn)品為4針單排引腳封裝,連接方便。技術(shù)參數(shù)供電(n din)電壓:3.35.5V DC輸出(shch):單總線數(shù)字信號測量范圍:濕度(shd)20-90%RH,溫度050測量精度:濕度+-5%RH, 溫度+-2分辨率:濕度1%RH, 溫度1互換性:可完全互換 長期穩(wěn)定性:1%RH/年3.3 顯示部分的方案選擇帶中文字庫的128X64 是一
12、種具有4 位/8 位并行、2 線或3 線串行多種接口方式,內(nèi)部含有國標(biāo)一級、二級簡體 中文字庫的點陣圖形液晶顯示模塊;其顯示分辨率為12864, 內(nèi)置8192 個16*16 點漢字,和128 個16*8 點ASCII 字符 集.利用該模塊靈活的接口方式和簡單、方便的操作指令,可構(gòu)成全中文人機交互圖形界面??梢燥@示84 行1616 點 陣的漢字. 也可完成圖形顯示.低電壓低功耗是其又一顯著特點。由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點陣液晶顯示模塊相比,不論硬件電路結(jié)構(gòu)或顯示程序都要簡潔得多,且該模塊的價格也略低于相同點陣的圖形液晶模塊。四 硬件(yn jin)設(shè)計4.1電路設(shè)計框圖(kung
13、t)綜上所述,按照系統(tǒng)(xtng)設(shè)計功能的要求,確定硬件由主控制器、測溫、濕電路、顯示模塊、按鍵模塊、復(fù)位模塊等模塊組成,設(shè)計了硬件整體的框圖:Led指示 AT89S52主控電路DHT11溫、濕度探測128*64液晶顯示器Led指示復(fù)位電路電源電路按鍵輸入圖4.1 數(shù)字體溫計構(gòu)成框圖用DHT11來檢測當(dāng)前的環(huán)境溫、濕度;AT89S52單片機通過輸出各種電脈沖信號來驅(qū)動控制各部分正常工作;溫、濕度等數(shù)據(jù)則最終通過液晶模塊顯示出來。2. 系統(tǒng)硬件概述本電路是以AT89S52單片機為控制核心,該芯片具有在線編程功能,功耗低,能在3.3V的超低壓下工作;驅(qū)動部分采用74HC537,它是一款高性能、低
14、功耗、,其工作電壓為2.5V5.5V;溫、濕4度檢測模塊由DHT11構(gòu)成, DHT11由一個電阻式感濕元件和一個NTC測溫元件組成, 具有測量精度高、測量范圍廣等優(yōu)點,其溫度050,工作電壓為3v5.5v;顯示部份使用液晶顯示屏來實現(xiàn),該顯示具有內(nèi)容豐富的特點。3. 主要(zhyo)單元電路設(shè)計 3.1 AT89S52單片機簡介(jin ji) AT89S52是一種(y zhn)低功耗、高性能的8位CMOS微控制器,具有8K的可編程Flash 存儲器。使用高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上
15、,擁有靈巧的8位CPU和在線系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52具有以下標(biāo)準(zhǔn)功能:8K字節(jié)Flash,256字節(jié)RAM,32位I/O 口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。引腳排列如圖4.2所示。
16、圖4.2 AT89S52引腳圖從引腳功能來看,可將引腳分為三部分:a、電源及時鐘引腳VCC:接+5V電源(dinyun);VSS:接地(jid);XTAL1和XTAL2:時鐘引腳,外接晶體(jngt)引線端。當(dāng)使用芯片內(nèi)部時鐘時,此兩引腳端用于外接石英晶體和微調(diào)電容;當(dāng)使用外部時鐘時,用于接外部時鐘脈沖信號。b、控制引腳RST/VPT:RST是復(fù)位信號輸入端,VPT是備用電源輸入端。當(dāng)RST輸入端保持2個機器周期以上高電平時,單片機完成復(fù)位初始化操作。當(dāng)主電源VCC發(fā)生故障而突然下降到一定低電壓或斷電時,第2功能VPT將為片內(nèi)RAM提供電源以保護片內(nèi)RAM中的信息不丟失。ALE/PROG:地址
17、鎖存允許信號輸出端。在存取外存儲器時,用于鎖存低8位地址信號。當(dāng)單片機正常工作后,ALE端就會周期性地以時鐘振蕩頻率的1/6固定頻率向外輸出正脈沖信號。此引腳的第2功能PROG是對片內(nèi)帶有4K字節(jié)EPROM的8751固化程序時,作為編程脈沖輸入端。PSEN:程序存儲允許輸出端。是片外程序存儲器的讀選通信號,低電平有效。CPU從外部程序存儲器取指令時,PSEN信號會自動產(chǎn)生負脈沖,作為外部程序存儲器的選通信號。EA/VPP:程序存儲器地址允許輸入端。當(dāng)EA為高電平時,CPU執(zhí)行片內(nèi)程序存儲器指令,但當(dāng)PC中的值超過0FFFFH時,將自動轉(zhuǎn)向執(zhí)行片外程序存儲器指令;當(dāng)EA為低電平時,CPU只執(zhí)行片
18、外程序存儲器指令。對8031單片機,EA必須接低電平。在8751中,當(dāng)對片內(nèi)EPROM編程時,該端接21V的編程電壓。C、I/O口引腳P0.0P0.7:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。P1.0P1.7:P1口是一個具有內(nèi)部上拉電阻的8位雙向I/O口。作為輸出口,每位能驅(qū)動4個TTL邏輯電平。此外,P1.0和P1.2分別作定時器/計數(shù)器2的外部計數(shù)輸入(P1.0/T2)和時器/計數(shù)器2的觸發(fā)輸入(P1.1/T2EX)。在flash編程和校驗
19、時,P1口接收低8位地址字節(jié)。 P2.0P2.7:P2口是一個具有內(nèi)部上拉電阻的8位雙向I/O口。作為輸出口,每位能驅(qū)動4個TTL邏輯電平。在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器時,P2口送出高八位地址。在使用8位地址訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗時,P2口也接收高8位地址字節(jié)和一些控制信號。 P3.0P3.7:P3口是一個(y )具有內(nèi)部上拉電阻的8位雙向I/O口。作為輸出(shch)口,每位能驅(qū)動4個TTL邏輯電平(din pn)。P3口亦作為AT89S52特殊功能(第二功能)使用。在flash編程和校驗時,P3口也接收一些控制信號。
20、3.2 單片機主控制模塊的設(shè)計本設(shè)計中單片機主要負責(zé)對外設(shè)的控制和各個功能模塊間的協(xié)調(diào),沒有復(fù)雜的數(shù)據(jù)計算,因此,8位的51系列單片機足以勝任。51單片機以其低廉的價格以及較出色的性能成了很多控制系統(tǒng)的首選。它具有豐富的內(nèi)部資源,較大的數(shù)據(jù)、程序存儲區(qū)。一個典型的單片機最小系統(tǒng)一般由時鐘電路、復(fù)位電路、電源指示燈和外部擴展接口等部分組成,本系統(tǒng)也不例外,當(dāng)單片機具備了這些最基本的條件后,就可以正常工作了。單片機的最小系統(tǒng)如圖4.3所示,單片機的XTAL0和XTAL1引腳用于連接晶振電路。XTAL0接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸入,XTAL1接外部晶振和微調(diào)電容的另一
21、端,在片內(nèi)它是振蕩器倒相放大器的輸出。RESET為復(fù)位引腳,連接復(fù)位電路,它用于對單片機進行初始化。復(fù)位電路包括復(fù)位電容(C6)、復(fù)位電阻(R3)和復(fù)位開關(guān)(S4)。VSS為電源地,VCC為電源正。圖4.3 單片機最小系統(tǒng)(xtng)單片機最小系統(tǒng)(xtng)復(fù)位、晶振電路簡介(1)復(fù)位(f wi)電路的設(shè)計復(fù)位電路是使單片機的CPU或系統(tǒng)中的其他部件處于某一確定的初始狀態(tài),并從這上狀態(tài)開始工作。 = 1 * GB3 * MERGEFORMAT 單片機常見的復(fù)位電路通常單片機復(fù)位電路有兩種:上電復(fù)位電路,按鍵復(fù)位電路。上電復(fù)位電路:上電復(fù)位是單片機上電時復(fù)位操作,保證單片機上電后立即進入規(guī)定的
22、復(fù)位狀態(tài)。它利用的是電容充電的原理來實現(xiàn)的。按鍵復(fù)位電路:它不僅具有上電復(fù)位電路的功能,同時它的操作比上電復(fù)位電路的操作要簡單的多。如果要實現(xiàn)復(fù)位的話,只要按下RESET鍵即可。它主要是利用電阻的分壓來實現(xiàn)的在此設(shè)計中,采用的上電自動復(fù)位電路。按鍵復(fù)位電路如圖4.4所示。圖4.4復(fù)位電路 = 2 * GB3 * MERGEFORMAT 復(fù)位電路工作原理 上電復(fù)位要求接通電源后,單片機自動實現(xiàn)復(fù)位操作。上電瞬間RESET引腳獲得高電平,隨著電容的充電,RERST引腳的高電平將逐漸下降。RERST引腳的高電平只要能保持足夠的時間(2個機器周期),單片機就可以進行復(fù)位操作。上電與按鍵均有效的復(fù)位電路
23、不僅在上電時可以自動復(fù)位,而且在單片機運行期間,利用按鍵也可以完成復(fù)位操作(2)晶振電路(dinl)的設(shè)計 晶振電路用于產(chǎn)生單片機工作所需要的時鐘信號,而時序所研究的是指令執(zhí)行中各信號之間的相互關(guān)系。單片機本身就如一個(y )復(fù)雜的同步時序電路,為了保證同步工作方式的實現(xiàn),電路應(yīng)在唯一的時鐘信號控制下嚴格地工作。通常(tngchng)在引腳XTALl和XTAL2跨接石英晶體和兩個補償電容構(gòu)成自激振蕩器,如圖4. 5Y1、C1、C2??梢愿鶕?jù)情況選擇6MHz、12MHz或24MHz等頻率的石英晶體,補償電容通常選擇30pF左右的瓷片電容。 圖4.5晶振電路3.3 溫、濕度傳感器電路設(shè)計數(shù)字溫、濕
24、度傳感器DHT11適用于各種狹小空間設(shè)備數(shù)字測溫和控制領(lǐng)域。圖4.6 DHT11封裝圖4.7 DHT11接線圖DHT11的主要特性 = 1 * GB3 * MERGEFORMAT 適應(yīng)電壓范圍更寬,電壓范圍:3.05.5V,在寄生(jshng)電源方式下可由數(shù)據(jù)線供電。 = 2 * GB3 * MERGEFORMAT 獨特(dt)的單線接口方式,DTH11在與微處理器連接(linji)時僅需要一條口線即可實現(xiàn)微處理器與DHT11的雙向通訊。 = 3 * GB3 * MERGEFORMAT DHT11支持多點組網(wǎng)功能,多個DHT11可以并聯(lián)在唯一的三線上,實現(xiàn)組網(wǎng)多點測溫。 = 4 * GB3
25、* MERGEFORMAT DHT11在使用中不需要任何外圍元件,全部 傳感元件及轉(zhuǎn)換電路集成電路內(nèi)。 = 5 * GB3 * MERGEFORMAT 溫度范圍050,溫度測量精度+-2。 3.4 顯示模塊的設(shè)計本設(shè)計中由于要對溫、濕度及萬年歷進行顯示,所以選擇液晶模塊作為輸出。外圍電路配置相對簡單,顯示內(nèi)容豐富,便于人機互動。圖4.8 液晶顯示模塊3.5 按鍵模塊的設(shè)計 本設(shè)計采用按鍵接低的方式來讀取按鍵,單片機初始時,因為為高電平,當(dāng)按鍵按下的時候,會給單片機一個低電平,單片機對信號進行處理圖4.9 按鍵模塊單片機鍵盤有獨立鍵盤和矩陣式鍵盤兩種:獨立鍵盤每一個I/O 口上只接一個按鍵,按鍵
26、的另一端接電源或接地,這種接法程序比較簡單且系統(tǒng)更加穩(wěn)定;而矩陣式鍵盤式接法程序比較復(fù)雜,但是占用的I/O少。根據(jù)本設(shè)計的需要這里選用了獨立式鍵盤接法。五 軟件設(shè)計 5.1系統(tǒng)(xtng)程序流程圖如下所示開始初始化讀取AD轉(zhuǎn)換溫濕度判斷當(dāng)前溫濕度范圍執(zhí)行相應(yīng)程序N判斷按鍵是按下Y設(shè)置相應(yīng)參數(shù)顯示相應(yīng)內(nèi)容結(jié)束圖5.1系統(tǒng)(xtng)程序流程圖5.2按鍵(n jin)程序流程圖下圖所示(a) 判別鍵盤上有無鍵按下。其方法(fngf)為掃描鍵盤接入口,若全為“1”,則鍵盤無鍵按下,若不全為“1”,則有鍵按下。(b) 去除鍵的抖動影響。其方法為判斷到有鍵按下后,軟件延時一段時間(一般為10ms左右)
27、后,再判斷鍵盤狀態(tài),如果仍為按下狀態(tài),則認為有一個確定的鍵按下,否則按鍵抖動處理。當(dāng)鍵盤釋放時,判斷到有鍵釋放也軟件延時一段時間,如果仍為鍵釋放狀態(tài),則認為鍵確實釋放了。(b)求按鍵位置,對各鍵進行逐個掃描,最后卻定按下的鍵號。圖5.2按鍵(n jin)程序流程圖圖5.3 LED 顯示流程圖N結(jié)束執(zhí)行相應(yīng)程序Y有控制指令Led端口初始化開始5.3 LED程序(chngx)流程圖5.4 溫、濕度程序(chngx)流程圖開始初始化DHT11應(yīng)答脈沖發(fā)起SkipRom命令發(fā)起Convert T命令延時1s等待溫度轉(zhuǎn)換完成初始化DHT11應(yīng)答脈沖?讀取第1,2字節(jié)即為溫、濕度數(shù)據(jù)發(fā)起Read Scra
28、tchpad命令YesNoNoYes溫、濕度讀取流程圖如圖5.4所示。流程圖分析:開始(kish)進入初始化DHT11,就是通過主機拉低單線產(chǎn)生復(fù)位脈沖然后釋放該線,如果有應(yīng)答脈沖,即發(fā)起ROM命令當(dāng)成功的執(zhí)行操作命令后,就使用(shyng)Convert T命令即開始溫度轉(zhuǎn)換,當(dāng)轉(zhuǎn)換完后,又初始化DHT11是否有應(yīng)答脈沖(michng),若有,就發(fā)起Read Scratchpad(讀取暫存器和CRC字節(jié))命令,既同時讀出第1,2個字節(jié),即為溫度的數(shù)據(jù)。圖5.4 DHT11測溫程序流程5.5 液晶顯示程序流程圖顯示程序流程圖如圖5.4。流程圖分析:首先對液晶段控制端P2口賦值P2=0 x00,
29、然后打開位控制端P2.0,這樣的作用是消除顯示殘影,使顯示清晰。顯示時先向段控制寫入數(shù)據(jù),再打開位控制,這樣就可以把數(shù)據(jù)準(zhǔn)確地顯示到液晶。六 仿真(fn zhn)與調(diào)試6.1 Proteus軟件(run jin)運行流程Proteus ISIS的工作界面是一種(y zhn)標(biāo)準(zhǔn)的Windows界面,如圖所示。包括:標(biāo)題欄、主菜單、標(biāo)準(zhǔn)工具欄、繪圖工具欄、狀態(tài)欄、對象選擇按鈕、預(yù)覽對象方位控制按鈕、仿真進程控制按鈕、預(yù)覽窗口、對象選擇器窗口、圖形編輯窗口。 運行Proteus程序后,進入軟件的主界面。通過左側(cè)工具欄中的P(從庫中選擇元件命令)命令,在Pick Devices 左側(cè)窗口中選擇所需元
30、件的關(guān)鍵字,然后放置元件并調(diào)整方向和位置以及參數(shù)設(shè)置,最后進行連線。 將所需要的元器件放置好后,繪制成原理圖,導(dǎo)入程序仿真圖如下圖6.1溫、濕度傳感器仿真圖2. 硬件調(diào)試結(jié)果 數(shù)字體溫、濕計的電路,對于焊接方面不可輕視,只要電路系統(tǒng)中出于一處的錯誤,就會對檢測造成很大的不便,而且電路的交線較多,對于各種鋒利的引腳要注意處理,否則會刺破帶有包皮的導(dǎo)線,則會對電路造成短路現(xiàn)象。在本次(bn c)數(shù)字(shz)體溫計的設(shè)計調(diào)試中遇到了很多的問題?;叵脒@些問題只要認真多思考都是可以避免(bmin)的,以下為主要的問題:(1)由于沒有做復(fù)位電路,使得輸出信號不正常,跟所設(shè)計的電平不一樣。(2)燒入程序后
31、,顯示亮度不好。解決:對電路進行測試,如對單片機的輸出管腳信號進行測試,觀察是否存在漏焊,虛焊,或者元件損壞的現(xiàn)象。若無此問題查看燒寫的程序是否正確無誤,對程序進行認真修改。當(dāng)顯示亮度不好時阻器的阻值,直到看到合適的亮度為止。經(jīng)過多次的反復(fù)調(diào)試與分析,可以對電路的原理及功能更加熟悉,同時提高了設(shè)計能力與及對電路的分析能力。同時在軟件的編程方面得到更到的提高,對編程能力得到加強,同時對所學(xué)的知識得到很大的提高與鞏固。如下為硬件實物圖: 圖6.2硬件實物圖按下設(shè)置鍵:屏幕的右下角會顯示數(shù)字07,其分別設(shè)置星期、最高溫濕度、最低溫濕度、分、時、日、月、年;按下加減(ji jin)鍵:分別對應(yīng)個數(shù)值的
32、加減;七 總 結(jié) 經(jīng)過一番(y fn)努力后,數(shù)字(shz)溫濕計設(shè)計的終于完成。在未做該項設(shè)計前,我對DHT11這個溫、濕度傳感器不怎么了解,由于設(shè)計的需要我查閱了關(guān)于DHT11 的資料才發(fā)現(xiàn)它的功能是如此強大的,使用又很方便。在設(shè)計該溫、濕計的過程中,我首先按照溫、濕計的功能設(shè)計出其大致的電路方框圖,然后分析各個功能模塊:溫度、濕采集模塊、信號轉(zhuǎn)換模塊、液晶顯示模塊的。選好材后畫出電路原理圖,再到編寫程序,最后進行仿真,這次課題設(shè)計可以說成功完成。說到編寫程序是可花了不少功夫,因為該設(shè)計需要精確到小數(shù)位的個位,這個可給我?guī)砹丝鄲溃谕瑢W(xué)的幫助下最終解決了這個問題。實驗結(jié)果表明此溫度體溫計
33、實現(xiàn)后具有讀取方便、顯示直觀、電路簡潔等優(yōu)點,符合電子儀器儀表的發(fā)展趨勢,具有良好的市場前景。 在整個設(shè)計過程中,充分發(fā)揮了人的主觀能動性,自主學(xué)習(xí),學(xué)到了許多沒學(xué)到的知識。程序編寫中,由于思路不清晰,開始時遇到了很多的問題,經(jīng)過靜下心來思考查資料,和同學(xué)討論,向老師請教,理清了思路,完成對程序的編寫。通過設(shè)計提高了對單片機的認識,進一步熟悉和掌握單片機的結(jié)構(gòu)及工作原理。通過實際程序設(shè)計和調(diào)試,逐步掌握模塊化程序設(shè)計方法和調(diào)試技術(shù),提高軟件設(shè)計、調(diào)試能力;通過這次設(shè)計熟悉以單片機核心的應(yīng)用系統(tǒng)開發(fā)的全過程,掌握硬件電路設(shè)計的基本方法和技術(shù),掌握相關(guān)電路參數(shù)的計算方法。最終較好的完成了設(shè)計,達到
34、了預(yù)期的目的。但是由于個人能力的原因,沒能解決所顯示的數(shù)字有些閃動的效果,以及焊接技能需要加強鍛煉,在功能方面是顯得的簡單一些,只實現(xiàn)了一個最基本的功能,還有許多不足和可以擴展的地方。例如多頁面操作或語音報警等,這些有待以后來彌補,還望各位老師予以指正和修改。致 謝在學(xué)校領(lǐng)導(dǎo)(ln do)的關(guān)懷下;在吳小玲老師的耐心指導(dǎo)下;在各位同學(xué)、朋友的貼心幫助下,本設(shè)計(shj)成功完成。由于該設(shè)計較為普通,為了突出(t ch)它體溫濕計的特點,吳老師給我提了建議,要在精確度上要突出,把小數(shù)的顯示提高到兩位,這樣可以讓使用者對溫度的準(zhǔn)確性更為樂觀。我想如果沒有吳老師這開放性思想的指導(dǎo)我就很難在此有所突破
35、了。她待人和藹、認真求實的工作作風(fēng),對指導(dǎo)畢業(yè)設(shè)計工作積極負責(zé)的態(tài)度都深深影響著即將走出社會的我。讓我不僅系統(tǒng)的掌握了專業(yè)知識體系,也讓我有了正確的態(tài)度和堅定地信念去面對未來。當(dāng)然我的親朋好友、同學(xué)也給予了我太多的幫助,大家互相鼓勵、一起探討,讓我們的畢業(yè)設(shè)計順利完成。最后,我對所有關(guān)心我們的領(lǐng)導(dǎo)、老師和同學(xué)、朋友表示最為真切的感謝!參考文獻【1】楊黎,基于C語言的單片機應(yīng)用技術(shù)(jsh)與Proteus仿真,2012年第1版 【2】 宋衛(wèi)海、楊德現(xiàn),數(shù)字(shz)電子技術(shù),北京大學(xué)(bi jn d xu)出版社,2009年第1版附錄(fl)一:系統(tǒng)(xtng)程序主程序/*/*畢業(yè)設(shè)計(b
36、y sh j):家居環(huán)境監(jiān)測*/*芯片AT89S52,顯示128*64,溫濕傳感器DHT11*/*作者:徐日達*/*時間:2014-9-14 */*/#include#define uchar unsigned char#define uint unsigned intuchar lcd_x,lcd_y,data_byte=0,count; /LCD128 * 64 顯示參數(shù)uint TH_data,TL_data,RH_data,RL_data,CK_data; /DTH11溫濕度參數(shù)uint TH_temp,TL_temp,RH_temp,RL_temp,CK_temp; /DTH11溫濕
37、度參數(shù)uchar code CCW8=0 x98,0 x9c,0 x94,0 x96,0 x92,0 x93,0 x91,0 x99;uchar code CW80=0 xf9,0 xf1,0 xf3,0 xf2,0 xf6,0 xf4,0 xfc,0 xf8;uint p;/*時間*/unsigned int year=14; /初始化年year:2014uchar num,RH_dat=30,RH_da=60;char hour = 21, min = 56, sec = 0,N=0,moth=9,day=26,week=3,miao=0; /hour:時;min:分;sec:秒;N:選擇
38、提示;moth:月;day:日;week:星期;miao:秒;/初始化要顯示的值sbit S3 = P32; /定義開關(guān)s3選擇鍵sbit S4 = P35;/s4加一鍵sbit S5 = P34;/s5減一鍵sbit RS=P20;sbit RW=P21;sbit EN=P22;sbit PSB=P23;sbit RST=P11;sbit io=P30;/io=DHT11數(shù)據(jù)(shj)接收/發(fā)送(f sn)口sbit led=P15;/*函數(shù)(hnsh)聲明*/void T1_ini();/定時器int Adjustment();/調(diào)整時鐘部分void read_io();void dela
39、y(uint a);/延時void LCD_init();/*初始化*/void write_cmd(uchar cmd);void write_data(uchar dat);bit check_busy();void clock_delay(unsigned i);void delay1();void lcd_dis_code(uint cmd_addr,uchar num,uchar dis);void lcd_pos(unsigned char X,unsigned char Y);void shizhong(); /時鐘void delay2(int t); /電機延時void di
40、anji(); /電機/*/uchar code SEG_TAB =0,1,2,3,4,5,6,7,8,9;/0-9數(shù)字uchar code lcd=日期: 20;uchar code lcd5=時間: ;uchar code lcd1=溫度: ;uchar code lcd2=濕度: ;uchar code lcd3=;uchar code lcd4=%RH;uchar code lcd6=比較;uchar code lcd6_1=干燥;uchar code lcd7=溫度適宜;uchar code lcd7_1=適宜;uchar code lcd8=天氣;uchar code lcd8_1
41、=潮濕;uchar str1=;uchar str2=; /*/void shiwen() read_io();lcd_pos(4,3); /地址write_data(str10); /濕度write_data(str11); /濕度write_data(.);write_data(str12);lcd_pos(3,3); write_data(str20); /溫度write_data(str21); /溫度write_data(.);write_data(str22); delay(500); void main() LCD_init(); lcd_dis_code(0 x80,9,lcd
42、); /顯示函數(shù) lcd_dis_code(0 x90,9,lcd5); lcd_dis_code(0 x88,6,lcd1); lcd_dis_code(0 x98,6,lcd2); lcd_dis_code(0 x8d,2,lcd3); lcd_dis_code(0 x9d,5,lcd4); while(1) shizhong(); shiwen();dianji(); int Adjustment()/調(diào)整(tiozhng)時鐘部分if(S3=0) delay(3); N+; if(N6) N=0; lcd_pos(4,7); write_data(SEG_TABN); /顯示(xins
43、h)切換鍵位所示的位置 N/0:濕度(shd),1:分,2:時,3:日,4:月,5:年 6:星期 while(!S3); if(S4=0)/時間調(diào)整-加 delay(3); if(N=1) RH_dat=RH_dat+5;str13=(char)(0 x30+RH_dat/10); /濕度 str14=(char)(0 x30+RH_dat%10); if(RH_dat=95) RH_dat=30; lcd_pos(4,3); /地址 write_data(str13);/濕度write_data(str14);/濕度return RH_dat; if(N=2) / 分 min+; if(mi
44、n=60) min=0; if(N=3)/時 hour +;if(hour=24) hour=0; if(N=4) /日 day+;if(moth=2&(year%4=0)&day=30)day=1; /閏年2月天數(shù)計算 if(moth=2&(year%4!=0)&day=29)day=1; /平年2月 if(moth=4|moth=6|moth=9|moth=11)&day=31)day=1;/4,6,9,11月計算 if(day=32)day=1;/1,3,5,7,8,10,12月天數(shù)(tinsh)計算 if(N=5) /月 moth+; if(moth=13)moth=1; if(N=6
45、) /年 year+; if(year=51)year=0; if(N=0) week+; if(week=8) week=1; while(!S4); if(S5=0)/時間(shjin)調(diào)整-減 delay(3); if(N=1) /電機(dinj)正轉(zhuǎn) RH_da=RH_da+5; str13=(char)(0 x30+RH_da/10); /精確度 str14=(char)(0 x30+RH_da%10); if(RH_da=95) RH_da=60; lcd_pos(4,3);/地址 write_data(str13); /濕度 write_data(str14); /濕度retur
46、n RH_dat; if(N=2) min-; if(min0) min=59; if(N=3) hour-; if(hour0) hour=23; if(N=4) day-; if(moth=2&(year%4=0)&day1)day=29; if(moth=2&(year%4!=0)&day1)day=28; if(moth=4|moth=6|moth=9|moth=11)&day1)day=30; if(day1) day=31; if(N=5) moth-; if(moth=0)moth=12; if(N=6) year-; if(year0)year=50; if(N=0) week
47、-; if(week=0) week=7; while(!S5); return RH_dat;void delay1()/延時 unsigned char i; for(i=0;i3;i+); void lcd_pos(unsigned char X,unsigned char Y) /128*64地址(dzh) unsigned char pos; if(X=1) pos=0 x80; else if(X=2) pos=0 x90; else if(X=3) pos=0 x88; else pos=0 x98; write_cmd(Y|pos); /*DHT11*/*溫濕(wn sh)傳感
48、*/uchar receive_byte()uchar i,temp;for(i=0;i8;i+)count=2;while(!io)&count+)/io=DHT11數(shù)據(jù)接收(jishu)/發(fā)送口temp=0;delay1();delay1();delay1();if(io=1) temp=1; count=2; while(io&count+); else temp=0; data_byte=1; data_byte|=temp; return(data_byte); void read_io() /濕溫 io=0; delay(18); io=1; delay1(); delay1();
49、 delay1(); delay1(); io=1; if(!io) count=2; while(!io)&count+); count=2; while(io&count+); RH_temp=receive_byte(); RL_temp=receive_byte(); TH_temp=receive_byte(); TL_temp=receive_byte(); CK_temp=receive_byte(); io=1; num=(RH_temp+RL_temp+TH_temp+TL_temp); if(num=CK_temp) RH_data=RH_temp; RL_data=RL_
50、temp; TH_data=TH_temp; TL_data=TL_temp; CK_data=CK_temp; str10=(char)(0 x30+RH_data/10); /精確度 str11=(char)(0 x30+RH_data%10); str12=(char)(0 x30+RL_data/10); str20=(char)(0 x30+TH_data/10); str21=(char)(0 x30+TH_data%10); str22=(char)(0 x30+TL_data/10); void lcd_dis_code(uint cmd_addr,uchar num,uchar dis) /*128*64讀取數(shù)據(jù)*/ uint i; write_cmd(cmd_addr); for(i=0;inum;i+) write_data(disi);void LCD_init() /*初始化*/ PSB=1; RST=0; delay(5); RST=1; delay(5); write_cmd(0 x34); delay(5); write_cmd(0 x30); delay(5); writ
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度智能安防系統(tǒng)集成項目采購合同(二零二五版)
- 2025年度人工智能技術(shù)研發(fā)供銷合同范本
- 2025年度智慧城市建設(shè)關(guān)鍵項目履約擔(dān)保合同模板
- 2025年度航空航天飛行控制系統(tǒng)采購意向協(xié)議合同
- 2025年度智慧醫(yī)療信息系統(tǒng)工程借款合同書
- 2025年度國際貨物貿(mào)易運輸質(zhì)量保證合同范本
- 2025年度空調(diào)清洗設(shè)備進出口貿(mào)易合同
- 2025年度公寓酒店門鎖系統(tǒng)智能化改造與節(jié)能改造合同
- 2025年度建筑工地建筑材料環(huán)保認證服務(wù)合同
- 2025年度智能交通系統(tǒng)建設(shè)合作合同
- 心力衰竭業(yè)務(wù)學(xué)習(xí)護理課件
- 《項脊軒志》公開課課件【一等獎】
- 美發(fā)學(xué)徒助理職業(yè)規(guī)劃書
- 法醫(yī)病理學(xué)課件
- 職代會提案征集表
- 介紹uppc技術(shù)特點
- 《諫逐客書》理解性默寫(帶答案)最詳細
- 《黑駿馬》讀書筆記思維導(dǎo)圖
- 2023年物理會考真題貴州省普通高中學(xué)業(yè)水平考試試卷
- 盤扣式懸挑腳手架專項施工方案
- 高中教師業(yè)務(wù)知識考試 數(shù)學(xué)試題及答案
評論
0/150
提交評論