基于單片機(jī)的的智能晾衣系統(tǒng)設(shè)計_第1頁
基于單片機(jī)的的智能晾衣系統(tǒng)設(shè)計_第2頁
基于單片機(jī)的的智能晾衣系統(tǒng)設(shè)計_第3頁
基于單片機(jī)的的智能晾衣系統(tǒng)設(shè)計_第4頁
基于單片機(jī)的的智能晾衣系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上安徽大學(xué)嵌入式系統(tǒng)工程訓(xùn)練課程設(shè)計報告題 目基于單片機(jī)的智能晾衣系統(tǒng)設(shè)計學(xué) 院電子信息工程學(xué)院專 業(yè)通信工程專業(yè)組員 姓名與學(xué)號指導(dǎo)教師張紅偉、趙博2018 年 7月 專心-專注-專業(yè)基于單片機(jī)的的智能晾衣系統(tǒng)設(shè)計摘要 隨著社會經(jīng)濟(jì)水平的發(fā)展,現(xiàn)在人們的生活追求個性化、自動化,追求快節(jié)奏,追求充滿樂趣的生活方式,家裝要求的檔次越來越高,生活家居人性化、智能化的要求使智能控制技術(shù)在智能家居電子產(chǎn)品中得到了廣泛應(yīng)用,伴隨著智能家居的快速發(fā)展,晾衣工具的智能化發(fā)展明顯落后與其他家用器具智能化發(fā)展之后,現(xiàn)在己經(jīng)引起社會的很大關(guān)注。本論文為了把握市場動態(tài),順應(yīng)時代主題,設(shè)計并實

2、現(xiàn)了智能晾衣架系統(tǒng)。 采用單片機(jī)進(jìn)行采集光照、雨滴兩個外部天氣信號,并通過單片機(jī)控制旋轉(zhuǎn)衣架,旋轉(zhuǎn)衣架通過步進(jìn)電機(jī)進(jìn)行調(diào)節(jié),當(dāng)外部天晴,且無雨時,將衣架轉(zhuǎn)出,晾曬衣物;當(dāng)下雨或者沒有陽光時,轉(zhuǎn)回室內(nèi),防止被雨打濕,或者天已黑。其中光照傳感器采用光敏電阻,雨滴傳感器采用LY-69雨滴檢測傳感器,控制硬件采用步進(jìn)電機(jī),按鍵電路設(shè)定光照和雨滴的閾值,L602液晶顯示感測量和設(shè)定值,及工作狀態(tài)。通過設(shè)計和實驗調(diào)試完成了基于單片機(jī)的智能晾衣系統(tǒng)。目錄 一.引言.41.1課題研究背景與意義.41.2本設(shè)計的發(fā)展現(xiàn)狀.41.3 研究方法.51.4 研究內(nèi)容.5二智能晾衣系統(tǒng)的硬件設(shè)計.52.1 設(shè)計要求.5

3、2.2整體設(shè)計框圖.62.3 系統(tǒng)組成概述.62.4 系統(tǒng)設(shè)計要求.72.5 光強(qiáng)采集模塊.72.6 溫濕度傳感模塊.82.7 驅(qū)動模塊.92.8 顯示模塊.10三基于單片機(jī)的的智能晾衣系統(tǒng)的軟件設(shè)計.113.1系統(tǒng)分析.113.2 STC89C52RC單片機(jī)介紹.123.3程序設(shè)計.143.4 軟件算法 .14四實驗調(diào)試.16五結(jié)論與展望.18六心得.18參考文獻(xiàn).20一、引言1.1 研究背景與意義基于現(xiàn)在晾衣架發(fā)展現(xiàn)狀,本設(shè)計開發(fā)了一種能幫助人們擺脫原始操作的智能晾衣架。本新型晾衣架主要特點在于:可以伸縮,操作簡單,占地面積小,美觀實尸構(gòu)優(yōu)點。同類產(chǎn)品雖有可收縮式的,但屬組裝而成,操作比較

4、麻煩,而本晾才架只需按下打開按鍵,衣架桿即可自動伸展開來。同時晾衣架能識別晴雨天氣一自動完成收衣服功能的目的。晴雨智能晾衣架能有效地避免在下雨時,衣服無人收起而被雨淋濕;或在天色變晚時,衣架能自動收回,避免衣服在外面過夜1.2 智能晾衣架的發(fā)展現(xiàn)狀在中國各大中城市以及農(nóng)村普遍是將衣物晾曬于陽臺內(nèi)部或外部,而傳統(tǒng)的晾曬衣物方式是陽臺內(nèi)天花板下設(shè)置有鋼筋掛鉤,鉤卜通常是掛有竹桿或其它桿體。人們通常習(xí)慣于用一支撐桿將衣物支撐到晾衣桿晾曬,這樣晾曬衣物費時費力,而且布置鋼筋及竹桿與當(dāng)今現(xiàn)代化建筑結(jié)構(gòu)的陽臺也不搭配、有失雅觀。另外,家庭通常大都是老人晾衣物,因此,傳統(tǒng)的支撐曬衣、收衣不僅是費神費力,而目

