基于單片機(jī)的智能垃圾桶設(shè)計(jì)_第1頁
基于單片機(jī)的智能垃圾桶設(shè)計(jì)_第2頁
基于單片機(jī)的智能垃圾桶設(shè)計(jì)_第3頁
基于單片機(jī)的智能垃圾桶設(shè)計(jì)_第4頁
基于單片機(jī)的智能垃圾桶設(shè)計(jì)_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

24基于單片機(jī)的智能垃圾桶設(shè)計(jì)摘要:由于現(xiàn)在人家的生活水平越來越好,科學(xué)技術(shù)不斷發(fā)展,大家的對(duì)生活的要求越來越高,大家都向往更好的生活質(zhì)量,更好重視生活品質(zhì),尤其是對(duì)于居家生活更加重視,所以在這種形勢下,出現(xiàn)了很多關(guān)于環(huán)境衛(wèi)生的產(chǎn)品。在任何場所,垃圾無疑是最領(lǐng)人頭疼的事情,所以對(duì)于垃圾桶的管理是非常重要的,有必要設(shè)計(jì)一款智能垃圾桶產(chǎn)品。而大量堆積在外的垃圾還會(huì)發(fā)出刺鼻的異味,既污染了環(huán)境也增加了人與細(xì)菌接觸的幾率。系統(tǒng)主要包括報(bào)警、垃圾桶狀態(tài)檢測、人體檢測、指示燈、垃圾桶控制以及主控制器。系統(tǒng)通過人體檢測信號(hào),判斷如果有人,則控制垃圾桶打開,可以對(duì)垃圾桶狀態(tài)進(jìn)行檢測,垃圾桶是否滿,并且通過報(bào)警提示。垃圾滿采集選用紅外對(duì)管模塊。垃圾桶控制選擇步進(jìn)電機(jī),步進(jìn)電機(jī)驅(qū)動(dòng)選擇ULN2003。選擇C語言設(shè)計(jì)系統(tǒng)軟件代碼,C語言使用簡單,編輯器選擇Keil,進(jìn)行代碼編寫、編譯、執(zhí)行,完成系統(tǒng)的功能,實(shí)現(xiàn)功能運(yùn)行。關(guān)鍵詞:STC89C52單片機(jī);垃圾桶控制;ULN2003;紅外對(duì)管DesignofintelligenttrashcanbasedonsinglechipmicrocomputerAbstract:Aspeople'slivingstandardsaregettingbetterandbetter,scienceandtechnologyareconstantlydeveloping,andpeople'srequirementsforlifearegettinghigherandhigher.Everyoneisyearningforbetterqualityoflifeandattachesmoreimportancetoqualityoflife,especiallyforhomelife.Therefore,inthissituation,therearealotofproductsaboutenvironmentalhealth.Inanyplace,garbageisundoubtedlythemosttroublesomething,sothemanagementofthetrashcanisveryimportant,itisnecessarytodesignasmarttrashproduct.Andalotofwasteoutsidecanalsoemitapungentsmell,pollutingtheenvironmentandincreasingthechancesofcontactwithbacteria.Thesystemmainlyincludesalarm,trashstatusdetection,humandetection,indicatorlight,trashcontrolandmaincontroller.Thesystemdeterminesifthereissomeonebydetectingthesignalofhumanbody,andthencontrolsthetrashcantoopen.Itcantestthestatusofthetrashcan,determinewhetherthetrashcanisfull,andgiveanalarm.Infraredtubemoduleisselectedforgarbagefullcollection.Trashcontrolselectsteppermotor,steppermotordriveselectULN2003.SelectClanguagetodesignsystemsoftwarecode,Clanguageissimpletouse,theeditorselectKeil,codewriting,compilation,execution,completethesystemfunctions,toachievefunctionaloperation.KeyWords:STC89C52singlechipcomputer;garbagebincontrol;ULN2003;infraredcounterpart目錄8695第一章引言 1138101.1研究背景與現(xiàn)狀 1304711.2課題研究內(nèi)容 129032第二章系統(tǒng)方案設(shè)計(jì) 1274792.1系統(tǒng)整體方案設(shè)計(jì) 173032.2主控制器方案 2239172.4報(bào)警方案 3186942.5垃圾桶滿檢測方案 3144112.6人體檢測方案 3239322.7垃圾桶控制方案 314687第三章系統(tǒng)電路設(shè)計(jì) 356393.1主控制器 3304753.2垃圾桶滿(人體)檢測電路 5223303.3報(bào)警電路 5134193.4垃圾桶控制電路 6197873.5指示燈電路 613374第四章系統(tǒng)軟件設(shè)計(jì) 7250494.1主機(jī)軟件設(shè)計(jì) 731014.2人體檢測軟件設(shè)計(jì) 894134.3垃圾桶控制子程序設(shè)計(jì) 916996第五章系統(tǒng)測試 10268665.1軟件調(diào)試 1052455.2系統(tǒng)仿真 1371445.2.1系統(tǒng)仿真界面 13287855.2.2系統(tǒng)待機(jī)狀態(tài)仿真 14224465.2.3系統(tǒng)垃圾桶控制狀態(tài)仿真 15173705.2.4系統(tǒng)垃圾桶滿狀態(tài)仿真 15267155.3故障檢查 1650505.4實(shí)物測試 1728515.4.1實(shí)物組裝 17112065.4.2系統(tǒng)待機(jī)上電測試 1869005.4.3系統(tǒng)垃圾桶控制上電測試 19269015.4.4系統(tǒng)垃圾桶滿上電測試 2016097結(jié)論 22866致謝 234324參考文獻(xiàn) 24第一章引言1.1研究背景與現(xiàn)狀由于現(xiàn)在人家的生活水平越來越好,科學(xué)技術(shù)不斷發(fā)展,大家的對(duì)生活的要求越來越高,大家都向往更好的生活質(zhì)量,更好重視生活品質(zhì),尤其是對(duì)于居家生活更加重視,所以在這種形勢下,出現(xiàn)了很多關(guān)于環(huán)境衛(wèi)生的產(chǎn)品。在任何場所,垃圾無疑是最領(lǐng)人頭疼的事情,所以對(duì)于垃圾桶的管理是非常重要的,有必要設(shè)計(jì)一款智能垃圾桶產(chǎn)品?,F(xiàn)在,很多領(lǐng)域?qū)ぷ?、制作、加工等環(huán)境衛(wèi)生都有要求。比如養(yǎng)殖、漁業(yè)、牧業(yè)、食品行業(yè)等眾多領(lǐng)域都對(duì)環(huán)境衛(wèi)生有要求。還有一些領(lǐng)域?qū)Νh(huán)境衛(wèi)生的要求更加嚴(yán)格,比如鑄造行業(yè)、制造行業(yè)、汽車行業(yè)等。溫度的高低直接回影響產(chǎn)品的質(zhì)量,影響產(chǎn)品的壽命,不僅僅是對(duì)產(chǎn)品,環(huán)境衛(wèi)生的變化對(duì)人體也有一定的影響。1.2課題研究內(nèi)容課題為基于單片機(jī)的智能垃圾桶設(shè)計(jì),可以實(shí)現(xiàn)智能垃圾桶控制。系統(tǒng)選擇單片機(jī)進(jìn)行控制,首先對(duì)相關(guān)文獻(xiàn)進(jìn)行分析,了解設(shè)計(jì)現(xiàn)狀,對(duì)系統(tǒng)的功能進(jìn)行架構(gòu)設(shè)計(jì),設(shè)計(jì)出系統(tǒng)個(gè)功能連接關(guān)系架構(gòu)圖,按照總分的結(jié)構(gòu)對(duì)各個(gè)功能模塊進(jìn)行方案設(shè)計(jì),選擇最佳方案實(shí)現(xiàn)系統(tǒng)功能。方案確定后設(shè)計(jì)系統(tǒng)電路,對(duì)電路原理進(jìn)行說明,按照電路連接方式進(jìn)行軟件代碼設(shè)計(jì),完成軟件設(shè)計(jì)流程邏輯圖,結(jié)合硬件對(duì)設(shè)計(jì)進(jìn)行測試,不斷優(yōu)化軟件和硬件。完成系統(tǒng)設(shè)計(jì)。第二章系統(tǒng)方案設(shè)計(jì)2.1系統(tǒng)整體方案設(shè)計(jì)系統(tǒng)主要包括報(bào)警、垃圾桶狀態(tài)檢測、人體檢測、指示燈、垃圾桶控制以及主控制器。智能垃圾桶需要完成模塊方案選擇,為系統(tǒng)的各個(gè)功能選器件,智能垃圾桶的電路設(shè)計(jì)很重要,每個(gè)模塊之間的連接關(guān)系,以及各自的電路設(shè)計(jì),再對(duì)軟件進(jìn)行設(shè)計(jì),對(duì)各個(gè)模塊的信號(hào)進(jìn)行處理、判斷,通過軟件和硬件的搭配,實(shí)現(xiàn)智能垃圾桶。系統(tǒng)通過人體檢測信號(hào),判斷如果有人,則控制垃圾桶打開,可以對(duì)垃圾桶狀態(tài)進(jìn)行檢測,垃圾桶是否滿,并且通過報(bào)警提示。系統(tǒng)結(jié)構(gòu)如圖2-1所示。圖2-1系統(tǒng)結(jié)構(gòu)框圖2.2主控制器方案方案一:單片機(jī)作為系統(tǒng)核心的控制器,是其他所有模塊的連接樞紐,設(shè)計(jì)選用STC89C52。單片機(jī)內(nèi)部有存儲(chǔ)模塊,內(nèi)部的存儲(chǔ)模塊具有超長時(shí)間的存儲(chǔ)能力,單片機(jī)軟件設(shè)計(jì)時(shí)通過MCS-51指令完成的,此指令標(biāo)準(zhǔn)在很多器件上都可以使用,通用性很強(qiáng)。這款單片機(jī)的能耗也很小,在低功耗方面表現(xiàn)優(yōu)異,單片機(jī)內(nèi)核是51內(nèi)核,現(xiàn)在很多單片機(jī)都是使用此內(nèi)核,單片機(jī)是最基礎(chǔ)入門級(jí)8位單片機(jī),在開發(fā)設(shè)計(jì)上也是最簡單的,此款單片機(jī)內(nèi)部可完成8K的代碼量,如果代碼量超過了8K,還可以設(shè)計(jì)外圍代碼存儲(chǔ)方案,設(shè)計(jì)滿足所有設(shè)計(jì)需要。單片機(jī)在設(shè)計(jì)出廠后做了加密處理,后期產(chǎn)品中使用后,不會(huì)被盜取設(shè)計(jì)文件,通過任何技術(shù)手段也無法進(jìn)行解密。單片機(jī)的執(zhí)行速度也很快,一般搭配的晶振是11.0592Mhz晶振,單片機(jī)的穩(wěn)定性很強(qiáng),在很多復(fù)雜場景下都可以穩(wěn)定運(yùn)行。此單片機(jī)最大優(yōu)勢就是成本方面,成本很低,這對(duì)于很多設(shè)計(jì)來說也是最重要的一點(diǎn),所以這就是為什么在很多產(chǎn)品設(shè)計(jì)中可以看到它的聲影。方案二:選擇MSP430型號(hào)處理器,人們也把這種單片機(jī)叫做混合信號(hào)處理器,這種處理器集成了多種電路模塊,主要有三種電路模塊,第一種是模擬電路模塊,第二種是數(shù)字電路模塊,第三種是微處理器模塊。由德國德州儀器公司生產(chǎn),1996年這種產(chǎn)品開始在市場上推廣,它是一種混合信號(hào)處理器,其指令精簡,功耗低。在一些便攜式的儀器儀表中,對(duì)這種單片機(jī)的應(yīng)用比較廣泛。但利用這種單片機(jī)的開發(fā)的難度比較大,價(jià)格也相當(dāng)昂貴。因此,即使是在一些簡單的設(shè)計(jì)中,也不宜采用這種單片機(jī)。方案三:STM32F103RBT6是32位處理器,是目前位數(shù)較高的單片機(jī),一般在要求交稿的產(chǎn)品中只用,處理器內(nèi)部有很多實(shí)用的配置,此單片機(jī)內(nèi)部設(shè)計(jì)了數(shù)模轉(zhuǎn)換,這樣就不需要進(jìn)行外圍電路的設(shè)計(jì),節(jié)約了開發(fā)的時(shí)間成本,加快了項(xiàng)目的進(jìn)度,器件的外接IO口數(shù)量較多,在一些大型的產(chǎn)品設(shè)計(jì)要求中比較合適,電源要求是3.3V,功耗也較低,此方案最大的特點(diǎn)就是運(yùn)行速度快,可以嵌入很多的算法,在很多具有圖像識(shí)別的場合使用也很多,對(duì)攝像頭數(shù)據(jù)的處理非常適用。方案選擇:系統(tǒng)開發(fā)需要考慮成本問題,以及時(shí)間成本,方案2電源要求和系統(tǒng)電源不匹配,需要進(jìn)行電源轉(zhuǎn)換設(shè)計(jì),所以時(shí)間以及費(fèi)用成本都會(huì)增加,方案3的利用率會(huì)很低,在本設(shè)計(jì)中不是非常合適的方案1可以實(shí)現(xiàn)整個(gè)系統(tǒng)的功能,成本遠(yuǎn)遠(yuǎn)低于方案1,所以選擇方案1。2.4報(bào)警方案聲音報(bào)警系統(tǒng)要求設(shè)計(jì)報(bào)警功能,選擇蜂鳴器實(shí)現(xiàn)報(bào)警功能,蜂鳴器能夠進(jìn)行蜂鳴,完全可以滿足報(bào)警功能的需要。單片機(jī)通過一個(gè)接口就可以對(duì)蜂鳴器進(jìn)控制。單片機(jī)通過PWM波就可以對(duì)蜂鳴器進(jìn)行控制,實(shí)現(xiàn)報(bào)警功能。2.5垃圾桶滿檢測方案垃圾高度檢測方案選擇紅外對(duì)管模塊。紅外對(duì)管可以對(duì)障礙物進(jìn)行檢測,發(fā)射管發(fā)出的紅外光如果有障礙物,則紅外光遇到障礙物反射回紅外接受關(guān),檢測到信號(hào),這樣實(shí)現(xiàn)垃圾桶滿,以及人體檢測功能。2.6人體檢測方案人體檢測方案選擇紅外對(duì)管,和垃圾桶滿檢測方案一致。2.7垃圾桶控制方案通過ULN2003對(duì)電機(jī)進(jìn)行驅(qū)動(dòng),完成垃圾桶的開關(guān)控制,控制電機(jī)運(yùn)行,進(jìn)而控制垃圾桶的開與關(guān)。ULN2003是專用的步進(jìn)電機(jī)驅(qū)動(dòng)器件,對(duì)于步進(jìn)電機(jī)的驅(qū)動(dòng),經(jīng)常會(huì)使用ULN2003,此芯片在步進(jìn)電機(jī)驅(qū)動(dòng)方案中非常成熟,芯片結(jié)構(gòu)由集電極開路組成,這樣芯片的驅(qū)動(dòng)電流范圍很寬,可以搭配很多設(shè)備使用。第三章系統(tǒng)電路設(shè)計(jì)3.1主控制器STC89C52可以存儲(chǔ)8K的代碼量,對(duì)于大多數(shù)項(xiàng)目是夠用的,此款單片機(jī)在產(chǎn)品中使用頻率很高,主要因?yàn)閱纹瑱C(jī)的開發(fā)設(shè)計(jì)更容易上手,對(duì)于工程師而言難度較小。所以很多產(chǎn)品都使用它來作為主控制器方案。這對(duì)于產(chǎn)品的成本很有優(yōu)勢,而且時(shí)間成本也會(huì)大大減小。此款產(chǎn)品常用接口有32個(gè),包括P0、P1、P2、P3四組接口,每組8個(gè)接口,這樣數(shù)量的接口對(duì)于大部分設(shè)計(jì)都可以滿足要求,而且有的IO口還配備有第二功能,既可以作為常用IO,也可以作為特殊功能使用,比如P3.0為串口通信的輸入端,P3.1為串口通信的輸出端,P3.2為定時(shí)器0的中斷信號(hào)輸入口,P3.3為定時(shí)器1的中斷信號(hào)輸入口,這4個(gè)IO為特殊功能,也可以作為普通IO使用。單片機(jī)除了設(shè)計(jì)有普通IO,還有一些必要的接口,單片機(jī)的運(yùn)行必須有復(fù)位電路、晶振電路。單片機(jī)的9腳接單片機(jī)的復(fù)位電路,此引腳可以輸入有效得到復(fù)位信號(hào)對(duì)單片機(jī)的運(yùn)行進(jìn)行復(fù)位,單片機(jī)的晶振電路通過單片機(jī)的18腳、19腳輸入時(shí)鐘信號(hào)。還有31腳EA,此引腳的信號(hào)會(huì)覺得單片機(jī)的運(yùn)行程序的位置,如果EA不接或者接低電平,單片機(jī)會(huì)默認(rèn)從芯片內(nèi)部存儲(chǔ)模塊讀取運(yùn)行程序,如果EA接高電平,單片機(jī)會(huì)從外部讀取運(yùn)行程序,這時(shí)P0口就會(huì)作為地址以及數(shù)據(jù)接口,作為程序讀取的通道。作為一款控制器,電源是比不可少的,40腳為電源,20腳為電源地。單片機(jī)最小系統(tǒng)電路如圖3-1所示。單片機(jī)可以運(yùn)行代碼,必須要有晶振電路的支持,每一句代碼的運(yùn)行,每一條指令的運(yùn)行。晶振電路不穩(wěn)定時(shí),單片機(jī)的運(yùn)行將會(huì)停止,甚至無法燒寫程序,所以晶振電路是比不可少的電路。單片機(jī)的定時(shí)器相關(guān)設(shè)計(jì),都是建立在晶振的基礎(chǔ)上,定時(shí)器的時(shí)間計(jì)時(shí),定時(shí)器初始值等,都需要晶振電路的支持,綜上所述,晶振電路的重要性可想而知。電路搭配的是11.0592Mhz的晶振,所以定時(shí)器的各項(xiàng)參數(shù),都需要通過這個(gè)頻率進(jìn)行計(jì)算,晶振是無源晶振,所以必須搭配兩個(gè)起振電容,沒有起振電容,晶振是電路無法工作。晶振電路中晶振對(duì)于起振電容也是有要求的,需要選擇20到50pf的電容,電容的種類也很多,選擇瓷片電容就可以,電容的選擇可以在數(shù)據(jù)手冊(cè)中找到相關(guān)的內(nèi)容,晶振電路的布局也必須離單片機(jī)的XTAL0、XTAL1越近越好,這樣避免過長,在晶振信號(hào)傳輸過程中引入干擾,造成系統(tǒng)不穩(wěn)定,單片機(jī)運(yùn)行不穩(wěn)定,電容的布局需要在單片機(jī)的接口處,這樣晶振信號(hào)傳輸?shù)倪^程中,到達(dá)單片機(jī)接口,通過電容進(jìn)行處理,信號(hào)會(huì)更加穩(wěn)定,在晶振兩端串聯(lián)大小為30pF的電容,構(gòu)成自激振蕩器,為單片機(jī)提供時(shí)鐘頻率。晶振電路很重要,但是單片機(jī)光有晶振電路還不行,復(fù)位電路同樣重要,復(fù)位電路,顧名思義就是復(fù)位,可以回到原位,對(duì)于電子系統(tǒng)而言,就是重新運(yùn)行,單片機(jī)在啟動(dòng)時(shí)會(huì)復(fù)位,叫做上電復(fù)位,也是因?yàn)閺?fù)位電路提供了復(fù)位信號(hào),同時(shí)設(shè)計(jì)的復(fù)位按鍵,可以通過按鍵進(jìn)行復(fù)位,復(fù)位在系統(tǒng)調(diào)試時(shí)起到了很關(guān)鍵的作用,在數(shù)據(jù)手冊(cè)中要求的復(fù)位信號(hào)持續(xù)時(shí)間為5毫秒,只要滿足要求,并且輸入到復(fù)位引腳腳,單片機(jī)就會(huì)復(fù)位。在設(shè)計(jì)調(diào)試時(shí),尤其軟件調(diào)試,復(fù)位可以讓工程師了解軟件設(shè)計(jì)的問題所在,不光是在產(chǎn)品使用中起作用。電路見圖4所示。由一個(gè)10K電阻、一個(gè)10uF電容和一個(gè)開關(guān)組成復(fù)位電路。電容跟開關(guān)的連接方式為并聯(lián),再串聯(lián)上一個(gè)電阻,復(fù)位電路的復(fù)位方式分為兩種:一種是手動(dòng)復(fù)位;另一種是自動(dòng)復(fù)位。手動(dòng)復(fù)位運(yùn)用到開關(guān)來進(jìn)行實(shí)現(xiàn)復(fù)位;而自動(dòng)復(fù)位則是運(yùn)用電容充放電原理。然而電阻的電壓就會(huì)下降,電壓會(huì)減小。復(fù)位接口的電壓會(huì)下降。處理器的復(fù)位端就是低電平,處理器就會(huì)執(zhí)行復(fù)位動(dòng)作。以下圖3-1是最小系統(tǒng)電路原理圖。圖3-1單片機(jī)引腳圖3.2垃圾桶滿(人體)檢測電路垃圾高度檢測方案選擇紅外對(duì)管模塊。紅外對(duì)管可以對(duì)障礙物進(jìn)行檢測,發(fā)射管發(fā)出的紅外光如果有障礙物,則紅外光遇到障礙物反射回紅外接受關(guān),檢測到信號(hào),這樣完成垃圾桶滿信號(hào)采集,人體信號(hào)采集的原理也是此電路,電路如圖3-2所示。圖3-2垃圾桶滿檢測電路圖3.3報(bào)警電路蜂鳴器實(shí)現(xiàn)系統(tǒng)報(bào)警功能,蜂鳴器的控制需要的電流比較高,單片機(jī)的IO口并不能滿足,需要外圍驅(qū)動(dòng)電路的支持,三極管是最基本的驅(qū)動(dòng)型器件,選擇PNP三極管8550,三極管的發(fā)射機(jī)接電源,基極接電阻后接單片機(jī),集電極接蜂鳴器的正極,蜂鳴器負(fù)極接地,單片機(jī)控制三極管的基極就可以實(shí)現(xiàn)對(duì)蜂鳴器的控制。設(shè)計(jì)通過單片機(jī)的P1.6進(jìn)行控制。驅(qū)動(dòng)設(shè)計(jì)圖如圖3-3所示。圖3-3蜂鳴器報(bào)警電路圖3.4垃圾桶控制電路垃圾桶的控制由步進(jìn)電機(jī)實(shí)現(xiàn),驅(qū)動(dòng)由ULN2003實(shí)現(xiàn),步進(jìn)電機(jī)對(duì)驅(qū)動(dòng)電流要求比較高,ULN2003的驅(qū)動(dòng)電流范圍寬,所以比較合適,ULN2003是專用的步進(jìn)電機(jī)驅(qū)動(dòng)器件,對(duì)于步進(jìn)電機(jī)的驅(qū)動(dòng),經(jīng)常會(huì)使用ULN2003,此芯片在步進(jìn)電機(jī)驅(qū)動(dòng)方案中非常成熟。步進(jìn)電機(jī)是2兩相四線,所以單片機(jī)需要4個(gè)獨(dú)立接口進(jìn)行控制,通過P2.1到P2.3連接,步進(jìn)電機(jī)能否轉(zhuǎn)動(dòng)是靠相序的通電順序,這就需要結(jié)合軟件實(shí)現(xiàn),完成步進(jìn)電機(jī)的控制,電路如圖3-4所示。圖3-4垃圾桶控制電路3.5指示燈電路系統(tǒng)還需要對(duì)各種垃圾桶狀態(tài)進(jìn)行指示,所以設(shè)計(jì)了四路發(fā)光二極管,在垃圾桶的不同狀態(tài)、檢測狀態(tài)進(jìn)行指示,垃圾桶在待機(jī)狀態(tài)下,D1亮,垃圾桶檢測到人分體,D2亮,垃圾桶檢測到人體信號(hào)超過2秒,D3亮,垃圾桶內(nèi)垃圾滿,D4亮,如圖3-5所示。圖3-5指示燈電路第四章系統(tǒng)軟件設(shè)計(jì)本研究中,其編程過程是利用來實(shí)現(xiàn)的。來源于美國,它是美國公司出品的,它是一個(gè)針對(duì)51系列單片機(jī)而開發(fā)的C語言編程系統(tǒng)。在單片機(jī)的編程中,主要有兩種語言,一種是匯編語言,另一種是C語言,C語言在各方各面上都有明顯的優(yōu)勢性,比如說它的可讀性更強(qiáng)、功能更強(qiáng)大、結(jié)構(gòu)更簡單、維護(hù)更方便。單片機(jī)C語言編程更容易學(xué),更容易用。為廣大的軟硬件愛好者提供了一個(gè)完整的開發(fā)方案,它融合了一個(gè)強(qiáng)大的仿真調(diào)試器。如果在單片機(jī)編程中使用的是c語言編程,最佳的選擇軟件便是,即使是用匯編語言來編程,使用,也可以非常方便地進(jìn)行仿真調(diào)試。4.1主機(jī)軟件設(shè)計(jì)主機(jī)軟件設(shè)計(jì)包括液晶顯示、蜂鳴器控制、無線數(shù)據(jù)接收、垃圾重量采集、垃圾高度采集。系統(tǒng)通過人體檢測信號(hào),判斷如果有人,則控制垃圾桶打開,可以對(duì)垃圾桶狀態(tài)進(jìn)行檢測,垃圾桶是否滿,并且通過報(bào)警提示。主機(jī)軟件設(shè)計(jì)流程圖見圖4-1。圖4-1系統(tǒng)軟件設(shè)計(jì)流程圖4.2人體檢測軟件設(shè)計(jì)紅外對(duì)管可以對(duì)障礙物(人)進(jìn)行檢測,發(fā)射管發(fā)出的紅外光如果有障礙物(人),則紅外光遇到障礙物(人)反射回紅外接受關(guān),檢測到信號(hào),這樣實(shí)現(xiàn)垃圾桶滿,以及人體檢測功能。,其軟件流程如圖4-2所示。圖4-2人體檢測流程圖4.3垃圾桶控制子程序設(shè)計(jì)垃圾桶的開與關(guān)通過步進(jìn)電機(jī)實(shí)現(xiàn)。步進(jìn)電機(jī)選擇的是2相四線制,四線分別為1、2、3、4。當(dāng)電機(jī)繞組通電時(shí)序?yàn)?-12-2-23-3-34-4-41時(shí)為正轉(zhuǎn),通電時(shí)序?yàn)?1-4-34-3-23-2-12-1時(shí)為反轉(zhuǎn),所以可以判斷按鍵信號(hào)控制步進(jìn)電機(jī)的轉(zhuǎn)動(dòng),如果是垃圾桶開,控制電機(jī)正轉(zhuǎn),垃圾桶關(guān),則電機(jī)反轉(zhuǎn)。軟件設(shè)計(jì)流程圖如4-3圖所示。圖4-3垃圾桶控制軟件設(shè)計(jì)流程圖第五章系統(tǒng)測試5.1軟件調(diào)試本課題的設(shè)計(jì)是使用Keil公司研發(fā)的uVision4軟件編寫與調(diào)試程序。程序由C語言組成。我們的設(shè)計(jì)的系統(tǒng)作用要實(shí)現(xiàn)對(duì)垃圾桶的控制達(dá)到我們的預(yù)想值,并且在特定情況下報(bào)警。系統(tǒng)程序一開始初始化參數(shù),判定按鍵是否按下,假如收到脈沖信號(hào),則進(jìn)入按鍵處理步進(jìn)電機(jī)進(jìn)行驅(qū)動(dòng),沒有收到信號(hào)則定時(shí)器處理紅外數(shù)據(jù)是否到時(shí),到時(shí)數(shù)據(jù)會(huì)進(jìn)行計(jì)算,然后蜂鳴器判定是否報(bào)警,液晶顯示屏更新數(shù)據(jù)顯示,進(jìn)入循環(huán)。系統(tǒng)的系統(tǒng)控制程序采用C設(shè)計(jì),C方便快捷,適用于單片機(jī)產(chǎn)品的設(shè)計(jì)。用于編程的軟件是keill。當(dāng)用C編程時(shí),當(dāng)數(shù)組下標(biāo)超出界限時(shí),只有程序員需要確認(rèn)程序是否正確。軟件調(diào)試時(shí),窗口會(huì)提示錯(cuò)誤的地方,如果格式正確,則會(huì)提示0erroe(s),0警告(s);確定程序正確后,可以將軟件下載到微控制器上測試按鈕,屏幕等。是否可以實(shí)現(xiàn)功能。還需要檢查它是否與微控制器的端口地址一致。關(guān)于單片機(jī)C軟件的調(diào)試,將提示語句中的語法錯(cuò)誤來糾正它。另一種思考軟件調(diào)試的方法是做出假設(shè)并使用程序的內(nèi)容來設(shè)計(jì)關(guān)于錯(cuò)誤原因的許多假設(shè),以便可以更快地找到程序中不容易找到的錯(cuò)誤。在犯錯(cuò)時(shí)要小心不要引入新的錯(cuò)誤。最后,根據(jù)軟件的執(zhí)行步驟,順序檢測程序的運(yùn)行條件和結(jié)構(gòu),例如,主程序和子程序之間的關(guān)聯(lián)是否有錯(cuò),以及整個(gè)系統(tǒng)的運(yùn)行要求是否為滿意。經(jīng)過上述一系列步驟,整個(gè)軟件調(diào)試基本完成。然后,根據(jù)軟件實(shí)施步驟,逐一檢查程序的可行性以及程序附件是否符合項(xiàng)目要求。在調(diào)試過程中,發(fā)現(xiàn)按鈕信號(hào)表現(xiàn)出嚴(yán)重的抖動(dòng)。在修改程序之后,延遲被去抖。上述情況基本消失。通過Keil編寫完代碼,編譯器編譯完成,生成可執(zhí)行文件HEX,此文件可以燒錄到單片機(jī),但在燒錄之前,可以通過Keil對(duì)代碼進(jìn)行簡單的調(diào)試,很多時(shí)候代碼編譯沒有問題,也可以生成可執(zhí)行文件HEX,但是在邏輯以及設(shè)計(jì)思路上會(huì)有錯(cuò)誤,也可能是某個(gè)電路控制錯(cuò)誤,都有可能,所以借助Keil還需要進(jìn)行一步一步調(diào)試。1:軟件代碼設(shè)計(jì)完成后,首先編譯必須沒有錯(cuò)誤,警告可以有,邏輯錯(cuò)誤需要通過調(diào)試修改,所以只需要編譯沒有錯(cuò)誤即可,通過Debug模式進(jìn)行調(diào)試,選擇菜單欄的Debug,選擇第一項(xiàng)Start/StopDebug,啟動(dòng)Debug模式。如圖所示:圖5-1調(diào)試一2:選擇菜單欄的View,電機(jī)WatchWindow,調(diào)出監(jiān)控窗口,如圖所示:圖5-2調(diào)試二3:調(diào)出監(jiān)控窗口,窗口如下圖所示:圖5-3調(diào)試三4:在調(diào)出的監(jiān)控窗口中,可以添加想要觀察的變量,必須選擇Watch1,然后點(diǎn)擊輸入欄,輸入需要監(jiān)控的變量名稱,啟動(dòng)運(yùn)行,就可以看到變量的變化是否和程序設(shè)計(jì)一致:圖5-4調(diào)試四5:點(diǎn)擊調(diào)試,代碼運(yùn)行可以進(jìn)行單步調(diào)試,也就是按一下按鈕代碼運(yùn)行一句代碼,如下圖所示:圖5-5調(diào)試五6:通過工具欄的調(diào)試工具,控制代碼運(yùn)行,選擇模式有單步、循環(huán)、跳出函數(shù)、全速等調(diào)試模式,安裝代碼的運(yùn)行情況進(jìn)行運(yùn)行,監(jiān)控變量的變化。5.2系統(tǒng)仿真5.2.1系統(tǒng)仿真界面此節(jié)主要對(duì)系統(tǒng)電路在仿真軟件中進(jìn)行繪制,完成仿真的前期準(zhǔn)備工作,繪制出系統(tǒng)整個(gè)電路圖。具體電路模塊包括單片機(jī)最小系統(tǒng)、數(shù)碼管顯示電路、指示燈電路、蜂鳴器電路、步進(jìn)電機(jī)控制電路,由于仿真中沒有紅外對(duì)管,所以用按鍵代替。設(shè)計(jì)仿真界面如圖5-6所示。圖5-6系統(tǒng)仿真界面5.2.2系統(tǒng)待機(jī)狀態(tài)仿真系統(tǒng)待機(jī)下,指示燈D2亮起。仿真如圖5-7所示。圖5-7系統(tǒng)待機(jī)仿真5.2.3系統(tǒng)垃圾桶控制狀態(tài)仿真通過開關(guān)模擬有人信號(hào),開關(guān)關(guān)閉,單片機(jī)P0.0接收到低電平,表示有人體信號(hào),指示燈D3亮起,同時(shí)單片機(jī)的P2.1到P2.3控制步進(jìn)電機(jī)垃圾正轉(zhuǎn),表示垃圾桶打開。仿真如圖5-8所示。圖5-8垃圾桶開仿真5.2.4系統(tǒng)垃圾桶滿狀態(tài)仿真通過開關(guān)模擬垃圾桶滿信號(hào),開關(guān)關(guān)閉,單片機(jī)P0.5接收到低電平,表示有垃圾桶滿,指示燈D4亮起,蜂鳴器報(bào)警。仿真如圖5-9所示。圖5-9垃圾桶滿仿真5.3故障檢查目前大部分用的焊接方式都是智能機(jī)械手臂焊接,手動(dòng)焊接都不怎么用了。但是我們做設(shè)計(jì)的時(shí)候就會(huì)經(jīng)常使用最初的手動(dòng)焊接,而且焊接的好與壞代表著這個(gè)系統(tǒng)能不能正常使用。以下是焊接步驟:(1)開始焊接:先把焊接的位置清潔好,保持無塵狀態(tài)沒有雜物,,然后掰一下元器件的兩個(gè)腳不要連在一起不然焊接的時(shí)候影響我們作業(yè)。再之后在板子上的元器件上放上焊錫絲用電烙鐵去接觸,這個(gè)時(shí)候一定要注意電烙鐵不要接觸到其他元器件的腳,因?yàn)橛泻艽髱茁蕰?huì)焊到一起。(2)提高焊接溫度:用燒熱好的電烙鐵放在焊錫絲邊上讓它們自己慢慢熔化,冷卻之后融化后的錫絲會(huì)固定到元器件管腳上,在這個(gè)過程中一定要把握好電烙鐵的加熱時(shí)長和它的溫度,如果加熱過度會(huì)有很大幾率直接焊穿我們的板子,所以大部分作業(yè)的時(shí)候調(diào)到400℃左右,加熱個(gè)幾秒鐘,但是這不是適用于全部的電烙鐵,不同種類也要區(qū)別對(duì)待,按照電烙鐵自己說明書上的來。(3)清潔焊接面板:焊接結(jié)束之后,如果看到焊接的不好影響操作的或者有的是虛焊上去的,是一定要改回來的。這兩種情況的話第一種一般是錫焊的不夠多,坑坑洼洼不是很飽滿,這樣的只要在焊接點(diǎn)補(bǔ)補(bǔ)錫填的來看著很圓潤就可以了,但是也不要過多,因?yàn)槎嗔藭?huì)把相鄰的管腳連在一起。第二種虛焊就是焊的錫太多,多出來的都是虛的,要用加熱好的電烙鐵把冷卻的錫融化開來回的滾動(dòng)把錫弄走,如果還是弄不掉就只好買個(gè)吸錫器吸走了。5.4實(shí)物測試5.4.1實(shí)物組裝進(jìn)行實(shí)物組裝時(shí),首先需要準(zhǔn)備系統(tǒng)設(shè)計(jì)需要的元器件,制作工具包括烙鐵、焊錫等,對(duì)照電路圖,找到對(duì)應(yīng)的器件進(jìn)行布局焊接,焊接時(shí)安裝電路模塊進(jìn)行焊接,焊接完成每一模塊電路都必須進(jìn)行測試,保證電源不短路,沒有錫渣,防止信號(hào)短路,必須保證測量正常,才可以通電測試,任何一處的短路,或者接觸不良,都有可能燒壞電路。一定要一步一步進(jìn)行測試,常見的異?,F(xiàn)象都要檢查明確,有正負(fù)極要求的器件,不可接反,否則將燒壞元器件。實(shí)物組裝焊接好之后,打開電源開關(guān),電源指示燈是否正常,電源指示燈亮,這時(shí)可以對(duì)單片機(jī)燒錄代碼,代碼燒錄后,觀察系統(tǒng)狀態(tài)是否正確,驗(yàn)證系統(tǒng)功能,之后可以進(jìn)行其他功能的驗(yàn)證,按照系統(tǒng)功能要求進(jìn)行驗(yàn)證。所有功能驗(yàn)證完成后,實(shí)物上電測試完成。整個(gè)硬件設(shè)計(jì)完成后,按照上述步驟,第一步是檢查電路板的工作狀態(tài),然后檢查每個(gè)元件的工作狀態(tài),是否處于工作狀態(tài),是否有任何工作狀態(tài)。錯(cuò)誤的運(yùn)動(dòng)條件。各個(gè)電線是否連接在正確的位置以及電流是否能正常流動(dòng)。解決方案如下:使用萬用表檢查電容器,電阻器,電線等的狀況。檢查過程中發(fā)現(xiàn)問題,即單片機(jī)的引腳接觸不良。重復(fù)重新安裝后,再次檢查單片機(jī)是否正常運(yùn)行。檢查時(shí)要小心。如果您不確定電線是否有任何問題,請(qǐng)將其短暫打開,然后快速觀察每個(gè)設(shè)備的溫度狀況。如果溫度瞬間升高,請(qǐng)立即中斷電源以防止損壞設(shè)備。然后使用萬用表根據(jù)剛找到的有問題的設(shè)備檢測連接問題。觀察接地端子是否接地。在整個(gè)硬件檢查正確后,啟動(dòng)信號(hào)波形測試。整個(gè)測試環(huán)節(jié)中最重要的工具是示波器。當(dāng)示波器中出現(xiàn)的波形異常時(shí),找出原因并發(fā)現(xiàn)紅外傳感器的波形失真。原因是波形不符合要求,波形整體向上移動(dòng)。解決方案是添加一個(gè)上拉。電阻將波形恢復(fù)正常。最后一步是在線調(diào)試。在此過程中,它不是作為一個(gè)整體進(jìn)行調(diào)試,而是分為幾個(gè)部分進(jìn)行調(diào)試,以便更快地找到問題。在調(diào)試過程中,單片機(jī)系統(tǒng)存在問題,無法檢測單片機(jī)的運(yùn)行。檢查,發(fā)現(xiàn)晶體振蕩器損壞,進(jìn)入裝扮,再按上述步驟調(diào)試,整個(gè)單片機(jī)正常工作,調(diào)試部分結(jié)束。實(shí)物組裝如圖5-10所

溫馨提示

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

評(píng)論

0/150

提交評(píng)論