




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
摘要 本次設(shè)計(jì)基于STM32F103芯片,使用Keil4和ARM仿真器開發(fā)一款能自動(dòng)分類和液晶顯示的智能垃圾桶系統(tǒng)。該系統(tǒng)包含一下模塊:檢測(cè)模塊、循環(huán)掃描模塊、OLED顯示模塊、多路PWM控制輸出模塊、舵機(jī)控制模塊。本次設(shè)計(jì)使用以上模塊,實(shí)現(xiàn)掃描垃圾顏色功能、OLED提醒功能、控制分流板分類垃圾功能。系統(tǒng)的設(shè)計(jì)使用到了兩個(gè)芯片,作為主芯片STM32如果檢測(cè)到輔芯片C51的信號(hào),就針對(duì)該信號(hào)進(jìn)行垃圾分類處理并且在液晶顯示相關(guān)分類信息。在沒有垃圾投遞信號(hào)情況下,主芯片僅提供實(shí)時(shí)時(shí)鐘和溫濕度的液晶顯示功能。系統(tǒng)的軟件設(shè)計(jì)使用到了程序的循環(huán)掃描法,對(duì)輔芯片的信號(hào)輸出端進(jìn)行不定時(shí)的掃描,以達(dá)到主芯片在接收垃圾投遞信號(hào)后能及時(shí)作出對(duì)OLED液晶和舵機(jī)的信號(hào)輸出處理的功能。在主芯片循環(huán)掃描信號(hào)輸入之余,程序還運(yùn)用定時(shí)輸出來控制舵機(jī)的精準(zhǔn)轉(zhuǎn)動(dòng),以確保垃圾分類的準(zhǔn)確性。系統(tǒng)運(yùn)行時(shí)響應(yīng)速度快,能及時(shí)反饋給使用者相關(guān)信息,方便人們使用。關(guān)鍵詞:Keil4、ARM仿真器、系統(tǒng)模塊、循環(huán)掃描法、定時(shí)輸出控制、AbstractThisdesignisbasedonSTM32F103chip,usingKeil4andARMemulatortodevelopasmarttrashcansystemthatcanautomaticallyclassifyanddisplayliquidcrystal.Thesystemincludesthefollowingmodules:detectionmodule,cyclicscanningmodule,OLEDdisplaymodule,multi-channelPWMcontroloutputmodule,steeringcontrolmodule.Theabovemodulesareusedinthisdesigntorealizethefunctionofgarbagecolorscanning,OLEDremindingandgarbagesortingonthecontrolsplitter.Inthedesignofthesystem,twochipsareusedasthemainchipSTM32.IfthesignaloftheauxiliarychipC51isdetected,garbageclassificationiscarriedoutforthesignalandrelevantclassificationinformationisdisplayedintheliquidcrystal.Intheabsenceofagarbagedeliverysignal,themainchipprovidesonlyareal-timeclockandLCDdisplayoftemperatureandhumidity.ThesoftwaredesignofthesystemUSESthecyclicscanningmethodoftheprogramtoscanthesignaloutputoftheauxiliarychipatirregularintervals,sothatthemainchipcantimelyprocessthesignaloutputofOLEDliquidcrystalandsteeringgearafterreceivingthegarbagedeliverysignal.Inadditiontothemainchipcyclicscanningsignalinput,theprogramalsoUSEStimingoutputtocontrolthepreciserotationofthesteeringgear,inordertoachievetheaccuracyofgarbageclassification.Whenthesystemisrunning,theresponsespeedisfast,andtherelevantinformationcanbefedbacktotheuserintime,whichisconvenientforpeopletouse.Keywords:Keil4,ARMsimulator,systemmodule,cyclicscanningmethod,timingoutputcontrol,目錄前言......................................6第一章 概述...................................7 1.1任務(wù)提出...............................71.2智能垃圾桶國(guó)內(nèi)外發(fā)展............................71.3系統(tǒng)開發(fā)的可行性分析...........................8 1.4本次設(shè)計(jì)所做的工作..........................8第二章 開發(fā)工具介紹..................................10 2.1KeilμVision4.............................10 2.2燒錄工具--ARM仿真器..........................10第三章 系統(tǒng)軟件總設(shè)計(jì)................................11 3.1系統(tǒng)運(yùn)行設(shè)計(jì)圖............................11 3.2系統(tǒng)軟件設(shè)計(jì).............................12第四章 系統(tǒng)詳細(xì)設(shè)計(jì)..................................134.1檢測(cè)垃圾分類信號(hào)模塊.............................134.2垃圾分類模塊..............................134.3溫濕度和實(shí)時(shí)時(shí)鐘模塊.................................154.4液晶顯示模塊..................................16第五章 系統(tǒng)實(shí)現(xiàn).................................175.1編碼.................................175.2調(diào)試.................................235.3測(cè)試................................255.4運(yùn)行.................................26第六章 系統(tǒng)總結(jié)...............................27 6.1系統(tǒng)特點(diǎn)...............................27 6.2系統(tǒng)不足及解決措施...........................27 6.3系統(tǒng)展望................................28參考文獻(xiàn)...................................29致辭.....................................29附錄.....................................30前言 在我國(guó)人們的生活水平不斷提高的發(fā)展前景下,人們使用著各種各樣更加智能、便民的產(chǎn)品,其中生活中能使用的如智能機(jī)器人、掃地機(jī)器人、拍攝無人機(jī)等,高端的智能設(shè)備如智能手表、智能識(shí)別攝像頭、平板電腦和手機(jī)。智能設(shè)備的效率性不僅能是我們生活更加便利,而且可以使我們利用極少的資源去做更多的事。智能設(shè)備在設(shè)計(jì)上,不僅能實(shí)現(xiàn)各種功能,而且在人力物力上的節(jié)約,使得智能設(shè)備的發(fā)展不僅僅時(shí)人們生活使用的產(chǎn)品上,如街道監(jiān)控系統(tǒng),工業(yè)智能控制設(shè)備,無人駕駛系統(tǒng),甚至軍隊(duì)使用的各種智能設(shè)備。智能設(shè)備的普及,使得人們能在各個(gè)方向得快速發(fā)展。 智能設(shè)備的廣泛使用使我們生活更加便利,如我們本次設(shè)計(jì)的只能分類垃圾桶。原本分類垃圾在上個(gè)世紀(jì)沒被人重視,而垃圾的堆積和處理的問題越發(fā)突出,以至于人們重視起來。早在兩千年前后,日本就推行垃圾分類制度,因?yàn)樗麄儑?guó)家的處理垃圾能力有限,且垃圾對(duì)生態(tài)的影響也越來越嚴(yán)重。在日本實(shí)行該政策后,他們的年清運(yùn)量由五千多萬噸降到了四千萬噸左右,從人均排放量1kg降到了0.9kg。日本政府推廣的政策效果顯而易見而且得到的發(fā)達(dá)國(guó)家的認(rèn)可并推廣,垃圾分類在以前被忽視的狀況中提到了被人們相當(dāng)重視的程度。在2019年前后,國(guó)家住建部聯(lián)合發(fā)改委、生態(tài)環(huán)境部等九個(gè)部門擬定并發(fā)布了《關(guān)于在全國(guó)地級(jí)及以上城市全面開展生活垃圾分類工作的通知》,決定從2019年開始在全國(guó)地級(jí)及以上城市全面普及生活垃圾分類工作。我國(guó)是人口大國(guó),相應(yīng)產(chǎn)生的垃圾量也較其他國(guó)家更多,截至2018年底,我國(guó)人口數(shù)量已經(jīng)達(dá)到13.95億人,隨著民眾消費(fèi)水平的不斷增長(zhǎng)、生活垃圾的生產(chǎn)量持續(xù)走高,根據(jù)生態(tài)環(huán)境部統(tǒng)計(jì),全國(guó)每天產(chǎn)生的垃圾超過百萬噸。隨著城鎮(zhèn)化建設(shè)進(jìn)程加快,城市生活垃圾呈現(xiàn)持續(xù)增長(zhǎng)化、分散化的趨勢(shì)。相比2018年公布的數(shù)據(jù),2019年國(guó)家的生態(tài)環(huán)境部發(fā)布的數(shù)據(jù)顯示,逐年垃圾生產(chǎn)量在每年以大概5%到7%的速度增長(zhǎng),全國(guó)人們生活垃圾每天生產(chǎn)以超過百萬噸。在這嚴(yán)峻的垃圾處理問題上,社會(huì)已經(jīng)開始重視起來,而分類垃圾是其中的重要的一步。智能垃圾桶因?yàn)槠鋵儆诶诸惍a(chǎn)品的衍生物而被人們開發(fā)利用起來。市面上使用的智能垃圾桶發(fā)展到現(xiàn)在,已經(jīng)有了相對(duì)完善的功能,如語音提示、紅外感應(yīng)、自動(dòng)休眠、液晶提示甚至可以做到無接觸操作的功能。比較高端一點(diǎn)的智能垃圾桶會(huì)有連有通信功能,如RS232通信,TCP通信,能及時(shí)收到智能垃圾桶的實(shí)時(shí)數(shù)據(jù),方便工作人員進(jìn)行清理垃圾?,F(xiàn)在市場(chǎng)上的智能垃圾桶品牌主要有:麥桶桶、卡貝、EKO\歐本、網(wǎng)易嚴(yán)選和拓牛,這些公司生產(chǎn)的智能垃圾桶在多個(gè)地方投入使用,在垃圾分類問題的處理上取得了較好的成績(jī)。智能垃圾桶產(chǎn)品的投入使用使人們生活變得更加便捷,不用擔(dān)心被垃圾細(xì)菌污染環(huán)境甚至交叉感染病毒,也可以在無接觸情況下把各個(gè)垃圾分好類,智能垃圾桶智慧在人們的不停開發(fā)后變得越智能,還有可以語音識(shí)別的操作,但因?yàn)槌杀靖叨灰恍┕舅蕴?智能垃圾桶的主體是一塊以智能芯片為主的電路板,其主要是由硬件和軟件組成?,F(xiàn)在的智能垃圾桶一般可以運(yùn)行SOC系統(tǒng),即片上系統(tǒng),如我們的智能手表、智能手環(huán)。但是這些系統(tǒng)的開發(fā)在成本上會(huì)相對(duì)較高。我們畢業(yè)設(shè)計(jì)小組在小調(diào)查和自己的觀察決定,開發(fā)一個(gè)成本相對(duì)較低,能被大眾接受的智能垃圾桶,且具備顏色識(shí)別和液晶界面指導(dǎo)人們投遞、分類垃圾的功能。第一章 概述1.1 任務(wù)提出出于減少人們直接接觸垃圾桶,或者能使垃圾桶與人相隔一定距離,開發(fā)紅外感應(yīng)功能,我們?cè)O(shè)計(jì)垃圾桶考慮到在人走過來扔垃圾時(shí),由智能垃圾桶紅外感應(yīng)模塊發(fā)出信號(hào),芯片接收信號(hào),經(jīng)過計(jì)算發(fā)出控制垃圾桶蓋推桿的信號(hào),打開垃圾桶蓋,指導(dǎo)垃圾分類。為強(qiáng)加人們的分類意識(shí),智能垃圾桶增設(shè)語音提示功能,指引人們合適的分類把垃圾分到相應(yīng)的垃圾桶。整個(gè)功能在嵌入式系統(tǒng)接收到相應(yīng)的語音提示信號(hào)后,從外部存儲(chǔ)模塊讀取相應(yīng)地址的存儲(chǔ)內(nèi)容,然后又芯片把讀取到的內(nèi)容發(fā)送給擴(kuò)音器,來提示人們?nèi)绾畏诸惱?,即用芯片?qū)動(dòng)外部存儲(chǔ)芯片和擴(kuò)音器模塊完成滿足用戶需求的功能。智能垃圾桶被填滿時(shí),會(huì)提醒人們放到備用垃圾桶里,讓整個(gè)產(chǎn)品更加人性化。垃圾桶被填滿時(shí),由壓力傳感器把信號(hào)傳到芯片,再由芯片觸發(fā)信號(hào)提醒扔垃圾的人完成操作,避免人們?cè)诶疤顫M時(shí)把垃圾隨處丟放,污染周圍環(huán)境。為指引不知道如何分類垃圾的人,開發(fā)人機(jī)操控界面,讓人們知道怎么分類垃圾。該功能由感應(yīng)手勢(shì)傳感器和顯示界面共同完成。在人們?nèi)永鴷r(shí),不知道怎么分類,用手勢(shì)啟動(dòng)操作屏幕界面,避免了接觸,然后根據(jù)頁面提示一步一步按照提示看到需要投遞的垃圾歸屬的分類,并且打開相應(yīng)的垃圾桶方便讓人們投扔垃圾。1.2 智能垃圾桶國(guó)內(nèi)外發(fā)展隨著人們生活水平的提高,人們生活產(chǎn)生的生活垃圾也空前的增加。城市垃圾處理是二十世紀(jì)九十年代以來眾多發(fā)達(dá)國(guó)家重要研究的課題之一,這也大大地推動(dòng)了綠色產(chǎn)業(yè)的發(fā)展。對(duì)于垃圾處理的問題,大多數(shù)發(fā)達(dá)國(guó)家實(shí)行垃圾源頭的削減戰(zhàn)略,實(shí)現(xiàn)材料的可循環(huán)利用管理。但在處理二手垃圾問題上還是顯得吃力,因?yàn)槿藗儧]有分類垃圾的意識(shí),而先前實(shí)行的綠色發(fā)展戰(zhàn)略也停滯了一段時(shí)間。直到后來,綠色產(chǎn)品的衍生物,智能分類垃圾桶投入使用,使材料的回收變得更加容易實(shí)現(xiàn)。日本國(guó)土面積小,資源相對(duì)匱乏,為達(dá)到相對(duì)平衡的資源再用狀況,日本在上個(gè)世紀(jì)末就推行垃圾分類的政策。在日本推行垃圾分類鼓勵(lì)政策后,人們紛紛開發(fā)使用的、方便人們使用的垃圾桶。限制于當(dāng)時(shí)的技術(shù),分類垃圾桶能實(shí)現(xiàn)的功能非常少,而且當(dāng)時(shí)生產(chǎn)的產(chǎn)品很少達(dá)到衛(wèi)生的水平,甚至使其周邊產(chǎn)生惡臭等環(huán)境問題。再后來的十年,發(fā)達(dá)國(guó)家把垃圾分類的問題提上日程,使得垃圾分類行業(yè)的產(chǎn)品的發(fā)展得到人們重視?,F(xiàn)在的智能分類垃圾桶基本配備了無接觸感應(yīng)器、液晶提示以及語音提示的功能,相對(duì)于以前的傳統(tǒng)的垃圾桶而言,先進(jìn)的智能垃圾桶不僅能實(shí)實(shí)在在的實(shí)現(xiàn)其分類的功能,也很好的改善了其周邊的環(huán)境。智能垃圾桶在發(fā)達(dá)國(guó)家被大力推行,而且也取得了很好的效果。國(guó)內(nèi)的垃圾分類問題在近些年來才得到人們的重視。中國(guó)的發(fā)展迅速,在人們富裕起來后,生活的周邊環(huán)境也逐漸被人們重視起來,而垃圾處理問題這其中這一環(huán)也同樣得到人們的重視。垃圾分類處理的政策首先在大城市實(shí)行,同時(shí)智能分類垃圾桶出現(xiàn)在人們的生活中。目前國(guó)內(nèi)比較先進(jìn)的垃圾桶主要分為:按鈕電動(dòng)式、紅外傳感翻蓋式、紅外傳感側(cè)拉式。對(duì)于智能垃圾桶的想象都是基于現(xiàn)實(shí)可以實(shí)現(xiàn)的基礎(chǔ)進(jìn)行的。在更先進(jìn)的將來,垃圾桶可能已經(jīng)被集成在了另一個(gè)更高級(jí)的智能工具當(dāng)中,也許是一體全能型的智能管家,也許是其他超出想象的東西。1.3 系統(tǒng)開發(fā)的可行性分析在時(shí)代快速發(fā)展的今天,無論是在荒無人煙的荒野還是繁榮的城市,都產(chǎn)生不少的廢料,生活產(chǎn)生的垃圾就是其中一種。垃圾桶也成為生活工作中必不可少的公共衛(wèi)生設(shè)施。在以前還是普通垃圾桶時(shí),設(shè)計(jì)缺乏人性化,沒有從用戶應(yīng)用出發(fā)考慮,導(dǎo)致垃圾桶周邊一堆垃圾,臭氣熏天,使得周圍環(huán)境嚴(yán)重污染,還可能滋養(yǎng)細(xì)菌病毒,而且在回收垃圾時(shí)很麻煩。這中污染的環(huán)境不僅污染周邊居民的生活環(huán)境,還可能帶來各種公共衛(wèi)生的問題。因此,在這種環(huán)境下開發(fā)智能垃圾桶很有必要,而且也是公共衛(wèi)生行業(yè)發(fā)展的必要條件之一。智能垃圾桶的存在能緩解很多周邊的公共衛(wèi)生問題,能適當(dāng)?shù)奶嵘用裰苓吷瞽h(huán)境,且減少亂扔垃圾帶來的問題。而且,不同的垃圾處理情況不同,如餐廚垃圾,能產(chǎn)生回收能源,塑料垃圾能回收再用,廢棄的電子垃圾能統(tǒng)一回收以降低環(huán)境污染等等問題,所以智能分類垃圾桶開發(fā)很有必要。一般的嵌入式系統(tǒng)是由軟件和硬件組成,成品是一個(gè)能獨(dú)立運(yùn)算的器件。嵌入式系統(tǒng)主要以應(yīng)用為中心,以用戶的特定的要求為開發(fā)系統(tǒng)未目標(biāo),能在用戶接上電源就可以使用其功能,不用使用者進(jìn)行再次開發(fā)或根據(jù)要求減輕用戶開發(fā)。嵌入式系統(tǒng)在對(duì)應(yīng)用的功能開發(fā)時(shí)有很強(qiáng)的針對(duì)性和專用性,且要求整個(gè)系統(tǒng)在可靠實(shí)用的情況下運(yùn)行。整個(gè)系統(tǒng)強(qiáng)調(diào)軟件硬件的結(jié)合,在硬件支持前提下,使整個(gè)系統(tǒng)更加實(shí)用和增加其可拓展性。在開發(fā)軟件項(xiàng)目時(shí)應(yīng)著重程序的靈活性、功耗性和可維護(hù)性,能在用戶不用的需求下,靈活的修改項(xiàng)目中的部分功能邏輯模塊。它是在基于芯片編程的基礎(chǔ)上,結(jié)合芯片所連接的外部硬件電路,實(shí)現(xiàn)各種實(shí)用、經(jīng)濟(jì)、能可持續(xù)運(yùn)行的系統(tǒng)。在可持續(xù)、穩(wěn)定且低成本的系統(tǒng)中,運(yùn)用在生態(tài)環(huán)保甚至苛刻的條件下能很好的取代人工,且能從根本上省下人力物力等資源。1.4 本次設(shè)計(jì)所做的工作本次設(shè)計(jì)工作是:1、開發(fā)系統(tǒng),使系統(tǒng)實(shí)現(xiàn)傳感器讀取,垃圾顏色分類信號(hào)讀取,OLED液晶顯示的功能。2、使用ARM仿真器監(jiān)測(cè)程序部分變量變化。在調(diào)試時(shí),監(jiān)測(cè)變量在C51分類信號(hào)輸入后,垃圾桶系統(tǒng)是否作出對(duì)應(yīng)的控制輸出。監(jiān)視變量在整個(gè)過程中的變化是否符合系統(tǒng)開發(fā)的穩(wěn)定性的特點(diǎn)。3、與負(fù)責(zé)硬件同學(xué)溝通,在結(jié)合硬件和外部結(jié)構(gòu)上,對(duì)液晶顯示程序和舵機(jī)分類功能程序進(jìn)行微調(diào),以符合使用者的使用習(xí)慣和在社會(huì)生活中實(shí)際使用的客觀情況。第二章 開發(fā)工具介紹2.1 開發(fā)工具總介開發(fā)過程中使用到的工具有keil4軟件、杜邦線、萬用表、ARM仿真器和編程的C語言。杜邦線和萬用表主要是用在調(diào)試軟件,如果調(diào)試出問題首先使用杜邦線連到STM32芯片端口,在串口輸出打印數(shù)據(jù)觀察其是否正確,或者用萬用表測(cè)量元器件是否工作正常。2.2 主要開發(fā)工具介紹2.2.1 KeilμVision4Keil軟件原本的軟件開發(fā)公司是世界領(lǐng)先的MCU軟件開發(fā)公司,及微控制器軟件開發(fā)公司,它是由兩家私人公司合資運(yùn)營(yíng)。改開發(fā)軟件在八十年代時(shí)就能支持幾百種的C51芯片的延申芯片,基本上芯片全覆蓋,因?yàn)楫?dāng)時(shí)的主流芯片是8051芯片。Keil軟件使用的C51編譯器,成為51單片機(jī)開發(fā)的行業(yè)標(biāo)準(zhǔn)。Keil公司在二十一世紀(jì)初被ARM公司收購,接著keil公司和ARM公司開發(fā)了32位微控制器開發(fā)軟件,用來開發(fā)調(diào)試ARM7、ARM9和cortex-M內(nèi)核的處理器。在軟件版本升級(jí)Keil3時(shí),可以支持各種嵌入式處理器的開發(fā),其軟件內(nèi)集成了RealViewMDK開發(fā)環(huán)境,其中還包括了RealView編譯器,它可以下載代碼、啟動(dòng)代碼和燒寫flash功能等等強(qiáng)大的功能,該版本的軟件已經(jīng)可以支持ARM7、ARM9和cortex-M3的處理器,即支持本次設(shè)計(jì)使用到的的STM32F103的內(nèi)核cortex-M3的開發(fā)。Keil4軟件版本的出現(xiàn),很好的優(yōu)化了keil3的操作界面,以及在該版本開發(fā)軟件靈活的窗口管理系統(tǒng)能極方便開發(fā)人員的使用。它不僅提供多臺(tái)可監(jiān)視器,且能支持更多更新的ARM芯片的開發(fā)。因此變成我們這次的設(shè)計(jì)主要使用的軟件開發(fā)工具,如下圖2.1所示。圖2.1Keil4軟件圖標(biāo)2.2.2 燒錄工具--ARM仿真器開發(fā)人員在編程后生成HEX文件,一般會(huì)使用串口下載到芯片里,且串口僅能支持下載功能,不支持串口調(diào)試,監(jiān)視數(shù)據(jù)以及調(diào)試的功能。所以我們?cè)O(shè)計(jì)需要用到ARM仿真器,實(shí)物如圖2.2所示。ARM仿真器的強(qiáng)大功能,可以支持軟件代替主板上的CPU進(jìn)行實(shí)時(shí)仿真,可以模仿CPU的運(yùn)行,且因?yàn)榉抡嫫鞯臉O高的速度,能反饋的可視性的運(yùn)行狀態(tài)和數(shù)據(jù)能實(shí)時(shí)的更新,方便開發(fā)人員的監(jiān)視和后期的維護(hù)。 圖2.2ARM仿真器2.2.3 C語言C語言誕生于美國(guó)的貝爾實(shí)驗(yàn)室,由D.M.Ritchie以B語言為基礎(chǔ)發(fā)展而來,在它的主體設(shè)計(jì)完成后,Thompson和Ritchie用它完全重寫了UNIX,且隨著UNIX的發(fā)展,c語言也得到了不斷的完善。為了利于C語言的全面推廣,許多專家學(xué)者和硬件廠商聯(lián)合組成了C語言標(biāo)準(zhǔn)委員會(huì),并在之后的1989年,誕生了第一個(gè)完備的C標(biāo)準(zhǔn),簡(jiǎn)稱“C89”,也就是“ANSIc”,截至2020年,最新的C語言標(biāo)準(zhǔn)為2017年發(fā)布的“C17”。C語言主要特點(diǎn)有:簡(jiǎn)潔、具有結(jié)構(gòu)化的控制語句、豐富的數(shù)據(jù)類型、豐富的運(yùn)算符、可對(duì)物理地址進(jìn)行直接操作,而且它可生成高質(zhì)量、執(zhí)行效率高的代碼程序。基于這些開發(fā)上的優(yōu)勢(shì)和特點(diǎn),這次的設(shè)計(jì)使用到的編程語言為C語言。C語言的基本變成語句主要有if、elseif、while、for循環(huán)和do{}while等語句。而且C語言內(nèi)部包括了標(biāo)準(zhǔn)的數(shù)學(xué)函數(shù),如平方根、字符串連接函數(shù)等等,它們能直接使用到程序代碼里,不需要外加的聲明或定義。C語言不僅在語句上設(shè)計(jì)成方便我們使用,在編譯器設(shè)計(jì)上生成的hex文件也可以非常方便我們移植。其主要的編譯器有VisualC++、Clang、GCC、TurboC,編譯的效率和程序運(yùn)行的效率相比其它編程語言編譯器要高。第三章 系統(tǒng)軟件總設(shè)計(jì)3.1 系統(tǒng)運(yùn)行設(shè)計(jì)圖(1)開機(jī)后先進(jìn)行整個(gè)系統(tǒng)的初始化。(2)液晶顯示溫濕度數(shù)據(jù),以及實(shí)時(shí)時(shí)鐘走時(shí)。(3)不停掃描垃圾顏色分類信號(hào)的輸入,及時(shí)作出垃圾分類動(dòng)作。(4)當(dāng)進(jìn)行垃圾分類時(shí),取消溫濕度數(shù)據(jù)顯示,保留實(shí)時(shí)時(shí)鐘走時(shí)。(5)垃圾分類動(dòng)作完成后,復(fù)位分類垃圾操作板,液晶顯示重新顯示溫濕度數(shù)據(jù)以及實(shí)時(shí)時(shí)鐘走時(shí)。系統(tǒng)的運(yùn)行設(shè)計(jì)圖如圖3.1所示。圖3.1系統(tǒng)的運(yùn)行設(shè)計(jì)圖3.2 系統(tǒng)軟件設(shè)計(jì)本次設(shè)計(jì)使用溫濕度傳感器、OLED顯示液晶和舵機(jī)這幾部分硬件模塊。與其它單片機(jī)通信上,STM32芯片使用其中幾個(gè)端口用來接收C51的垃圾分類信號(hào)。在接收到從51單片機(jī)發(fā)送的紅、綠、藍(lán)信號(hào)后,經(jīng)過處理產(chǎn)生相應(yīng)的OLED液晶顯示界面的切換。同時(shí)控制舵機(jī)帶動(dòng)垃圾分類板旋轉(zhuǎn)到對(duì)應(yīng)的角度,使垃圾掉落到其對(duì)應(yīng)的垃圾桶,完成垃圾的分類投遞。芯片通過舵機(jī)控制的垃圾分類板在動(dòng)作5秒后,馬上恢復(fù)到原來位置,防止垃圾未完成分類就直接落入垃圾桶。在分類動(dòng)作的同時(shí),OLED液晶也會(huì)提醒使用者停止再次投遞垃圾以及實(shí)時(shí)時(shí)鐘走時(shí)顯示。軟件流程圖如圖3.2所示。圖3.2 程序流程圖第四章 系統(tǒng)詳細(xì)設(shè)計(jì)4.1 檢測(cè)垃圾分類信號(hào)模塊檢測(cè)垃圾分類信號(hào)由TCS顏色檢測(cè)模塊發(fā)出。該模塊使用得數(shù)據(jù)輸出有效位為低電平,因此我們需要在接收信號(hào)得主芯片STM32程序中設(shè)置低電平為信號(hào)有效位。與負(fù)責(zé)檢測(cè)垃圾分類信號(hào)同學(xué)溝通所得,該信號(hào)在垃圾還沒分類前,即垃圾停留在檢測(cè)模塊時(shí),會(huì)在與主芯片通信端口一直產(chǎn)生對(duì)應(yīng)的低電平顏色信號(hào)。在利用主芯片接收垃圾分類信號(hào)前,需要對(duì)檢測(cè)顏色信號(hào)端口進(jìn)行配置。因?yàn)樵撔盘?hào)為輸入檢測(cè)信號(hào),而且考慮到C51信號(hào)輸出端口內(nèi)置上拉電阻和低電平為有效位,所以在程序中把三個(gè)顏色檢測(cè)端口設(shè)置為上拉電阻輸入。設(shè)置完端口工作模式才可讀取端口信號(hào),所以該配置需要在循環(huán)掃描檢測(cè)信號(hào)前完成。在讀取分類信號(hào)時(shí),主芯片需要同時(shí)掃描三個(gè)信號(hào)端,分別為紅色、綠色和藍(lán)色。產(chǎn)生相應(yīng)的低電平顏色信號(hào)后,會(huì)進(jìn)入一個(gè)五秒的延時(shí),該五秒延時(shí)不再檢測(cè)低電平顏色信號(hào),以及在程序中將提醒人們不要再投遞垃圾標(biāo)志位置一。 分類信號(hào)檢測(cè)流程圖如圖4.1所示。圖4.1 分類信號(hào)檢測(cè)流程圖4.2 垃圾分類模塊 本次設(shè)計(jì)使用到的垃圾分類模塊由舵機(jī)和分類使用的紙板完成。在硬件的設(shè)計(jì)和外觀的設(shè)計(jì)上,使用了兩個(gè)分類板,即需要兩個(gè)舵機(jī)去控制其轉(zhuǎn)動(dòng)。 設(shè)計(jì)使用到是型號(hào)為SG90,最大角度180°的舵機(jī)。根據(jù)舵機(jī)的參考手冊(cè)可得,每次轉(zhuǎn)動(dòng)時(shí)需要持續(xù)接收周期脈沖,而每次的脈沖周期為20ms。垃圾桶分類功能設(shè)計(jì)為三個(gè)不同的掉落方向,需要兩個(gè)舵機(jī)同時(shí)帶動(dòng)其相接的分類紙板,轉(zhuǎn)動(dòng)至固定的角度,達(dá)到分類垃圾的功能。 芯片控制垃圾分類模式時(shí)使用到TIM3定時(shí)器PWM脈寬調(diào)制輸出。因此在使舵機(jī)帶動(dòng)紙板轉(zhuǎn)動(dòng)前,需要對(duì)TIM以及PWM配置。 定時(shí)器產(chǎn)生一個(gè)20毫秒的脈沖,需要對(duì)起溢出值(arr)和分頻系數(shù)(psc)進(jìn)行配置。根據(jù)公式:(溢出時(shí)間/s)Tcount=(arr+1)(psc+1)/TCLK可得,在TCLK為APB1高速時(shí)鐘72MHz和Tcount為20ms的前提下,只要arr和psc相乘得到固定值即可。芯片控制舵機(jī)旋轉(zhuǎn)角度時(shí)利用PWM脈寬調(diào)制器,需要結(jié)合SG90舵機(jī)參考資料的提示:0°需要0.5ms脈寬,180°需要2.5ms脈寬。根據(jù)資料所得在20ms脈沖周期中,旋轉(zhuǎn)的角度θ與定時(shí)器計(jì)數(shù)次數(shù)count的關(guān)系:count=arr(θ+45)/1800然后把需要旋轉(zhuǎn)的角度帶入公式計(jì)算出來的次數(shù)賦給TIM3計(jì)數(shù)值就完成對(duì)應(yīng)脈沖寬度的調(diào)節(jié)。STM32接收到垃圾分類信號(hào)時(shí)控制舵機(jī)帶動(dòng)紙板進(jìn)行分類。為舵機(jī)為轉(zhuǎn)到相應(yīng)角度并且固定角度,芯片需要不停的輸出脈沖。旋轉(zhuǎn)到估計(jì)角度后延遲五秒,使需要分類的垃圾有足夠的時(shí)間落入分類垃圾桶。垃圾分類模塊軟件流程圖如圖4.2所示。圖4.2 垃圾分類模塊軟件流程圖 4.3 溫濕度和實(shí)時(shí)時(shí)鐘模塊 本次設(shè)計(jì)使用到了DHT11溫濕度傳感器和STM32自帶的RTC實(shí)時(shí)時(shí)鐘功能。溫度濕度顯示在啟動(dòng)界面,而RTC實(shí)時(shí)時(shí)鐘則在所有界面中都有刷新,為使用者顯示當(dāng)前時(shí)間。 溫濕度的顯示是為了方便人們直接的觀察到周邊環(huán)境的溫度和濕度。DHT11通信原理是利用單個(gè)IO端口,同時(shí)進(jìn)行收發(fā)數(shù)據(jù)。根據(jù)該傳感器手冊(cè)顯示,該傳感器只要每次讀取數(shù)據(jù)時(shí)以DHT11傳感器提供的方式復(fù)位,然后等待幾微妙后拉低的通信數(shù)據(jù)線,就可以讀取其內(nèi)部寄存器的數(shù)據(jù),即檢測(cè)的溫度值。 RTC實(shí)時(shí)時(shí)鐘的讀取比傳感器數(shù)據(jù)讀取稍微簡(jiǎn)單。RTC實(shí)時(shí)時(shí)鐘的讀取方法由STM32提供的固件庫函數(shù)可直接獲得。使用固件庫提供的方法直接讀取返回的數(shù)據(jù)是從1970年開始的以秒為單位的數(shù)字。本次設(shè)計(jì)使用的實(shí)時(shí)時(shí)鐘走時(shí)限于液晶大小,只顯示時(shí)分秒。對(duì)應(yīng)的時(shí)(rhour)、分(rmin)、秒(rsec)和讀取的秒總數(shù)(temp)關(guān)系: rhour=temp/3600 rmin=(temp%3600)/60 rsec=(temp%3600)%60 讀取溫濕度、RTC時(shí)鐘程序流程圖如圖4.3所示。圖4.3 讀取溫濕度、RTC時(shí)鐘程序流程圖 4.4 液晶顯示模塊 設(shè)計(jì)選用的液晶為使用I2C通信的OLED0561型號(hào)液晶。I2C通信方式是以地址確認(rèn)為前提,主從設(shè)備相互發(fā)送數(shù)據(jù)。本次垃圾桶使用硬件中使用到I2C通信的只有此液晶屏,所以選擇芯片其中的一組通信端口配置即可。 I2C通信前需要對(duì)其GPIO端口進(jìn)行基本參數(shù)配置,端口開啟復(fù)用功能時(shí)鐘,端口的工作模式使用開漏輸出以增強(qiáng)I2C通信,同時(shí)還需要對(duì)I2C通信寄存器進(jìn)行地址位數(shù)、通信速度、應(yīng)答方式、主機(jī)地址的配置,完成后使用固件庫函數(shù)啟動(dòng)I2C端口的通信。 端口設(shè)置完成,需要對(duì)OLED液晶發(fā)送啟動(dòng)數(shù)據(jù)以驅(qū)動(dòng)液晶屏幕。根據(jù)OLED液晶參考資料所得,啟動(dòng)液晶電源需要依次發(fā)送0x8d、0x10數(shù)據(jù),然后液晶完成底層驅(qū)動(dòng)顯示。因?yàn)橐壕э@示驅(qū)動(dòng)需要在液晶顯示數(shù)據(jù)前完成,所以程序中把液晶的通信啟動(dòng)模塊、顯示啟動(dòng)模塊放在了主循環(huán)的開頭。 芯片在沒有檢測(cè)到垃圾分類信號(hào)輸入時(shí),通過循環(huán)讀取DHT11溫濕度數(shù)據(jù)、RTC時(shí)鐘,及時(shí)刷新溫濕度和實(shí)時(shí)時(shí)鐘顯示。 在檢測(cè)分類垃圾信號(hào)輸入時(shí),經(jīng)過芯片STM32處理,顯示提醒使用者停止投遞垃圾的信息。OLED液晶顯示提醒信息的同時(shí),顯示RTC實(shí)時(shí)時(shí)鐘的走時(shí)。與此同時(shí),利用延時(shí)函數(shù),延遲五秒鐘,使投遞的垃圾完成分類后,切換回初始界面,再次讀取DHT11溫濕度傳感器數(shù)據(jù)和RTC實(shí)時(shí)時(shí)鐘,以及刷新數(shù)據(jù)的顯示。 讀取的溫濕度數(shù)據(jù)和RTC時(shí)鐘為十進(jìn)制數(shù)據(jù),在轉(zhuǎn)換為液晶上顯示的數(shù)據(jù)還需要作相應(yīng)的算法處理。利用取模軟件將ASCII碼表上的符號(hào)按照其順序,選擇縱向取模下高位的方式,對(duì)其進(jìn)行取模,并且保存取模生成的數(shù)組數(shù)據(jù)。最后在發(fā)送液晶數(shù)據(jù)時(shí)將需要顯示的符號(hào)按照其順序依次發(fā)送,就完成在液晶顯示的功能。 液晶顯示軟件流程圖如圖4.4所示。圖4.4 液晶顯示軟件流程圖第五章 系統(tǒng)的實(shí)現(xiàn)5.1編碼5.1.1建立工程文件在工具欄里選中“project”,然后點(diǎn)擊“newuVisionproject”,如圖5.1所示,圖5.1建立Project例圖接著選擇工程保存目錄。建立并保存工程后,選擇處理器類型時(shí),在STMicro系列下選中STM32F103C8芯片,最后點(diǎn)擊確認(rèn)。如圖5.2所示。圖5.2 選擇芯片例圖5.1.2程序?qū)崿F(xiàn)(1)程序代碼開頭,先定義程序會(huì)用到的變量、數(shù)組等數(shù)據(jù)格式。如圖5.1所示。圖5.1 變量定義圖。 其中MUNE為切換液晶顯示的菜單值,num、cou、num1為計(jì)數(shù)值,不過num1的計(jì)數(shù)值需要十六位的數(shù)據(jù)才能完成計(jì)數(shù),所以該變量為十六位變量。mark為產(chǎn)生顏色分類信號(hào)的標(biāo)志位,b[2]則用來存溫濕度傳感器返回值。 (2)再啟動(dòng)芯片端口或者芯片的外設(shè)功能,需要啟動(dòng)芯片的時(shí)鐘總線。如圖5.2所示。圖5.2 RCC系統(tǒng)時(shí)鐘配置圖 對(duì)系統(tǒng)時(shí)鐘配置,需要對(duì)其進(jìn)行外部時(shí)鐘源選擇、根據(jù)所需進(jìn)行分配或倍頻,以及對(duì)APB1和APB2時(shí)鐘線進(jìn)行初始化配置等。 本次設(shè)計(jì)使用的外部時(shí)鐘源為8MHz的晶振,對(duì)應(yīng)芯片最高頻率72MHz相差九倍,所以我們選擇倍頻產(chǎn)生時(shí)鐘源。時(shí)鐘總線確定下,APB1和APB2高、低速時(shí)鐘線分別配置為72Mhz和36Mhz。 填入相關(guān)系統(tǒng)時(shí)鐘參數(shù)后,再設(shè)置FLASH存儲(chǔ)器演示始終周期數(shù)。該參數(shù)的配置在數(shù)據(jù)手冊(cè)參考所得,48~72MHz,寫入FLASH_Latency_2。 最后使能時(shí)鐘總線和等待其輸出穩(wěn)定,則完成系統(tǒng)時(shí)鐘配置。(3)時(shí)鐘配置完成后,可以對(duì)芯片GPIO口和使用的外設(shè)進(jìn)行初始化配置。本次使用到的GPIO端口有PA0、1、2、6、7、15,PB6、7。其中PA0、1、2端口與C51芯片連接,進(jìn)行采集垃圾投入及分類信號(hào),所以對(duì)其設(shè)置為上拉電阻輸入,檢測(cè)到低電平為有效信號(hào)。如圖5.3所示,圖5.3 檢測(cè)信號(hào)端口配置PA6、7是芯片利用定時(shí)器對(duì)舵機(jī)進(jìn)行控制的端口。這兩個(gè)端口選擇為推挽輸出模式。因?yàn)槠渫ㄟ^定時(shí)器控制PWM脈寬調(diào)制,所以也需要對(duì)TIM3定時(shí)器轉(zhuǎn)載值、預(yù)分配系數(shù)和計(jì)數(shù)方式進(jìn)行初始化。程序中使用的TIM3裝載值為60000,預(yù)分配系數(shù)為24,計(jì)數(shù)方式為向上計(jì)數(shù)。根據(jù)固件庫提供的枚舉數(shù)據(jù),如下圖5.4所示進(jìn)行配置。圖5.4TIM3參數(shù)配置圖 PA6、PA7對(duì)應(yīng)的是TIM3輸出PWM1和2通道,要達(dá)到PWM輸出控制,還需要對(duì)該通道進(jìn)行配置。對(duì)選擇極性,即有效電平設(shè)置為高電平,PWM模式選擇為計(jì)數(shù)值CNT小于CCR時(shí)有效。根據(jù)固件庫提供的結(jié)構(gòu)體變量進(jìn)行如圖5.5所示進(jìn)行配置。圖5.5 PWM脈寬調(diào)制參數(shù)配置(4)看門狗配置。看門狗有獨(dú)立時(shí)鐘,由內(nèi)部低速時(shí)鐘獨(dú)立提供,可與其它時(shí)鐘信號(hào)相隔,獨(dú)自完成計(jì)數(shù)。其分頻系數(shù)為64,重裝載值為625,得到最后需要每一秒重裝一次計(jì)數(shù)值。根據(jù)固件庫提供的函數(shù)進(jìn)行如圖5.6所示配置。 圖5.6 看門狗配置參數(shù) (5)進(jìn)入主循環(huán)while(1)函數(shù)。每次循環(huán)開頭需要使用喂狗函數(shù)IWDG_ReloadCounter(),防止芯片重啟。 (6)進(jìn)入主循環(huán),在沒有檢測(cè)信號(hào)時(shí),顯示周邊溫濕度以及RTC實(shí)時(shí)時(shí)鐘。顯示液晶通過I2C進(jìn)行通信,所以我們使用固件庫函數(shù)直接發(fā)送顯示的數(shù)據(jù)。根據(jù)I2C通信規(guī)則,我們?cè)O(shè)計(jì)了一個(gè)函數(shù)方便通信。如圖5.7所示。 圖5.7 液晶顯示函數(shù)使用液晶顯示函數(shù),顯示對(duì)應(yīng)的溫濕度、時(shí)間中文提示。相應(yīng)的漢字取模數(shù)組在附錄仲。如圖5.8所示。圖5.8 溫濕度中文顯示根據(jù)DHT11溫濕度傳感器手冊(cè),讀取數(shù)據(jù)需要拉低數(shù)據(jù)腳20ms,再拉高30微妙,就可讀取寄存器數(shù)據(jù)。因?yàn)樵搨鞲衅魇褂脝螖?shù)據(jù)管腳通信,所以需要不停的切換管腳的模式,然后通過芯片讀取管腳高低電平完成數(shù)據(jù)讀取。如圖5.9所示。 圖5.9 溫濕度傳感器讀取程序讀取RTC實(shí)時(shí)時(shí)鐘時(shí),因?yàn)樾酒到y(tǒng)提供該功能,我們只需要利用固件庫函數(shù)RTC_GetCounter()就可以獲得1970年到現(xiàn)在的秒數(shù),然后再將其轉(zhuǎn)化為相應(yīng)的年月日。不過本次設(shè)計(jì)僅支持顯示時(shí)分秒,所以在編程時(shí)讀取到秒數(shù)后,按如圖5.10所示程序得到其對(duì)應(yīng)的時(shí)分秒。圖5.10 讀取RTC實(shí)時(shí)時(shí)鐘程序(7)掃描C51信號(hào)輸出端電平變化。本次設(shè)計(jì)使用的通信有效電平為低電平有效,所以在檢測(cè)到C51輸出低電平,舵機(jī)發(fā)出相應(yīng)的分類動(dòng)作。主循環(huán)掃描檢測(cè)信號(hào)以及控制舵機(jī)程序如圖5.11所示。圖5.11 循環(huán)掃描檢測(cè)信號(hào)以及控制舵機(jī)程序圖 在讀取垃圾分類信號(hào)輸入后,利用PWM脈寬輸出控制轉(zhuǎn)動(dòng)角度。固件庫提供的TIM_SetCompare1()和TIM_SetCompare2()函數(shù),控制TIM3的輸出通道PWM值。檢測(cè)信號(hào)后,產(chǎn)生相應(yīng)的mark標(biāo)志位,防止再次轉(zhuǎn)動(dòng)。 標(biāo)志位在延時(shí)5秒后,即垃圾完成分類后,控制舵機(jī)復(fù)位以及清空對(duì)應(yīng)的標(biāo)志位mark。程序如圖5.12圖5.12 控制舵機(jī)復(fù)位程序5.2調(diào)試5.2.1編譯下載程序工程文件建立后,按照前文把代碼打到C語言源文件里,先進(jìn)行保存,防止代碼丟失。然后在keil4工具欄里找到,點(diǎn)解編譯,或者按快捷鍵F7,然后編譯器進(jìn)行編譯,如圖5.13所示。編譯成功后,編譯窗口如圖圖5.13正常編譯窗口圖編譯窗口最底行顯示“0Error”表示編譯通過。編譯通過后會(huì)自動(dòng)生成了Hex文件,該文件需要使用ARM仿真器下載到芯片flash里。5.2.2軟件模擬仿真使用的ARM仿真器支持在線仿真,所以本次仿真直接把程序下載到芯片里,在線仿真和監(jiān)視各個(gè)數(shù)據(jù)變化,而且keil4也提供相應(yīng)的仿真監(jiān)視器,如圖5.14和5.15所示。圖5.14 軟件監(jiān)視器Watch1窗口圖5.15軟件監(jiān)視器Watch2窗口在硬件上的操作都會(huì)通過ARM仿真器反饋到電腦keil4軟件上的可監(jiān)視窗口,如圖中的“RX_data”數(shù)組變量,顯示接收的數(shù)據(jù)。然后在連接TCS顏色通信端口給出3.3V電壓,使用杜邦線連接到3.3V電源,相當(dāng)于給STM32一個(gè)模擬的顏色輸入信號(hào)。然后觀察相應(yīng)的標(biāo)志位變化,如圖5.16所示。 圖5.16 監(jiān)視器數(shù)據(jù)變化圖標(biāo)志位“INT_MARK”發(fā)生了變化,表示顏色檢測(cè)通信成功。5.3 測(cè)試5.3.1測(cè)試結(jié)果顏色識(shí)別完成后,測(cè)試基于顏色檢測(cè)成功的基礎(chǔ)上液晶顯示和提示是否正確,如圖5.17。圖5.17 液晶指示圖測(cè)試液晶顯示功能正常,而且外加了RTC實(shí)時(shí)時(shí)鐘顯示。5.3.2系統(tǒng)測(cè)試過程中出現(xiàn)的問題及解決辦法在開發(fā)液晶驅(qū)動(dòng)代碼時(shí),直接液晶輸出0x10啟動(dòng)液晶電源,有時(shí)會(huì)出現(xiàn)屏幕的花白現(xiàn)象。為增強(qiáng)體驗(yàn),需要在啟動(dòng)電源信號(hào)前,發(fā)送0xae進(jìn)行液晶關(guān)顯示操作。測(cè)試過程中,因?yàn)樵黾訕稲TC實(shí)時(shí)時(shí)鐘,經(jīng)測(cè)試后,程序整體因?yàn)镽TC的刷新和讀取,出現(xiàn)樂跑飛和卡死現(xiàn)象,導(dǎo)致每次主循環(huán)喂狗程序語句不能執(zhí)行而引起芯片重啟。為了解決這個(gè)問題,需要把芯片刷新和RTC時(shí)鐘的頻率降低,降到每400ms刷新一次的頻率。產(chǎn)生的原始是RTC刷新過快,芯片不自主的產(chǎn)生了不可預(yù)測(cè)的問題。5.4 運(yùn)行在調(diào)試和測(cè)試后,確認(rèn)程序和硬件無誤后,去掉ARM仿真器,直接把主板接上電源進(jìn)行實(shí)際運(yùn)行測(cè)試。STM32連接的液晶屏初始顯示如圖5.18所示,圖5.18液晶菜單圖在接收到顏色檢測(cè)信號(hào)和投放信號(hào)時(shí),由芯片控制的舵機(jī)也可以照常運(yùn)行,如圖5.19所示 圖5.19 液晶指示和舵機(jī)動(dòng)作圖第六章 系統(tǒng)總結(jié)6.1 系統(tǒng)特點(diǎn) 本次設(shè)計(jì)的工作主要是針對(duì)智能垃圾桶系統(tǒng)的軟件部分進(jìn)行設(shè)計(jì)。在硬件的支持上,開發(fā)可以實(shí)現(xiàn)自我RTC走時(shí)、舵機(jī)控制、多路PWM輸出、顏色識(shí)別、和液晶顯示提示功能的智能垃圾桶系統(tǒng)。我們小組設(shè)計(jì)的智能垃圾桶在有以下特點(diǎn):1、程序的保密強(qiáng)。程序保密性是基于其程序的編譯器,因?yàn)榫幾g器強(qiáng)大的編譯功能,在生成的Hex文件后,可以再利用其他存儲(chǔ)硬盤,如U盤或者移動(dòng)硬盤,把HEX文件復(fù)制到存儲(chǔ)硬盤里,需要使用時(shí)把Hex文件拉出來,使用下載工具把HEX文件下載到芯片flash里。這也是大多數(shù)公司為防止泄密源文件使用的辦法,把需要投入生產(chǎn)的系統(tǒng)在基于C編程語言的基礎(chǔ)上開發(fā),然后重復(fù)使用和下載HEX文件到主板上。2、成品操作符合人性化,只需在系統(tǒng)開啟后,進(jìn)行垃圾的投遞,垃圾即刻自動(dòng)投入不同的顏色分類區(qū)內(nèi)。3、雙芯片的系統(tǒng)設(shè)計(jì)想法使得該系統(tǒng)的拓展具有更多的上限,能添加的功能的選擇性增大,同時(shí)在此基礎(chǔ)上,顏色識(shí)別的穩(wěn)定性也會(huì)加以提升,在識(shí)別過程中不會(huì)有其他模塊對(duì)其進(jìn)行干擾。6.2 系統(tǒng)的不足及解決措施不足:1、系統(tǒng)的操作上限過少。2、除提供垃圾分類顯示外,沒有拓展一些其它可以提醒的數(shù)據(jù),也沒有在垃圾分類的基礎(chǔ)上延伸出更為先進(jìn)的東西,例如智能消毒,垃圾無害化處理等。3、在維修時(shí)應(yīng)提供PC端顯示的故障或重要信息,和應(yīng)該同步提醒負(fù)責(zé)人某垃圾桶需要進(jìn)行維護(hù)維修。解決措施:1、系統(tǒng)操作上增加了液晶顯示來提醒和提供人們所能操作的界面,同時(shí)也可添加對(duì)垃圾信息的播報(bào),以提醒人們分類的作用與增加對(duì)分類知識(shí)的認(rèn)識(shí)。2、考慮增加所處環(huán)境周圍溫度、濕度數(shù)據(jù)顯示,在此基礎(chǔ)上對(duì)垃圾進(jìn)行溫濕度調(diào)節(jié),使垃圾處理更為輕便化,減輕垃圾處理人員的工作負(fù)擔(dān)。3、增加串口打印功能,即利用串口把數(shù)據(jù)傳輸?shù)诫娔X端,變成可視性數(shù)據(jù),可助于對(duì)區(qū)域垃圾分類積極程度的調(diào)查,以加強(qiáng)對(duì)于垃圾分類處理的推廣。6.3 系統(tǒng)的展望 嵌入式系統(tǒng)的發(fā)展非常迅速,且各個(gè)行業(yè)基本有以嵌入式系統(tǒng)為主導(dǎo)的各種產(chǎn)品。在嵌入式不停發(fā)展的背景下,安全問題顯得尤為重要,而且也是當(dāng)下主要解決的問題。在平常生活里,如我們?cè)诠房匆姷慕煌糁笇?dǎo)系統(tǒng),去銀行時(shí)取錢的ATM機(jī),通訊的手機(jī),家庭使用的汽車?yán)锩娴目刂葡到y(tǒng);國(guó)家層面的更有如衛(wèi)星通信,航母控制系統(tǒng),軍隊(duì)加密通信系統(tǒng)等,嵌入式智能系統(tǒng)無處不在。和我們的電腦手機(jī)比較先進(jìn)的系統(tǒng)相比,普通的嵌入式系統(tǒng)因?yàn)槠湓谟布?、處理器、功耗和存?chǔ)器上相互約束,更需要我們注意其安全問題。跟界面操作系統(tǒng)的區(qū)別,嵌入式系統(tǒng)主要承載在硬件上,所以在硬件層面上大多設(shè)備容易招到物理破壞,在保密性不好的情況下甚至?xí)煌蹈`技術(shù)。但是如果軟件層面上沒有很好的保密性,整個(gè)系統(tǒng)更容易受到破壞。而且現(xiàn)在又很多系統(tǒng)都會(huì)加上互聯(lián)網(wǎng)通信,在訊息萬變的通信系統(tǒng)中,容易被入侵,篡改、偷竊數(shù)據(jù)等等。因此,無論在硬件亦或是軟件上,都存在著各種的加密手段防止技術(shù)和技術(shù)泄露。如在軟件上有加密算法,硬件通信也有各種的加密算法,一般不會(huì)透明傳輸。 基于系統(tǒng)的安全性考慮,我們本次的設(shè)計(jì)再投入實(shí)際生產(chǎn)前或者說與市面上的成熟的產(chǎn)品相比還有很大的一段距離。我們本次開發(fā)的智能垃圾桶無論是在當(dāng)前萬物互聯(lián)的社會(huì)發(fā)展前景下或者現(xiàn)在僅僅出于產(chǎn)品的使用安全的層面上分析,還缺乏完整的投入使用數(shù)據(jù)分析。而且這次設(shè)計(jì)的開發(fā)在所接觸的知識(shí)上開發(fā),難免遇到了一些已經(jīng)普遍的技術(shù),如圖像識(shí)別功能、語音提醒功能和互聯(lián)網(wǎng)功能。這也是我們?cè)诳紤]的實(shí)際開發(fā)應(yīng)用上的硬傷,沒有達(dá)到市面上一些智能垃圾桶普遍使用到的性能。在STM32F103處理器強(qiáng)大的計(jì)算功能和我們所用到的GPIO外設(shè)空余的前提下,會(huì)使得拓展其他功能的想法變得相對(duì)容易,但也需要我們更多的去學(xué)習(xí)和應(yīng)用??偟膩碚f,智能垃圾桶的使用使人們生活的周邊環(huán)境變得更加整潔、干凈,同時(shí)也減輕垃圾處理的負(fù)擔(dān)和減少對(duì)自然環(huán)境的污染。垃圾堆積,周邊環(huán)境的垃圾亂扔等等問題,影響到大多人的生活質(zhì)量?,F(xiàn)在的大城市,如北京、上海、廣州、深圳等都退出不亂扔垃圾、開發(fā)智能垃圾桶及在各個(gè)小區(qū)投入使用的政策,人們?cè)诓煌5赝ㄔ旄恿己蒙瞽h(huán)境的方向發(fā)展。參考文獻(xiàn):[1]李橋.嵌入式系統(tǒng)的安全方法研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2009,(7):30-38.[2]張勇.嵌入式實(shí)時(shí)操作系統(tǒng)μCOS-Ⅲ應(yīng)用開發(fā)[J].計(jì)算機(jī)與互聯(lián)網(wǎng),2014,(2)98-108.[3]李志明,檀永.STM32嵌入式系統(tǒng)開發(fā)實(shí)戰(zhàn)指南[J].開發(fā)指南,2013,(1)2-200.[4]蒙博宇.STM32自學(xué)筆記(第2版)[J].芯片詳解,2014,(1)30-200.[5]華洪略,金威,沈國(guó)榮,金晟,張桂迪,蔣劍飛,何衛(wèi)鋒.近閾值低功耗8位微處理器的設(shè)計(jì)與實(shí)現(xiàn)[J].信息技術(shù).2016(11)1-100.[6]使用低成本FPGA巧妙地?cái)U(kuò)展微處理器的連接[J].世界電子元器件.2014(03)20-50.[7]章從福.中國(guó)嵌入式微處理器年產(chǎn)值近2500億[J].半導(dǎo)體信息.2009(01)10-50.[8]國(guó)防科學(xué)技術(shù)大學(xué)計(jì)算機(jī)學(xué)院微電子與微處理器研究所[J].電子科技.2009(12)17-61.[9]丁力,宋志平,徐萌萌,陶燦輝.基于STM32的嵌入式測(cè)控系統(tǒng)設(shè)計(jì)[J].中南大學(xué)學(xué)報(bào)(自然科學(xué)版).2013(S1)5-87.[10]勾慧蘭,劉光超.基于STM32的最小系統(tǒng)及串口通信的實(shí)現(xiàn)[J].工業(yè)控制計(jì)算機(jī).2012(09).[11]曹圓圓.基于STM32的溫度測(cè)量系統(tǒng)[J].儀器儀表與分析監(jiān)測(cè).2010(01).[12]XiaobaoLee,ChunhuiWang,ZhaoxuLuoetal.OpticaldesignofanewfoldingscanningsysteminMEMS-basedlidar[J]OpticsandLaserTechnology,2020,125[13]RamonaKuhn,RobertJensch,IsaacMbirBryantetal.Photodegradationofethylenediaminetetra(methylenephosphonicacid)–Theeffectofthesystemconfiguration[J]JournalofPhotochemistry&Photobiology,A:Chemistry,2020,388[14]ZhaomengLi,JieJi,WeiqiYuanetal.ExperimentalandnumericalinvestigationsontheperformanceofaG-PV/TsystemcomparingwithA-PV/Tsystem[J]Energy,2020,194[15]ChristinaZompola,LinaPalaiodimou,PanagiotisKokotisetal.ThemutationD313YmaybeassociatedwithnervoussystemmanifestationsinFabrydisease[J]JournaloftheNeurologicalSciences,2020,412[16]KeWang,Xin-huiZhao,JunLiuetal.Nervoussystemandgastriccancer[J]BBA-ReviewsonCancer,2020,1873(1)致辭 時(shí)光荏苒,白駒過隙,大學(xué)四年將近尾聲,四年的努力,再論文和畢業(yè)設(shè)計(jì)答辯通過后就要畫上句號(hào),也是一個(gè)即將開始進(jìn)入社會(huì)的起點(diǎn)。大學(xué)的鐘聲敲響,即將步入社會(huì)的我們?cè)诖髮W(xué)四年里暢游知識(shí)的海洋,學(xué)到的不僅僅是老師教的知識(shí),還懂得與人為善的做人原則。老師不僅在平時(shí)教導(dǎo)我們,授人以魚,不如授人以漁,而這次我們很好的把“漁”用到了畢業(yè)設(shè)計(jì)上。本次畢業(yè)設(shè)計(jì)在黃鴻老師的指導(dǎo)下完成且不停的完善,使實(shí)物成品能夠投入社會(huì)生產(chǎn)中使用,能夠反饋相應(yīng)的價(jià)值,讓我們明白知識(shí)也是能產(chǎn)生社會(huì)價(jià)值的一種途徑。知識(shí)的積累是靠平時(shí)努力學(xué)習(xí)得來的,不過學(xué)來的知識(shí)實(shí)際上可以說是虛的,而把理論知識(shí)用在生活中,用在平時(shí)工作學(xué)習(xí)中,才能把它變成實(shí)實(shí)在在被自己所用的東西。學(xué)生生涯教會(huì)我們的是要保持不斷學(xué)習(xí)的心態(tài),保持自己對(duì)新的事物創(chuàng)新的態(tài)度,對(duì)新的知識(shí)的求知欲,能使我們更加充實(shí)自己和豐富自己。附錄:程序:#include"stm32f10x.h"http://STM32頭文件#include"sys.h"#include"delay.h"#include"relay.h"#include"oled0561.h"#include"CHS_16x16.h"http://引入漢字字體#include"rtc.h"#include"NVIC.h"#include"adc.h"#include"KEYPAD4x4.h"#include"dht11.h"#include"encoder.h"#include"bkp.h"#include"buzzer.h"#include"MY1690.h"#include"touch_key.h"#include"iwdg.h"http://#defineFLASH_START_ADDR0x0801f000intmain(void){//主程序 u8b[2]; s16MUNE,num=0,num1=0,num2=0,num3=0,num4=0,num5=0; intcou=0; /* MUNE菜單 num調(diào)節(jié)時(shí)間標(biāo)志位 num1記錄DHT11標(biāo)志位 num3調(diào)節(jié)濕度標(biāo)志位 num4溫濕度讀取標(biāo)志位 刷新數(shù)據(jù)時(shí)間大于1秒 */ s16checkhour=0,checkmin=0,checkwen=25,checkwen1=25,checkshi=50,checkshi1=50; /*高溫設(shè)置低溫設(shè)置濕度設(shè)置*/ delay_ms(1000);//上電時(shí)等待其他器件就緒 RCC_Configuration();//系統(tǒng)時(shí)鐘初始化 RELAY_Init();//繼電器初始化// RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOD|RCC_APB2Periph_GPIOE,ENABLE);//APB2外設(shè)時(shí)鐘使能// RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);//啟動(dòng)AFIO重映射功能時(shí)鐘// GPIO_PinRemapConfig(GPIO_Remap_SWJ_NoJTRST,ENABLE);//改變指定管腳的映射,完全禁用JTAG+SW-DP I2C_Configuration();//I2C初始化 OLED0561_Init();//OLED初始化 RTC_Config();//實(shí)時(shí)時(shí)鐘初始化 ADC_Configuration();//ADC初始化 NVIC_Configuration();//嵌套中斷控制器的設(shè)置// KEYPAD4x4_Init();//微動(dòng)開關(guān)的接口初始化 KEYPAD4x4_INT_INIT(); //中斷初始化 ENCODER_Init(); TOUCH_KEY_Init(); MY1690_Init();//MP3芯片初始化 BKP_Configuration();//初始化BKP BUZZER_Init();//蜂鳴器初始化 IWDG_Init();//初始化并啟動(dòng)獨(dú)立看門狗 checkwen=BKP_ReadBackupRegister(BKP_DR8); checkwen1=BKP_ReadBackupRegister(BKP_DR9); //MUNE= BKP_ReadBackupRegister(BKP_DR1); //if((MUNE!=0)||(MUNE!=10)||(MUNE!=20)||(MUNE!=30)||(MUNE!=40)){ MUNE=0; //} while(1){ IWDG_Feed();//喂狗 if(MUNE==0){ //菜單一 //菜單一 OLED_DISPLAY_8x16_BUFFER(0,""); OLED_DISPLAY_8x16_BUFFER(4,"");//顯示字符串 //OLED_DISPLAY_8x16_BUFFER(0,""); RE_OLED_DISPLAY1_16x16(0,2*16,cai4); RE_OLED_DISPLAY1_16x16(0,3*16,dan1); RE_OLED_DISPLAY1_16x16(0,4*16,yi1); //溫度 OLED_DISPLAY1_16x16(2,1*16,wen1); OLED_DISPLAY1_16x16(2,2*16,du4); OLED_DISPLAY1_16x16(2,3*16,maohao); //濕度 OLED_DISPLAY1_16x16(4,1*16,shi1); OLED_DISPLAY1_16x16(4,2*16,du4); OLED_DISPLAY1_16x16(4,3*16,maohao); //時(shí)間 OLED_DISPLAY1_16x16(6,1*16,shi2); OLED_DISPLAY1_16x16(6,2*16,jian1); OLED_DISPLAY1_16x16(6,3*16,maohao); MUNE=1; } if(MUNE==1||MUNE==2){ //刷新溫濕度 //延時(shí),刷新數(shù)據(jù)的頻率(不得小于1秒) if(rsec%2==1&&num4==1){ if(DHT11_ReadData(b)==0){//讀出溫濕度值指針1是濕度20~90%,指針2是溫度0~50C,數(shù)據(jù)為十進(jìn)制 OLED_DISPLAY_8x16(2,8*8,b[1]/10+0x30);//顯示溫度值 OLED_DISPLAY_8x16(2,9*8,b[1]%10+0x30);// OLED_DISPLAY1_16x16(2,5*16+2,tac1); OLED_DISPLAY_8x16(4,8*8,b[0]/10+0x30);//顯示濕度值 OLED_DISPLAY_8x16(4,9*8,b[0]%10+0x30);// OLED_DISPLAY1_16x16(4,5*16+2,tac2); } num4=0; } if(rsec%2!=1) num4=1; delay_us(1); } if(MUNE==2){ //修改時(shí)間 OLED_DISPLAY_8x16(6,14*8,0+0x30); //秒 OLED_DISPLAY_8x16(6,15*8,0+0x30); if(num==0){ //調(diào)小時(shí)位 RE_OLED_DISPLAY_8x16(6,8*8,checkhour/10+0x30); //時(shí) RE_OLED_DISPLAY_8x16(6,9*8,checkhour%10+0x30); OLED_DISPLAY_8x16(6,11*8,checkmin/10+0x30); //分 OLED_DISPLAY_8x16(6,12*8,checkmin%10+0x30); if(INT_MARK==1){ //右轉(zhuǎn) INT_MARK=0; checkhour++; if(checkhour>23){ checkhour=0; } } if(INT_MARK==2){ //左轉(zhuǎn)調(diào)小時(shí) INT_MARK=0; checkhour--; if(checkhour<0){ checkhour=23; } } } if(num==1){ //調(diào)節(jié)分鐘位 OLED_DISPLAY_8x16(6,8*8,checkhour/10+0x30); //時(shí) OLED_DISPLAY_8x16(6,9*8,checkhour%10+0x30); RE_OLED_DISPLAY_8x16(6,11*8,checkmin/10+0x30); //分 RE_OLED_DISPLAY_8x16(6,12*8,checkmin%10+0x30); if(INT_MARK==1){ INT_MARK=0; checkmin++; if(checkmin>59)checkmin=0; } if(INT_MARK==2){ INT_MARK=0; checkmin--; if(checkmin<0)checkmin=59; } } if(INT_MARK==3){ //控制調(diào)節(jié)標(biāo)志位 INT_MARK=0; delay_ms(200); //去抖 num++; if(num>1){ num=0; MUNE=0; RTC_Set(2019,1,2,checkhour,checkmin,0);//寫入當(dāng)前時(shí)間 BUZZER_BEEP1(); checkhour=0; checkmin=0; } } } if(MUNE==10){ //菜單二 //菜單二 OLED_DISPLAY_8x16_BUFFER(0,""); RE_OLED_DISPLAY1_16x16(0,2*16,cai4); RE_OLED_DISPLAY1_16x16(0,3*16,dan1); RE_OLED_DISPLAY1_16x16(0,4*16,er4); //電位 OLED_DISPLAY1_16x16(2,1*16,dian4); OLED_DISPLAY1_16x16(2,2*16,wei4); OLED_DISPLAY1_16x16(2,3*16,maohao); //光強(qiáng) OLED_DISPLAY1_16x16(4,1*16,guang1); OLED_DISPLAY1_16x16(4,2*16,qiang2); OLED_DISPLAY1_16x16(4,3*16,maohao); MUNE=11; } if(MUNE==11){ if((rsec%2==1)&&(num1==0)){ //電位 OLED_DISPLAY_8x16(2,8*8,ADC_DMA_IN[0]/1000+0x30); OLED_DISPLAY_8x16(2,9*8,ADC_DMA_IN[0]%1000/100+0x30); OLED_DISPLAY_8x16(2,10*8,ADC_DMA_IN[0]%100/10+0x30); OLED_DISPLAY_8x16(2,11*8,ADC_DMA_IN[0]%10+0x30); //光強(qiáng) OLED_DISPLAY_8x16(4,8*8,ADC_DMA_IN[1]/1000+0x30); OLED_DISPLAY_8x16(4,9*8,ADC_DMA_IN[1]%1000/100+0x30); OLED_DISPLAY_8x16(4,10*8,ADC_DMA_IN[1]%100/10+0x30); OLED_DISPLAY_8x16(4,11*8,ADC_DMA_IN[1]%10+0x30); num1=1; } if((rsec%2)!=1)num1=0; //時(shí)間 } if(MUNE==20){ //高低溫度 //溫度設(shè)置 RE_OLED_DISPLAY1_16x16(0,2*16,wen1); RE_OLED_DISPLAY1_16x16(0,3*16,du4); RE_OLED_DISPLAY1_16x16(0,4*16,she4); RE_OLED_DISPLAY1_16x16(0,5*16,zhi4); //高溫 OLED_DISPLAY1_16x16(2,1*16,gao1); OLED_DISPLAY1_16x16(2,2*16,wen1); OLED_DISPLAY1_16x16(2,3*16,maohao); //低溫 OLED_DISPLAY1_16x16(4,1*16,di1); OLED_DISPLAY1_16x16(4,2*16,wen1); OLED_DISPLAY1_16x16(4,3*16,maohao); MUNE=21; } if(MUNE==21){ //刷新高低溫 OLED_DISPLAY_8x16(2,8*8,checkwen/10+0x30);//顯示溫度值 OLED_DISPLAY_8x16(2,9*8,checkwen%10+0x30);// OLED_DISPLAY1_16x16(2,5*16+2,tac1); OLED_DISPLAY_8x16(4,8*8,checkwen1/10+0x30);// OLED_DISPLAY_8x16(4,9*8,checkwen1%10+0x30);// OLED_DISPLAY1_16x16(4,5*16+2,tac1); } if(MUNE==22){ //設(shè)置高低溫 if(num2==0){ RE_OLED_DISPLAY_8x16(2,8*8,checkwen/10+0x30); //高溫 RE_OLED_DISPLAY_8x16(2,9*8,checkwen%10+0x30); if(INT_MARK==1){ INT_MARK=0; checkwen++; if(checkwen>50)checkwen=1; } if(INT_MARK==2){ INT_MARK=0; checkwen--; if(checkwen<0)checkwen=50; } } if(num2==1){ OLED_DISPLAY_8x16(2,8*8,checkwen/10+0x30); //高溫 OLED_DISPLAY_8x16(2,9*8,checkwen%10+0x30); RE_OLED_DISPLAY_8x16(4,8*8,checkwen1/10+0x30); //低溫 RE_OLED_DISPLAY_8x16(4,9*8,checkwen1%10+0x30); if(INT_MARK==1){ INT_MARK=0; checkwen1++; if(checkwen1>50||checkwen1>checkwen)checkwen1=0; } if(INT_MARK==2){ INT_MARK=0; checkwen1--; if(checkwen1<0)checkwen1=checkwen-10; } } if(INT_MARK==3){ //當(dāng)按下時(shí)num2++或標(biāo)志位清零推出 INT_MARK=0; delay_ms(300); num2++; if(num2>1){ //num2>1時(shí),退出MUNE22 num2=0; MUNE=20; BKP_WriteBackupRegister(BKP_DR8,checkwen); BKP_WriteBackupRegister(BKP_DR9,checkwen1); BUZZER_BEEP1(); } } } if(MUNE==30){ OLED_DISPLAY_8x16_BUFFER(4,"");//顯示字符串 //濕度設(shè)置 RE_OLED_DISPLAY1_16x16(0,2*16,shi1); RE_OLED_DISPLAY1_16x16(0,3*16,du4); RE_OLED_DISPLAY1_16x16(0,4*16,she4); RE_OLED_DISPLAY1_16x16(0,5*16,zhi4); //濕度上限 OLED_DISPLAY_8x16_BUFFER(2,""); OLED_DISPLAY_8x16(2,3*8-2,'M');//顯示8x16的單個(gè)字符 MAX OLED_DISPLAY_8x16(2,4*8-2,'A');//顯示8x16的單個(gè)字符 OLED_DISPLAY_8x16(2,5*8-2,'X');//顯示8x16的單個(gè)字符 OLED_DISPLAY1_16x16(2,3*16,maohao); //濕度下限 OLED_DISPLAY_8x16_BUFFER(4,""); OLED_DISPLAY_8x16(4,3*8-2,'M');//顯示8x16的單個(gè)字符 MAX OLED_DISPLAY_8x16(4,4*8-2,'I');//顯示8x16的單個(gè)字符 OLED_DISPLAY_8x16(4,5*8-2,'N');//顯示8x16的單個(gè)字符 OLED_DISPLAY1_16x16(4,3*16,maohao); OLED_DISPLAY1_16x16(2,5*16+2,tac2); OLED_DISPLAY1_16x16(4,5*16+2,tac2); MUNE=31;//跳轉(zhuǎn)濕度顯示菜單 } if(MUNE==31){ OLED_DISPLAY_8x16(2,8*8,checkshi/10+0x30);//顯示溫度值 OLED_DISPLAY_8x16(2,9*8,checkshi%10+0x30);// OLED_DISPLAY_8x16(4,8*8,checkshi1/10+0x30); OLED_DISPLAY_8x16(4,9*8,checkshi1%10+0x30); } if(MUNE==32){ if(num3==0){ RE_OLED_DISPLAY_8x16(2,8*8,checkshi/10+0x30); //濕度MAX RE_OLE
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度私人房產(chǎn)全款買賣合同(帶家具家電)
- 二零二五年度兒童樂園加盟經(jīng)營(yíng)協(xié)議
- 2025年度門面房租賃與物業(yè)管理責(zé)任合同
- 2025年度跨境貿(mào)易合同終止的多種國(guó)際法律適用情形
- 人才獵頭服務(wù)與委托協(xié)議書
- 股權(quán)轉(zhuǎn)讓協(xié)議承債
- 智慧城市基礎(chǔ)設(shè)施升級(jí)改造合同
- 網(wǎng)絡(luò)教育培訓(xùn)平臺(tái)開發(fā)協(xié)議
- 個(gè)人生活用品買賣合同
- 數(shù)學(xué)課本中的幾何之旅教案設(shè)計(jì)
- 第22課《陳涉世家》課件(共71張)
- 新能源汽車產(chǎn)業(yè)專利分析綜述
- 2010年4月自考00371公安決策學(xué)試題及答案含解析
- 實(shí)驗(yàn)室儀器借用登記表
- 單肺通氣與肺保護(hù)通氣策略護(hù)理課件
- 規(guī)培出科小結(jié)呼吸內(nèi)科
- 《鋼鐵是怎樣煉成的》選擇題100題(含答案)
- 《房地產(chǎn)行政管理》課件
- 北京垃圾分類管理制度
- 人力資源招聘與企業(yè)培訓(xùn)培訓(xùn)資料
- 電工學(xué)(第8版)(上冊(cè) 電工技術(shù)) 課件全套 秦曾煌 第1-14章 電路的基本概念與基本定律- 傳感器
評(píng)論
0/150
提交評(píng)論