5、.容易扭傷筋胃·或支撐不順扎傷人體。正因傳統(tǒng)晾曬衣方式有眾多的不便,后出現(xiàn)手搖晾衣架,手搖晾衣架改變了支撐晾衣架的傳統(tǒng)習(xí)慣,同時也給眾多家庭帶來了更多的方便。但手搖晾衣架需設(shè)置多個機(jī)械裝置和支撐點,同時需多根網(wǎng)線布置來帶動其晾衣桿上下升降。由幾支撐點及多根網(wǎng)線的布置,手搖式晾衣架給原本漂亮的陽臺增添了不美的因素。其次,手搖晾衣架的升降每次都要人工轉(zhuǎn)換接頭,目.需要人力搖動慢慢將桿升降,若晾桿承載的衣物重量過大,搖上去既費力又容易傷手。因此,手搖晾衣架雖然改變傳統(tǒng)支撐晾衣的不便,但沒有徹底改變費神費力的根本狀態(tài)。人們期望著一種更方便更美觀的新型晾衣架的出現(xiàn)。1.3 研究方法(1)文獻(xiàn)法

6、。由于本研究將會觸及到很多單片機(jī)方面的繪圖以及變成等方面的知識和技術(shù),為了能夠更好的完成研究,所以需要對大量的期刊雜志等書籍進(jìn)行瀏覽、整理和分析。這樣做能夠快速而且有效的獲得大量對本研究由有利的信息和材料,因此成為研究方法不可缺少的部分。(2)觀察法。合理的觀察對研究有很大的幫助,這種研究方法具有很強(qiáng)的目的性和計劃性,在實驗中往往能達(dá)到意想不到的效果,從而開辟人們的思路,招致新的發(fā)現(xiàn),因此也成為研究方法不可缺少的部分。1.4 研究內(nèi)容基于單片機(jī)的的智能晾衣系統(tǒng)設(shè)計,需要采用單片機(jī)作為控制中心,實現(xiàn)自動晾衣的功能,并根據(jù)具體情況進(jìn)行相應(yīng)的調(diào)整,具體性能和指標(biāo)如下: (1)智能晾衣桿全自動工作,可

7、實現(xiàn)無人操控 (2)晾衣桿只有兩個位置,伸出去,縮回來 (3)位置檢測:晾衣桿伸出去時,到達(dá)指定位置能夠停下來 (4)光敏傳感器:天黑時候?qū)⒁路栈貋?,天亮?xí)r候或者陽光猛烈的時候伸出去晾曬(5)溫濕度傳感器:下雨溫濕度變大的時候?qū)⒁路栈貋?(6)參數(shù)靈敏度調(diào)節(jié)(動態(tài)設(shè)置):按鍵+液晶顯示(7)供電:5V電源供給單片機(jī)、電機(jī)二、智能晾衣系統(tǒng)的硬件設(shè)計采用單片機(jī)進(jìn)行采集光照、雨滴兩個外部天氣信號,并通過單片機(jī)控制旋轉(zhuǎn)衣架,旋轉(zhuǎn)衣架通過步進(jìn)電機(jī)進(jìn)行調(diào)節(jié),當(dāng)外部天晴,且無雨時,將衣架轉(zhuǎn)出,晾曬衣物;當(dāng)下雨或者沒有陽光時,轉(zhuǎn)回室內(nèi),防止被雨打濕,或者天已黑。2.1 設(shè)計要求(1)構(gòu)建一個型號為STC8

8、9C52的單片機(jī)系統(tǒng)(內(nèi)含串口通信電路,單片機(jī)最小系統(tǒng)),作為系統(tǒng)的主控模塊,負(fù)責(zé)數(shù)據(jù)的采集、處理與分析、執(zhí)行部件的控制等;(2)檢測功能:實時檢測溫濕度傳感器測得的溫度值、濕度值;實時檢測環(huán)境的光強(qiáng)值;實時檢測限位開關(guān)的狀態(tài),為電機(jī)轉(zhuǎn)動時提供停轉(zhuǎn)信號;(3)顯示功能:通過液晶屏1602對系統(tǒng)的參數(shù)及系統(tǒng)狀態(tài)進(jìn)行指示;(4)執(zhí)行部件:2路繼電器模塊,在本系統(tǒng)中采用2路繼電器實現(xiàn)對電機(jī)正轉(zhuǎn)、反轉(zhuǎn)和停轉(zhuǎn)的控制,以此來模擬曬衣、收衣和停止的動作;(5)程序編寫:使用KEIL C軟件編譯環(huán)境,使用C語言進(jìn)行系統(tǒng)程序的編寫,并在程序中對采集到的數(shù)據(jù)進(jìn)行分析、處理和顯示。2.1整體設(shè)計框圖 控制總體款圖如

