單片機(jī)畢業(yè)設(shè)計(jì)樣本_第1頁(yè)
單片機(jī)畢業(yè)設(shè)計(jì)樣本_第2頁(yè)
單片機(jī)畢業(yè)設(shè)計(jì)樣本_第3頁(yè)
單片機(jī)畢業(yè)設(shè)計(jì)樣本_第4頁(yè)
單片機(jī)畢業(yè)設(shè)計(jì)樣本_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

資料內(nèi)容僅供您學(xué)習(xí)參考,如有不當(dāng)或者侵權(quán),請(qǐng)聯(lián)系改正或者刪除。石家莊郵電職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)基于Arduino的急救車(chē)音效設(shè)計(jì)屆電信工程系專(zhuān)業(yè)移動(dòng)通信技術(shù)()班級(jí)學(xué)號(hào)姓名指導(dǎo)教師完成日期12月14日石家莊郵電職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)任務(wù)書(shū)姓名學(xué)號(hào)專(zhuān)業(yè)班級(jí)畢業(yè)設(shè)計(jì)題目基于Arduino的急救車(chē)音效設(shè)計(jì)指導(dǎo)教師姓名職稱(chēng)高級(jí)工程師工程師工作單位惠遠(yuǎn)公司畢業(yè)設(shè)計(jì)內(nèi)容、基本要求、重點(diǎn)研究問(wèn)題、主要設(shè)計(jì)方法(或步驟):一、設(shè)計(jì)內(nèi)容:基于Arduino的急救車(chē)音效二、基本要求:把Arduino實(shí)驗(yàn)板與蜂鳴器連接起來(lái),經(jīng)過(guò)向Arduino實(shí)驗(yàn)板中導(dǎo)入源代碼,來(lái)使蜂鳴器發(fā)出急救車(chē)的音效。三、重點(diǎn)研究?jī)?nèi)容:利用Arduino與蜂鳴器實(shí)現(xiàn)急救車(chē)音效四、主要設(shè)計(jì)方法:1、Arduino的硬件、軟件(開(kāi)發(fā)環(huán)境)2、設(shè)備連接,調(diào)試主要參考文獻(xiàn)、資料:[1]李學(xué)海,經(jīng)典80C51單片機(jī)輕松入門(mén)與上手,清華大學(xué)出版社,[2]班茲,愛(ài)上Arduino,人民郵電出版社,[3]程晨,Arduino開(kāi)發(fā)實(shí)戰(zhàn)指南,機(jī)械工業(yè)出版社,[4]網(wǎng)絡(luò)資料搜集計(jì)劃進(jìn)度:1、10月08日——10月12日選論題2、10月13日——10月25日資料搜集,進(jìn)行系統(tǒng)設(shè)計(jì)3、10月26日——11月02日購(gòu)買(mǎi)電路板元器件,焊接電路板4、11月03日——11月20日撰寫(xiě)論文初稿5、11月21日——12月14日修改,定稿打印6、12月24日——12月26日答辯指導(dǎo)教師簽字:年月日石家莊郵電職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)評(píng)定書(shū)姓名學(xué)號(hào)專(zhuān)業(yè)班級(jí)畢業(yè)設(shè)計(jì)題目基于Arduino的急救車(chē)音效設(shè)計(jì)指導(dǎo)教師評(píng)語(yǔ):指導(dǎo)教師建議成績(jī)(60%)指導(dǎo)教師簽字:年月日答辯小組建議成績(jī)(40%)組長(zhǎng)簽字:年月日答辯委員會(huì)最后審定成績(jī)主任簽字:年月日備注摘要急救車(chē),專(zhuān)指接載病員由傷病現(xiàn)場(chǎng)往醫(yī)院,或用作載接病情嚴(yán)重者作轉(zhuǎn)院服務(wù)的陸上緊急交通工具。急救車(chē)的常規(guī)配備包括擔(dān)架、輪椅、呼吸輔助器、氧氣筒、藥物、警號(hào)燈等。而對(duì)于警號(hào)燈伴隨著”嘀嘟嘀嘟”的聲音最為我們熟悉,那么這種”嘀嘟嘀嘟”的聲音是怎樣制作出來(lái)的呢?當(dāng)前單片機(jī)滲透到我們生活的各個(gè)領(lǐng)域,人類(lèi)生活中所用的幾乎每件電子和機(jī)械產(chǎn)品中都會(huì)集成有單片機(jī)。本文設(shè)計(jì)以ATMEGA328P-PU單片機(jī)為核心,以Arduino為平臺(tái)。把設(shè)置好的源代碼傳到Arduino控制板上,然后把蜂鳴器連接在控制板上,以此發(fā)出”嘀嘟嘀嘟”的音效。目錄1前言 12單片機(jī)——Arduino的核心器件 12.1單片機(jī)的定義 12.2單片機(jī)與個(gè)人計(jì)算機(jī)的異同 12.3單片機(jī)的作用 12.4單片機(jī)視圖 23Arduino的基本組成 23.1Arduino的定義 23.2Arduino的誕生 23.3Arduino語(yǔ)言 33.3.1關(guān)鍵字 34本次設(shè)計(jì)所需的硬件與軟件 64.1ArduinoUNO 64.1.1Arduinouno基本概要 74.1.2通信接口 74.1.3下載程序 84.1.4注意要點(diǎn) 84.2蜂鳴器 84.3開(kāi)發(fā)環(huán)境 85系統(tǒng)設(shè)計(jì)與調(diào)試 95.1準(zhǔn)備好硬件開(kāi)發(fā)平臺(tái) 95.2實(shí)現(xiàn)原理 95.3程序代碼 95.4下載程序 105.4.1打開(kāi)文件夾 105.4.2編寫(xiě)源代碼 115.4.3編譯程序 125.4.4下載程序 146總結(jié) 19致謝 20參考文獻(xiàn) 211前言Arduino是一個(gè)開(kāi)源的電子原型平臺(tái),它基于易于使用的硬件和軟件而設(shè)計(jì)。適合于藝術(shù)家,設(shè)計(jì)師和業(yè)余愛(ài)好者創(chuàng)立交互性的對(duì)象和環(huán)境。Arduino經(jīng)過(guò)接收來(lái)自各種傳感器的輸入來(lái)感知環(huán)境的變化,經(jīng)過(guò)控制燈光,馬達(dá)和其它驅(qū)動(dòng)器來(lái)表現(xiàn)行為。主板微控制器的編程使用Arduino編程語(yǔ)言(基于Wiring)和Arduino開(kāi)發(fā)環(huán)境(基于Processing)。Arduino項(xiàng)目能夠獨(dú)立運(yùn)行,也能夠與計(jì)算機(jī)上運(yùn)行的軟件通信(如Flash、Processing、MaxMSP)。主板能夠經(jīng)過(guò)手工制作,或者購(gòu)買(mǎi)商業(yè)成品,而軟件是能夠免費(fèi)下載。硬件參考設(shè)計(jì)(CAD文件)是開(kāi)源許可的,能夠根據(jù)需求自由調(diào)整。2單片機(jī)——Arduino的核心器件2.1單片機(jī)的定義單片機(jī),全稱(chēng)單片微型計(jì)算機(jī)(英語(yǔ):Single-ChipMicrocomputer),又稱(chēng)微控制器(Microcontroller),是把中央處理器、存儲(chǔ)器、定時(shí)/計(jì)數(shù)器(Timer/Counter)、各種輸入輸出接口等都集成在一塊集成電路芯片上的微型計(jì)算機(jī)。2.2單片機(jī)與個(gè)人計(jì)算機(jī)的異同一臺(tái)能夠工作的計(jì)算機(jī)要有這樣幾個(gè)部份構(gòu)成:中央處理單元CPU(進(jìn)行運(yùn)算、控制)、隨機(jī)存儲(chǔ)器RAM(數(shù)據(jù)存儲(chǔ))、只讀存儲(chǔ)器ROM(程序存儲(chǔ))、輸入/輸出設(shè)備I/O(串行口、并行輸出口等)。在個(gè)人計(jì)算機(jī)(PC)上這些部份被分成若干塊芯片,安裝在一個(gè)被稱(chēng)之為主板的印刷線路板上。而在單片機(jī)中,這些部份全部被做到一塊集成電路芯片中了,因此就稱(chēng)為單片(單芯片)機(jī),而且有一些單片機(jī)中除了上述部份外,還集成了其它部份如模擬量/數(shù)字量轉(zhuǎn)換(A/D)和數(shù)字量/模擬量轉(zhuǎn)換(D/A)等。電腦應(yīng)用于高端,單片機(jī)應(yīng)用于中低端,二者有著各自的生存空間,至少短期內(nèi)不會(huì)出現(xiàn)一種取代另一種的情況。2.3單片機(jī)的作用實(shí)際工作中并不是任何需要計(jì)算機(jī)的場(chǎng)合都要求計(jì)算機(jī)有很高的性能,一個(gè)控制電冰箱溫度的計(jì)算機(jī)難道要用酷睿處理器嗎?應(yīng)用的關(guān)鍵是看是否夠用,是否有很好的性能價(jià)格比。如果一臺(tái)冰箱都需要用酷睿處理起來(lái)進(jìn)行溫度控制,那價(jià)格就是天價(jià)了。單片機(jī)一般見(jiàn)于工業(yè)生產(chǎn)的控制、生活中與程序和控制有關(guān)(如:電子琴、冰箱、智能空調(diào)等)的場(chǎng)合。2.4單片機(jī)視圖下圖就是一個(gè)Atmega328P-PU單片機(jī),基于AVR指令集的8位處理器,頻率20MHz,存儲(chǔ)器空間32KB。圖2-1Atmega328P-PU單片機(jī)3Arduino的基本組成3.1Arduino的定義Arduino,是一個(gè)開(kāi)源的單板機(jī)控制器,采用了基于開(kāi)放源代碼的軟硬件平臺(tái),構(gòu)建于開(kāi)放源代碼simpleI/O介面版,而且具有使用類(lèi)似Java,C語(yǔ)言的Processing/Wiring開(kāi)發(fā)環(huán)境。3.2Arduino的誕生冬天,MassimoBanzi和DavidCuartielles討論學(xué)生們抱怨找不到便宜好用的微控制器問(wèn)題,討論使兩人決定設(shè)計(jì)自己的電路板,由Banzi的學(xué)生DavidMellis為電路板設(shè)計(jì)編程語(yǔ)言。兩天以后,DavidMellis就寫(xiě)出了程式碼。又過(guò)了三天,電路板就完工了。這塊電路板被命名為Arduino。隨后Banzi,Cuartielles,和Mellis把設(shè)計(jì)圖放到了網(wǎng)上。保持設(shè)計(jì)的開(kāi)放源碼理念,因?yàn)榘鏅?quán)法能夠監(jiān)管開(kāi)源軟件,卻很難用在硬件上,她們決定采用共享創(chuàng)意許可。在共享創(chuàng)意許可下,任何人都被允許生產(chǎn)電路板的復(fù)制品,還能重新設(shè)計(jì),甚至銷(xiāo)售原設(shè)計(jì)的復(fù)制品。你不需要付版稅,甚至不用取得Arduino團(tuán)隊(duì)的許可。唯一被保留的只有Arduino這個(gè)名字。它被注冊(cè)成了商標(biāo)。3.3Arduino語(yǔ)言Arduino語(yǔ)言是建立在C/C++基礎(chǔ)上的,其實(shí)也就是基礎(chǔ)的C語(yǔ)言。3.3.1關(guān)鍵字ifif...elseforswitchcasewhiledo...whilebreakcontinuereturngoto3.3.2語(yǔ)法符號(hào);{}///**/3.3.3運(yùn)算符=+-*/%==<><=>=&&||!++--+=-=*=/=3.3.4數(shù)據(jù)類(lèi)型boolean 布爾類(lèi)型char 字符類(lèi)型byte 字節(jié)類(lèi)型int 整數(shù)類(lèi)型unsignedint 無(wú)符號(hào)整型long 長(zhǎng)整型unsignedlong無(wú)符號(hào)長(zhǎng)整型float 實(shí)數(shù)類(lèi)型doublestringarrayvoid3.3.5常量HIGH|LOW表示數(shù)字IO口的電平,HIGH表示高電平(1),LOW表示低電平(0)。INPUT|OUTPUT表示數(shù)字IO口的方向,INPUT表示輸入(高阻態(tài)),OUTPUT表示輸出(AVR能提供5V電壓40mA電流)。true|falsetrue表示真(1),false表示假(0)。以上為基礎(chǔ)C語(yǔ)言的關(guān)鍵字和符號(hào),大家能夠了解,具體使用能夠結(jié)合實(shí)驗(yàn)的程序。3.3.6結(jié)構(gòu)voidsetup()初始化發(fā)量,管腳模式,調(diào)用庫(kù)函數(shù)等voidloop()連續(xù)執(zhí)行函數(shù)內(nèi)的語(yǔ)句3.3.7功能數(shù)字I/OpinMode(pin,mode)數(shù)字IO口輸入輸出模式定義函數(shù),pin表示為0~13,mode表示為INPUT或OUTPUT。digitalWrite(pin,value)數(shù)字IO口辒出電平定義函數(shù),pin表示為0~13,value表示為HIGH或LOW。比如定義HIGH能夠驅(qū)動(dòng)LED。intdigitalRead(pin)數(shù)字IO口讀輸入電平函數(shù),pin表示為0~13,value表示為HIGH或LOW。比如能夠讀數(shù)字傳感器。模擬I/OintanalogRead(pin)模擬IO口讀函數(shù),pin表示為0~5(ArduinoDiecimila為0~5(Arduinonano為0~7)。比如,能夠讀模擬傳感器(10位AD,0~5V表示為0~1023)。analogWrite(pin,value)-PWM數(shù)字IO口PWM輸出函數(shù),Arduino數(shù)字IO口標(biāo)注了PWM的IO口可使用該函數(shù)。pin表示3,5,6,9,10,11,value表示為0~255。比如,可用于電機(jī)PWM調(diào)速或音樂(lè)播放。時(shí)間函數(shù)delay(ms)延時(shí)函數(shù)(單位ms)。delayMicroseconds(us)延時(shí)函數(shù)(單位us)。數(shù)學(xué)函數(shù)min(x,y)求最小值max(x,y)求最大值abs(x)計(jì)算絕對(duì)值constrain(x,a,b)約束函數(shù),下限a,上限b,x必須在ab之間才能返回。map(value,fromLow,fromHigh,toLow,toHigh)約束函數(shù),value必須在fromLow與toLow之間和fromHigh與toHigh之間。pow(base,exponent)開(kāi)方函數(shù),base的exponent次方。sq(x)平方sqrt(x)開(kāi)根號(hào)4本次設(shè)計(jì)所需的硬件與軟件表4-1實(shí)驗(yàn)器件實(shí)驗(yàn)器件個(gè)數(shù)Arduinouno1蜂鳴器(無(wú)源)1導(dǎo)線24.1ArduinoUNOArduinoUNO是ArduinoUSB接口系列的最新版本,作為Arduino平臺(tái)的參考標(biāo)準(zhǔn)模板。UNO的處理器核心是ATmega328,同時(shí)具有14路數(shù)字輸入/輸出口(其中6路可作為PWM輸出),6路模擬輸入,一個(gè)16MHz晶體振蕩器,一個(gè)USB口,一個(gè)電源插座,一個(gè)ICSPheader和一個(gè)復(fù)位按鈕。UNO已經(jīng)發(fā)布到第三版,與前兩版相比有以下新的特點(diǎn):在AREF處增加了兩個(gè)管腳SDA和SCL,支持I2C接口;增加IOREF和一個(gè)預(yù)留管腳,將來(lái)擴(kuò)展板將能兼容5V和3.3V核心板。這樣改進(jìn)了復(fù)位電路設(shè)計(jì),USB接口芯片由ATmega16U2替代了ATmega8U2。如圖4-1為改進(jìn)后的ArduinoUNO。圖4-1ArduinoUNO4.1.1Arduinouno基本概要處理器ATmega328工作電壓5V輸入電壓(推薦)7-12V輸入電壓(范圍)6-20V數(shù)字IO腳14(其中6路作為PWM輸出)模擬輸入腳6IO腳直流電流40mA3.3V腳直流電流50mAFlashMemory32KB(ATmega328,其中0.5KB用于bootloader)SRAM2KB(ATmega328)EEPROM1KB(ATmega328)工作時(shí)鐘16MHz4.1.2通信接口串口:ATmega328內(nèi)置的UART能夠經(jīng)過(guò)數(shù)字口0(RX)和1(TX)與外部實(shí)現(xiàn)串口通信;ATmega16U2能夠訪問(wèn)數(shù)字口實(shí)現(xiàn)USB上的虛擬串口。TWI(兼容I2C)接口。SPI接口。4.1.3下載程序ArduinoUNO上的ATmega328已經(jīng)預(yù)置了bootloader程序,因此能夠經(jīng)過(guò)Arduino軟件直接下載程序到UNO中。也能夠直接經(jīng)過(guò)UNO上ICSPheader直接下載程序到ATmega328。ATmega16U2的Firmware(固件)也能夠經(jīng)過(guò)DFU工具升級(jí)。4.1.4注意要點(diǎn)ArduinoUNO上USB口附近有一個(gè)自恢復(fù)的保險(xiǎn)絲,對(duì)電路起到保護(hù)作用。當(dāng)電流超過(guò)500mA時(shí)會(huì)斷開(kāi)USB連接。ArduinoUNO提供了自動(dòng)復(fù)位設(shè)計(jì),能夠經(jīng)過(guò)PC主機(jī)復(fù)位。這樣經(jīng)過(guò)Arduino軟件下在程序到UNO中,軟件能夠自動(dòng)復(fù)位,不需要手動(dòng)復(fù)位按鈕。在印制板上絲印”RESETEN”處能夠使能和禁止該功能。4.2蜂鳴器蜂鳴器是一種一體化結(jié)極的電子訊響器,采用直流電壓供電,廣泛應(yīng)用于計(jì)算機(jī)、打印機(jī)、復(fù)印機(jī)、報(bào)警器、電子玩具、汽車(chē)電子設(shè)備、電話機(jī)、定時(shí)器等電子產(chǎn)品中作發(fā)聲器件。按其驅(qū)動(dòng)方式的不同,可分為:有源蜂鳴器(內(nèi)含驅(qū)動(dòng)線路)和無(wú)源蜂鳴器(外部驅(qū)動(dòng))。本設(shè)計(jì)使用無(wú)源蜂鳴器。4.3開(kāi)發(fā)環(huán)境本次設(shè)計(jì)使用的軟件為Arduino開(kāi)發(fā)環(huán)境Arduino-0022,如圖4-2所示。圖4-2開(kāi)發(fā)環(huán)境5系統(tǒng)設(shè)計(jì)與調(diào)試5.1準(zhǔn)備好硬件開(kāi)發(fā)平臺(tái)把Arduino控制板與其它器件連接好,再把Arduino與微機(jī)USB口連接好。5.2實(shí)現(xiàn)原理蜂鳴器發(fā)出聲音的時(shí)間間隔不同,頻率就不同,因此發(fā)出的聲音就不同。根據(jù)這一原理我們經(jīng)過(guò)改變蜂鳴器發(fā)出聲音的時(shí)間間隔,來(lái)發(fā)出不同種聲音,來(lái)模擬各種聲音。本程序首先讓蜂鳴器間隔1ms發(fā)出一種頻率的聲音,循環(huán)80次;接著讓蜂鳴器間隔2ms發(fā)出另一種頻率的聲音,循環(huán)100次。5.3程序代碼intbuzzer=7;//設(shè)置控制蜂鳴器的數(shù)字IO腳voidsetup(){pinMode(buzzer,OUTPUT);//設(shè)置數(shù)字IO腳模式,OUTPUT為輸出}voidloop(){unsignedchari,j;//定義發(fā)量while(1){for(i=0;i<80;i++)//輸出一個(gè)頻率的聲音{digitalWrite(buzzer,HIGH);//發(fā)聲音delay(1);//延時(shí)1msdigitalWrite(buzzer,LOW);//不發(fā)聲音delay(1);//延時(shí)1ms}for(i=0;i<100;i++)//輸出另一個(gè)頻率的聲音{digitalWrite(buzzer,HIGH);//發(fā)聲音delay(2);//延時(shí)2msdigitalWrite(buzzer,LOW);//不發(fā)聲音delay(2);//延時(shí)2ms}}}5.4下載程序5.4.1打開(kāi)文件夾打開(kāi)arduino0022文件夾里面有一個(gè)標(biāo)有arduino.exe圖標(biāo),雙擊打開(kāi)會(huì)出現(xiàn)如圖5-1的界面。圖5-1工作界面5.4.2編寫(xiě)源代碼File→new然后編寫(xiě)蜂鳴器實(shí)驗(yàn)源代碼,如圖5-2所示。圖5-2源代碼5.4.3編譯程序點(diǎn)擊編譯按鈕,這時(shí)編譯按鈕會(huì)發(fā)成黃色,下面出現(xiàn)英文compiling,這表示軟件正在對(duì)你所寫(xiě)癿程序進(jìn)行編譯,如圖5-3所示。圖5-3編譯程序等待一會(huì),會(huì)看到編譯按鈕恢復(fù)原來(lái)的狀態(tài),下面出現(xiàn)Donecompiling,最下面一段文字說(shuō)明編寫(xiě)的程序共有896字節(jié)數(shù)。這表明,程序編譯成功,而且沒(méi)有語(yǔ)法上的錯(cuò)誤。如圖5-4所示。圖5-4編譯成功5.4.4下載程序下載程序前先將板子型號(hào)和com口選好。點(diǎn)擊Tools->

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論