9、下圖2.1所示,通過光照傳感器和雨滴傳感器感知外部天氣的光照和雨滴情況,按鍵設(shè)定光照和雨滴的閾值,衣架位置傳感器采集衣架所在位置,最后單片機(jī)驅(qū)動步進(jìn)電機(jī),將衣架來回于室內(nèi)室外。衣架電機(jī)液晶屏繼電器單片機(jī)溫濕度傳感器用按鍵模擬的限位開關(guān)光照傳感器圖2.1 系統(tǒng)程序框圖2.3系統(tǒng)組成概述系統(tǒng)主要由:控制系統(tǒng)核心、溫濕度模塊、光強(qiáng)檢測模塊、電機(jī)驅(qū)動模塊、直流電機(jī)、開關(guān)模塊和顯示模塊。控制系統(tǒng)核心作為系統(tǒng)的控制核心和數(shù)據(jù)處理中心;濕度檢測模塊用來采集環(huán)境濕度信號;光強(qiáng)檢測模塊用來采集環(huán)境光強(qiáng)信號;電機(jī)驅(qū)動模塊用來功率放大驅(qū)動電機(jī)正反轉(zhuǎn),進(jìn)而帶動晾衣架做伸出或縮回運動;開關(guān)模塊是用來設(shè)置系統(tǒng)工作模式,并

10、在手動工作模式下,設(shè)置晾衣架的伸出或縮回;顯示模塊用來顯示濕度數(shù)據(jù)、光強(qiáng)情況、晾衣架狀態(tài)等內(nèi)容2.4 系統(tǒng)設(shè)計要求(1)簡單性:智能晾衣架是為現(xiàn)在生活節(jié)奏快的上班一族設(shè)計,因此本設(shè)計必須操作簡單,因為忙碌一天的上班族是不愿意在這些小事上花費精力。而且本設(shè)計就是為了解決生活小事,若是操作繁雜,這就與我們的初衷恰恰相反的,所以此設(shè)計必須操作簡單。(2)經(jīng)濟(jì)性:本設(shè)計擁有著大量的潛在市場,是能夠在家庭中應(yīng)用的。所以必須要設(shè)計合理。設(shè)計合理中經(jīng)濟(jì)性尤為重要,而且我們設(shè)計的是智能晾衣架,作為一個晾衣架本身功能來說,就決定了本設(shè)計的產(chǎn)品價格就不能太高。并且,任何人都喜歡性價比高的產(chǎn)品。所以我們的設(shè)計應(yīng)該追

11、求物美價廉。這就要求我們不僅要技術(shù)先進(jìn),經(jīng)濟(jì)上也要更加合理。(3)實用性:本設(shè)計是工具,因此我們設(shè)計應(yīng)該多考慮一些實用功能,不能設(shè)計那些不實用的功能。本設(shè)計針對的是經(jīng)常在露天晾曬衣物的人群設(shè)計,所以在設(shè)計過程中也會做一些調(diào)整,添加實用的功能,減少冗雜而不必要的功能。(4)安全、可靠性:因為智能晾衣架是應(yīng)用于家庭的,所以要保證其安全、可靠性。從電子元件、電路設(shè)計、材料的選用都應(yīng)注意提高其安全性與可靠性。2.5 光強(qiáng)采集模塊為了對外部光照強(qiáng)度的測量,論文采用光敏電阻對光照進(jìn)行測量,如圖2.2所示光敏電阻,此光敏電阻是負(fù)參數(shù)的光敏電阻,也就是說光照增強(qiáng)后電阻阻減小,我們通過實驗測量得到光敏電阻的電子

12、變化范圍在幾百歐姆到幾兆歐姆之間變化,當(dāng)光強(qiáng)度很大時,光敏電阻的阻值可達(dá)幾百歐姆,當(dāng)在黑暗的環(huán)境中時,測量光敏電阻兩端的阻值,可達(dá)幾兆歐姆的電阻。 圖 2.2光敏電阻 為了實現(xiàn)與光敏電阻的阻值想匹配的電阻,我們采用10K的電阻進(jìn)行上拉電阻。通常情況下,光敏電阻的阻值在千歐姆上,所以當(dāng)光照強(qiáng)度很大時,光敏電阻的阻值很小,進(jìn)行圖2.2電路后輸出的信號就是很小的電壓信號;當(dāng)光照強(qiáng)度很小時,即黑暗情況下,光敏電阻的阻值很大,進(jìn)行圖2.2電路后輸出的信號就是接近供電電源的電壓3.3V。在電壓信號輸出后,采用104電容進(jìn)行濾波,已得到更平滑的信號波形,方便單片機(jī)對信號的處理,不會因為光照的不穩(wěn)定,而導(dǎo)致誤

13、判。圖2.2 光敏電阻2.6 溫濕度傳感模塊DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號輸出的溫濕度復(fù)合傳感器,它應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),確保產(chǎn)品具有極高的可靠性和卓越的長期穩(wěn)定性。傳感器包括一個電阻式感濕元件和一個NTC測溫元件,并與一個高性能8位單片機(jī)相連接。因此該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強(qiáng)、性價比極高等優(yōu)點。每個DHT11傳感器都在極為精確的濕度校驗室中進(jìn)行校準(zhǔn)。校準(zhǔn)系數(shù)以程序的形式存在OTP內(nèi)存中,傳感器內(nèi)部在檢測型號的處理過程中要調(diào)用這些校準(zhǔn)系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡易快捷。超小的體積、極低的功耗,使其成為給類應(yīng)用甚至最為苛刻的應(yīng)用

14、場合的最佳選擇。產(chǎn)品為4針單排引腳封裝,連接方便。連接方式如圖2.3圖2.3 DHT11連接方式2.7 驅(qū)動模塊1.電機(jī)要實現(xiàn)正反轉(zhuǎn)控制,將其電源的相序中任意兩相對調(diào)即可(我們稱為換相),通常是V相不變,將U相與W相對調(diào)節(jié)器,為了保證兩個接觸器動作時能夠可靠調(diào)換電動機(jī)的相序,接線時應(yīng)使接觸器的上口接線保持一致,在接觸器的下口調(diào)相。由于將兩相相序?qū)φ{(diào),故須確保二個KM線圈不能同時得電,否則會發(fā)生嚴(yán)重的相間短路故障,因此必須采取聯(lián)鎖。為安全起見,常采用按鈕聯(lián)鎖(機(jī)械)與接觸器聯(lián)鎖(電氣)的雙重聯(lián)鎖正反轉(zhuǎn)控制線路(如下圖所示);使用了按鈕聯(lián)鎖,即使同時按下正反轉(zhuǎn)按鈕,調(diào)相用的兩接觸器也不可能同時得電

15、,機(jī)械上避免了相間短路。另外,由于應(yīng)用的接觸器聯(lián)鎖,所以只要其中一個接觸器得電,其長閉觸點就不會閉合,這樣在機(jī)械、電氣雙重聯(lián)鎖的應(yīng)用下,電機(jī)的供電系統(tǒng)不可能相間短路,有效地保護(hù)了電機(jī),同時也避免在調(diào)相時相間短路造成事故,燒壞接觸器。2.用單片機(jī)控制直流電機(jī)正反轉(zhuǎn):繼電器介紹:繼電器引腳圖VCC就是電源正極,GND就是電源負(fù)極,IN是通斷信號的輸入引腳。而另一邊,NC即常閉端,COM即公共端,NO即常開端。在中學(xué)物理中已經(jīng)學(xué)過,開路即通路、斷路,閉合指的是開關(guān)閉合,也就是說,在沒有任何上電之類的動作時,NC和COM端相當(dāng)于已經(jīng)連通,這種繼電器模塊的連線一般為:因為在一般情況下NC是閉合的,所以我

16、們要接到NO接口,然后信號輸入引腳即IN引腳給低電平,NC端斷開,NO端閉合,負(fù)載端電路形成閉合回路,開始工作,當(dāng)IN端給高電平時,NO端斷開,負(fù)載即停止工作。如果想一直工作,給信號停止工作,即把NO端的連線接在NC端就行了。繼電器的GND要和單片機(jī)的GND接在一起共地,也可以使用同一個電源來達(dá)到共地的效果)繼電器被發(fā)明的目的使用來用弱電控制強(qiáng)電,保證人們不會在高壓電路中因為某種因為發(fā)生危險(當(dāng)然單片機(jī)使用的繼電器模塊驅(qū)動電流很小,甚至光耦隔離的繼電器,只需要一個低電平的信號即可觸發(fā),并不需要太大的電流。3.繼電器常開端接5v電壓,常閉端接地。繼電器公共端,常閉端,常開端,當(dāng)p3.4口為1時,

17、繼電器com與常開端吸合,為5v,p3.5口為0,繼電器com端與常閉端吸合,電機(jī)兩端產(chǎn)生電壓差,實現(xiàn)正轉(zhuǎn),再根據(jù)采集到的數(shù)據(jù)與閾值比較判斷來改變p3.4,p3.5狀態(tài),實現(xiàn)正轉(zhuǎn),反轉(zhuǎn),停轉(zhuǎn),模擬收衣,晾衣。2.8 顯示模塊1602液晶也叫1602字符型液晶,它是一種專門用來顯示字母、數(shù)字、符號等的點陣型液晶模塊。它由若干個5X7或者5X11等點陣字符位組成,每個點陣字符位都可以顯示一個字符,每位之間有一個點距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因為如此所以它不能很好地顯示圖形(用自定義CGRAM,顯示效果也不好)。 1602LCD是指顯示的內(nèi)容為16X2,即可以顯示兩行

18、,每行16個字符液晶模塊(顯示字符和數(shù)字)。 市面上字符液晶大多數(shù)是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780寫的控制程序可以很方便地應(yīng)用于市面上大部分的字符型液晶。3、 基于單片機(jī)的的智能晾衣系統(tǒng)的軟件設(shè)計軟件部分C語言進(jìn)行編寫,開發(fā)環(huán)境選擇keil4。采用單片機(jī)進(jìn)行采集光照、溫濕度兩個外部天氣信號,并通過單片機(jī)控制旋轉(zhuǎn)衣架,旋轉(zhuǎn)衣架通過步進(jìn)電機(jī)進(jìn)行調(diào)節(jié),當(dāng)外部天晴,且無雨時,將衣架轉(zhuǎn)出,晾曬衣物;當(dāng)下雨或者沒有陽光時,轉(zhuǎn)回室內(nèi),防止被雨打濕,或者天已黑。3.1系統(tǒng)分析外部天氣的光照和下雨情況,如下表3.1:是否有陽光是否下雨衣架狀態(tài)否否收回否是收回是否晾曬是

19、是收回所以我們可以通過表格發(fā)現(xiàn),只有當(dāng)外部天氣是晴天, 且沒有雨的時候,衣物是可以進(jìn)行晾曬的,其他條件下,都需要將衣物拿回室內(nèi)。STC89c52RC3.2 STC89C52RC單片機(jī)介紹圖3.2 STC89c52引腳圖主要特性如下:1. 增強(qiáng)型8051單片機(jī),6時鐘/機(jī)器周期和12時鐘/機(jī)器周期可以任意選擇,指令代碼完全兼容傳統(tǒng)8051.2. 工作電壓:5.5V3.3V(5V單片機(jī))/3.8V2.0V(3V單片機(jī))3. 工作頻率范圍:040MHz,相當(dāng)于普通8051的080MHz,實際工作頻率可達(dá)48MHz4. 用戶應(yīng)用程序空間為8K字節(jié)5. 片上集成512字節(jié)RAM6. 通用I/O口(32個

20、),復(fù)位后為:P1/P2/P3/P4是準(zhǔn)雙向口/弱上拉,P0口是漏極開路輸出,作為總線擴(kuò)展用時,不用加上拉電阻,作為I/O口用時,需加上拉電阻。7. ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無需專用編程器,無需專用仿真器,可通過串口(RxD/P3.0,TxD/P3.1)直接下載用戶程序,數(shù)秒即可完成一片8. 具有EEPROM功能9. 具有看門狗功能10. 共3個16位定時器/計數(shù)器。即定時器T0、T1、T211. 外部中斷4路,下降沿中斷或低電平觸發(fā)電路,Power Down模式可由外部中斷低電平觸發(fā)中斷方式喚醒12. 通用異步串行口(UART),還可用定時器軟件實現(xiàn)多個UA

21、RT13. 工作溫度范圍:-40+85(工業(yè)級)/075(商業(yè)級)14. PDIP封裝STC89C52RC單片機(jī)的工作模式1、掉電模式:典型功耗<0.1A,可由外部中斷喚醒,中斷返回后,繼續(xù)執(zhí)行原程序2、空閑模式:典型功耗2mA3、正常工作模式:典型功耗4Ma7mA掉電模式可由外部中斷喚醒,適用于水表、氣表等電池供電系統(tǒng)及便攜設(shè)備STC89C52RC單片機(jī)是宏晶科技推出的新一代高速/低功耗/超強(qiáng)抗干擾的單片機(jī),指令代碼完全兼容傳統(tǒng)8051單片機(jī),12時鐘/機(jī)器周期和6時鐘/機(jī)器周期可以任意選擇。 3.3 程序設(shè)計C語言是計算機(jī)程序設(shè)計語言的一種,它處于機(jī)器語言與高級語言之間,它不僅具備機(jī)

22、器語言的特點,同時又具備高級語言的特點。C語言1972年產(chǎn)生于美國,它是由貝爾研究所的D.M.Ritchie推出的。在此之后,各種不同類型的計算機(jī)都被移植成為C語言。C語言不僅能夠編寫工作系統(tǒng)和控制程序代碼,還能夠作為設(shè)計應(yīng)用程序的語言,其編寫的應(yīng)用程序與計算機(jī)硬件無絕對關(guān)系。如今,C語言的使用范圍非常之廣泛,因為該語言極其強(qiáng)大的處理數(shù)據(jù)的能力,已經(jīng)不僅僅是應(yīng)用在軟件的開發(fā)上,很多種類的科研也都開始使用C語言編程8。C語言簡明易懂、開發(fā)和維護(hù)都很方便,并且不受硬件操作能力約束,采用模塊化設(shè)計移植很容易,開發(fā)周期短。使用C語言開發(fā)單片機(jī)的控制程序代碼,儲存單元的分配都是通過編譯器自動完成的,程序

23、設(shè)計者只需要關(guān)注程序本身的設(shè)計,無需考慮儲存單元分配等問題。C語言可以采用模塊化的編程,對一些常用控制功能或算法的函數(shù)可以編寫相應(yīng)的程序塊,在使用時直接調(diào)用,可以極其方便的進(jìn)行程序開發(fā)和移植,縮短程序開發(fā)周期。3.4軟件算法算法從最初對的系統(tǒng)初始化、外設(shè)初始化后,就通過按鍵9設(shè)定光照和雨滴的閾值,來決定怎么樣的光照強(qiáng)度和怎么樣的雨滴強(qiáng)度,才能使衣架出去晾曬,或者回到室內(nèi)。之后就判斷是否有雨,是否有光照,若有達(dá)到相應(yīng)強(qiáng)度的光照和沒有雨時就出去晾曬衣物,其他清理進(jìn)室內(nèi)。但是有時機(jī)器也會被東西給卡主,所以需要檢查衣架是否有故障,若有故障,就停下來,若無故障就完成上一步?jīng)]有完成的動作,即回到室內(nèi)或者出

24、室晾曬。算法圖4、 實驗調(diào)試通過設(shè)計調(diào)試得到圖4.1測試圖:1.用手遮住光強(qiáng)傳感器使外界光照低于設(shè)定閾值30cd,此時電機(jī)反轉(zhuǎn)收回衣架2.用手電筒模擬強(qiáng)光使光強(qiáng)大于閾值100cd,此時電機(jī)正轉(zhuǎn)晾出衣架3.用手捂住溫濕度傳感器使其濕度大于設(shè)定閾值70,此時電機(jī)反轉(zhuǎn)收回衣架4.無論何時按下按鍵k3,電機(jī)總會停止轉(zhuǎn)動,手動收衣架可以看出實現(xiàn)運行正常,且可行。當(dāng)外部天晴,且無雨時,將衣架轉(zhuǎn)出,晾曬衣物;當(dāng)下雨或者沒有陽光時,轉(zhuǎn)回室內(nèi),防止被雨打濕,或者天已黑。5 結(jié)論展望本報告設(shè)計并實現(xiàn)了基于單片機(jī)的智能晾衣系統(tǒng),通過實驗調(diào)試,當(dāng)外部天晴,且無雨時,衣架轉(zhuǎn)出,晾曬衣物;當(dāng)下雨或者沒有陽光時,轉(zhuǎn)回室內(nèi)。

25、完成要求中智能晾衣桿全自動工作,實現(xiàn)無人操控;晾衣桿有兩個位置,伸出去,縮回來;可以進(jìn)行位置檢測:晾衣桿伸出去時,到達(dá)指定位置能夠停下來;有軟件容錯處理:晾衣桿伸縮過程中遇到各種障礙,能夠通過軟件容錯處理來停止;使用光敏傳感器:天黑時候?qū)⒁路栈貋?,天亮?xí)r候或者陽光猛烈的時候伸出去晾曬;使用雨滴傳感器:下雨的時候?qū)⒁路栈貋?;參?shù)靈敏度可以調(diào)節(jié)(動態(tài)設(shè)置):按鍵+液晶顯示;采用5V供電:5V電源供給單片機(jī)、電機(jī)。 本報告實現(xiàn)了智能晾衣系統(tǒng),還需要結(jié)合市場,對衣架的結(jié)構(gòu)和工作方式。比如旋轉(zhuǎn)還是上下伸縮,前后伸縮等,進(jìn)一步完善系統(tǒng),使之滿足市場需求,更好的為客戶服務(wù)。六、心得張旭:1.通過這次單片

26、機(jī)課設(shè),我們學(xué)到了很多平時難得的東西,首先是團(tuán)隊協(xié)作,在這次設(shè)計當(dāng)中,難免和同學(xué)產(chǎn)生觀點和意見的分歧,以及分工明細(xì)、時間安排等不合理2.通過這次設(shè)計,我們體會到了團(tuán)結(jié)合作的重要性及力量之強(qiáng)大,還有讓我們處理事情更加有條理,思路更加清晰明了了,發(fā)現(xiàn)、提出、分析、解決問題和實踐能力的提高都將受益于我在以后的學(xué)習(xí)、工作和生活中。3.此次的設(shè)計,其實也是我們所學(xué)知識的一次綜合運用,讓我深深的認(rèn)識到了學(xué)習(xí)單片機(jī)要有一定的基礎(chǔ),要有電子技術(shù)方面的數(shù)字電路和模擬電路等方面的理論基礎(chǔ),特別是數(shù)字電路;也要有編程語言的匯編語言或C語言。要想成為單片機(jī)高手,我們首先要學(xué)好匯編語言,然后轉(zhuǎn)入C語言學(xué)習(xí),所以我們不能

27、學(xué)到后面就忘了前面的知識,更應(yīng)該將所學(xué)的知識緊緊的結(jié)合在一起,綜合運用,所謂設(shè)計,就是要求創(chuàng)新,只有將知識綜合運用起來才能真正的設(shè)計好。高彭:1.在智能晾衣架系統(tǒng)的設(shè)計與搭建中,我學(xué)到了很多。溫濕度器件,AD轉(zhuǎn)換模塊,繼電器以及單片機(jī)主板,我認(rèn)識了好多器件。不僅僅是它們在書上描寫到的那些,還有它們在實際中的應(yīng)用。2.在這次設(shè)計中更可貴的是懂得了將實際情況加入到搭建的系統(tǒng)中。根據(jù)實際可能發(fā)生的情況以及用戶可能的需求來改進(jìn)系統(tǒng),更多的從使用者的角度去考慮這個系統(tǒng)需要怎樣的功能,怎樣做才能更便利。3.當(dāng)中間遇到了很多的問題,比如高壓繼電器的驅(qū)動問題,軟硬件結(jié)合的問題。這些問題的解決有一部分要歸功于與

28、另一組的討論,團(tuán)隊合作與交流的重要性在開發(fā)中也很重要。通過搭建系統(tǒng)學(xué)到了很多軟硬件知識,也認(rèn)識到了自己的很多不足,希望能慢慢彌補(bǔ)。樂子成:1.通過本次嵌入式實驗我加深了對書本上所學(xué)習(xí)知識的理解與運用,講學(xué)習(xí)到的專業(yè)知識付諸實踐提高了對專業(yè)的興趣與了解.2.在一次次的ppt修改中,收獲了最后成功的喜悅.也讓我知道了團(tuán)隊分工的重要,眾人拾柴火焰高,好的團(tuán)隊精神往往事半功倍.3.科技發(fā)展日星月異,唯有不斷學(xué)習(xí),才能充實自己,立足于當(dāng)下. 宋星陽:當(dāng)今世界的發(fā)展已經(jīng)不斷的面向智能、面向科技、面向網(wǎng)絡(luò)。 如今,我們的生活已經(jīng)不斷網(wǎng)絡(luò)化、智能化了,比如說汽車、電腦等等工具。而單片機(jī)是這里面最重要的一部分,

29、此設(shè)計也是對我們通信工程有用的一門學(xué)生很有用的一門學(xué)科之一。 經(jīng)過小學(xué)期學(xué)期的設(shè)計,我有以下幾點感想和對這門課設(shè)的總結(jié): 1自己通過課設(shè)也是被單片機(jī)的強(qiáng)大功能所震撼,課堂上也沒有感受到單片的優(yōu)越性和可操作性,單片機(jī)的應(yīng)用越來越廣泛,越來越重要。 2做課設(shè)很重要,不僅要反復(fù)操作,還要反復(fù)學(xué)習(xí),做到各部分軟硬件要熟練。 3時間要安排合理得當(dāng),切記不能拖拖拉拉,撰寫報告要仔細(xì)認(rèn)真,注重報告的格式要求和內(nèi)容的詳略得當(dāng)??傊?,此次設(shè)計對我很受益,收獲很多。參考文獻(xiàn)1潘清明,丁左武,蔣偉,鄭孫偉.防雨、防暴曬、夜晚能自動收縮的智能晾衣架設(shè)計J.機(jī)電產(chǎn)品開發(fā)與創(chuàng)新,2007,06:79-81.2呂廣紅,黃崇

30、林,陳曉銘.基于AT89C52的智能晾衣架的設(shè)計J.自動化與儀器儀表,2013,02:71-73.3劉秋呈,顧凱燕,劉輝.感光智能晾衣架的設(shè)計J.科學(xué)咨詢(科技·管理),2013,05:67.附件:#include <reg52.h>#include <intrins.h> /typedef unsigned char U8; /* defined for unsigned 8-bits integer variable 無符號8位整型變量 */typedef unsigned int U16; /* defined for unsigned 16-bits

31、integer variable 無符號16位整型變量 */#define AddWr 0x90 /寫數(shù)據(jù)地址 #define AddRd 0x91 /讀數(shù)據(jù)地址unsigned char ReadADC(unsigned char Chl); bit ack; /應(yīng)答標(biāo)志位sbit SDA=P21;sbit SCL=P20;sbit k4=P13;sbit k5=P14;sbit k6=P15;sbit k7=P16;sbit k8=P17;sbit beep=P33;sbit jd1=P27;sbit jd2=P26;sbit jd3=P25;sbit jd4=P24;sbit jd5=P

32、23;sbit jd6=P22;sbit lcd_rs_port = P35; /*定義LCD控制端口*/sbit lcd_rw_port = P36;sbit lcd_en_port = P34;#define lcd_data_port P0unsigned char k1flag=0;unsigned int y=0,gh2=160,gl1=80,rh1=80,rl1=50,th1=25,tl1=18;/*定義數(shù)字ascii編碼*/unsigned char mun_char_table="abcdef"unsigned char temp_table ="

33、R: % T: 'C "unsigned char temp_table1 ="GZ:000 G:000-000"/#define uchar unsigned char#define uint unsigned int#define Data_0_time 4/-/-IO口定義區(qū)-/-/sbit P2_0 = P32 ;/-/-定義區(qū)-/-/U8 U8FLAG,k;U8 U8temp;U8 U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;U8 U8T_data_H_temp,U8T_da

34、ta_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp;U8 U8comdata;U8 str5;/以下是DHT11驅(qū)動程序/void Delay(U16 j) U8 i; for(;j>0;j-) for(i=0;i<27;i+); void Delay_10us(void) U8 i; i-; i-; i-; i-; i-; i-; void COM(void) U8 i; for(i=0;i<8;i+) U8FLAG=2; while(!P2_0)&&U8FLAG+); Delay_10u

35、s(); Delay_10us(); Delay_10us(); U8temp=0; if(P2_0)U8temp=1; U8FLAG=2; while(P2_0)&&U8FLAG+); /超時則跳出for循環(huán) if(U8FLAG=1)break; /判斷數(shù)據(jù)位是0還是1 / 如果高電平高過預(yù)定0高電平值則數(shù)據(jù)位為 1 U8comdata<<=1; U8comdata|=U8temp; /0 /rof /- /-濕度讀取子程序 - /- /-以下變量均為全局變量- /-溫度高8位= U8T_data_H- /-溫度低8位= U8T_data_L- /-濕度高8位=

36、U8RH_data_H- /-濕度低8位= U8RH_data_L- /-校驗 8位 = U8checkdata- /-調(diào)用相關(guān)子程序如下- /- Delay();, Delay_10us();,COM(); /-void RH(void) /主機(jī)拉低18ms P2_0=0; Delay(180); P2_0=1; /總線由上拉電阻拉高 主機(jī)延時20us Delay_10us(); Delay_10us(); Delay_10us(); Delay_10us(); /主機(jī)設(shè)為輸入 判斷從機(jī)響應(yīng)信號 P2_0=1; /判斷從機(jī)是否有低電平響應(yīng)信號 如不響應(yīng)則跳出,響應(yīng)則向下運行 if(!P2_0

37、) /T ! U8FLAG=2; /判斷從機(jī)是否發(fā)出 80us 的低電平響應(yīng)信號是否結(jié)束 while(!P2_0)&&U8FLAG+); U8FLAG=2; /判斷從機(jī)是否發(fā)出 80us 的高電平,如發(fā)出則進(jìn)入數(shù)據(jù)接收狀態(tài) while(P2_0)&&U8FLAG+); /數(shù)據(jù)接收狀態(tài) COM(); U8RH_data_H_temp=U8comdata; COM(); U8RH_data_L_temp=U8comdata; COM(); U8T_data_H_temp=U8comdata; COM(); U8T_data_L_temp=U8comdata; COM

38、(); U8checkdata_temp=U8comdata; P2_0=1; /數(shù)據(jù)校驗 U8temp=(U8T_data_H_temp+U8T_data_L_temp+U8RH_data_H_temp+U8RH_data_L_temp); if(U8temp=U8checkdata_temp) U8RH_data_H=U8RH_data_H_temp; U8RH_data_L=U8RH_data_L_temp; U8T_data_H=U8T_data_H_temp; U8T_data_L=U8T_data_L_temp; U8checkdata=U8checkdata_temp; /fi

39、/fi /以上是DHT11驅(qū)動程序/以下是LCD1602驅(qū)動程序/void lcd_delay(uchar ms) /*LCD1602 延時*/ uchar j; while(ms-) for(j=0;j<250;j+) ; void lcd_busy_wait() /*LCD1602 忙等待*/ lcd_rs_port = 0; lcd_rw_port = 1; lcd_en_port = 1; lcd_data_port = 0xff; while (lcd_data_port&0x80); lcd_en_port = 0; void lcd_command_write(uc

40、har command) /*LCD1602 命令字寫入*/ lcd_busy_wait(); lcd_rs_port = 0; lcd_rw_port = 0; lcd_en_port = 0; lcd_data_port = command; lcd_en_port = 1; lcd_en_port = 0; void lcd_system_reset() /*LCD1602 初始化*/ lcd_delay(20); lcd_command_write(0x38); lcd_delay(100); lcd_command_write(0x38); lcd_delay(50); lcd_co

41、mmand_write(0x38); lcd_delay(10); lcd_command_write(0x08); lcd_command_write(0x01); lcd_command_write(0x06); lcd_command_write(0x0c); void lcd_char_write(uchar x_pos,y_pos,lcd_dat) /*LCD1602 字符寫入*/ x_pos &= 0x0f; /* X位置范圍 015 */ y_pos &= 0x01; /* Y位置范圍 0 1 */ if(y_pos=1) x_pos += 0x40; x_pos

42、 += 0x80; lcd_command_write(x_pos); lcd_busy_wait(); lcd_rs_port = 1; lcd_rw_port = 0; lcd_en_port = 0; lcd_data_port = lcd_dat; lcd_en_port = 1; lcd_en_port = 0; /以上是LCD1602驅(qū)動程序/以下是AD程序/void _Nop(void)/I2C延時程序int k;for (k=0; k<10; k+);/*- 啟動總線-*/void Start_I2c() SDA=1; /發(fā)送起始條件的數(shù)據(jù)信號 _Nop(); SCL=1

43、; _Nop(); /起始條件建立時間大于4.7us,延時 _Nop(); _Nop(); _Nop(); _Nop(); SDA=0; /發(fā)送起始信號 _Nop(); /起始條件鎖定時間大于4 _Nop(); _Nop(); _Nop(); _Nop(); SCL=0; /鉗住I2C總線,準(zhǔn)備發(fā)送或接收數(shù)據(jù) _Nop(); _Nop();/*- 結(jié)束總線-*/void Stop_I2c() SDA=0; /發(fā)送結(jié)束條件的數(shù)據(jù)信號 _Nop(); /發(fā)送結(jié)束條件的時鐘信號 SCL=1; /結(jié)束條件建立時間大于4 _Nop(); _Nop(); _Nop(); _Nop(); _Nop(); SDA=1; /發(fā)送I2C總線結(jié)束信號 _Nop(); _Nop(); _Nop(); _Nop();void keyscan() /*- 字節(jié)數(shù)據(jù)傳送函數(shù) 函數(shù)原型: void SendByte(unsigne

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論