版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于單片機(jī)的音樂(lè)播放器的設(shè)計(jì)TOC\o"1-3"\h\u摘要 31引言 52概述 62.1語(yǔ)音錄放系統(tǒng)概述 62.2本設(shè)計(jì)方案的論證 72.2.1系統(tǒng)的單片機(jī)選擇論證 72.2.2系統(tǒng)的液晶選擇 72.3研發(fā)方向和技術(shù)關(guān)鍵 73硬件設(shè)計(jì) 83.1硬件的總體設(shè)計(jì) 83.2聲音采集電路 83.3QJ000M2模塊介紹 9產(chǎn)品特性: 10QJ000M2管腳圖: 11管腳說(shuō)明: 11串口通信控制指令: 12通信查詢命令: 14電氣特性: 143.4顯示電路: 151602LCD主要技術(shù)參數(shù): 151602液晶顯示器引腳接口說(shuō)明: 15LCD顯示的基本原理: 163.5單片機(jī)主控電路: 194軟件設(shè)計(jì) 23整體程序流程圖: 23按鍵程序流程圖: 23UART通信簡(jiǎn)介: 245制作與調(diào)試 265.1硬件電路的布線與焊接 265.1.1總體特點(diǎn) 265.1.2Altiumdesigner軟件畫(huà)PCB 265.1.3焊接 265.2調(diào)試 276.結(jié)論 28參考文獻(xiàn) 30附錄 31本次設(shè)計(jì)原理圖: 31PCB圖: 32程序: 32keil4使用說(shuō)明 41摘要在社會(huì)生活中的各個(gè)領(lǐng)域,移動(dòng)智能終端都開(kāi)始發(fā)揮著越來(lái)越重要的作用。特別是智能手機(jī),如今,在人們的日常生活中的地位越來(lái)越重要,對(duì)于人們來(lái)說(shuō)也越來(lái)越不可或缺,而不單單是使用它們打電話和發(fā)短信了。比如:智能手機(jī)上的各種社交軟件可以跟朋友聊天;智能手機(jī)上的各種購(gòu)物平臺(tái)和生活服務(wù)類軟件可以滿足自己衣食住行的需要;智能手機(jī)上的各類APP去滿足自己的各種的娛樂(lè)需求。其中,音樂(lè)的播放和各種在線FM網(wǎng)絡(luò)電臺(tái)是人們?cè)诙萝?chē)、乘車(chē)以及各利,需要排隊(duì)等候時(shí)所必須的軟件。單片機(jī)在工業(yè)領(lǐng)域的應(yīng)用已經(jīng)頗為廣泛和普遍,并且在其他領(lǐng)域中也在不斷通過(guò)創(chuàng)新的思路和方法使其應(yīng)用的防范持續(xù)擴(kuò)展,利用單片機(jī)的相關(guān)功能和裝置來(lái)研究用于控制音符節(jié)奏進(jìn)行播放音樂(lè)的播放器就是其中一個(gè)顯著的例子,它巧妙的運(yùn)用了單片機(jī)中裝置的性能和功能實(shí)現(xiàn)了播放音樂(lè)的各項(xiàng)要求,其內(nèi)部的鍵控電路等多種裝置發(fā)揮了巨大的作用,本文就詳細(xì)介紹以單片機(jī)為基礎(chǔ)研發(fā)的播放器的具體設(shè)計(jì)理念和原理。關(guān)鍵詞:STC89C52單片機(jī);音樂(lè)播放器;音頻系統(tǒng);播放平臺(tái)1引言1.1單片機(jī)的發(fā)展 21世紀(jì),電子技術(shù)進(jìn)入了突飛猛進(jìn)的發(fā)展階段。隨著集成電子技術(shù)的迅速發(fā)展,特別是微型計(jì)算機(jī)的出現(xiàn)使現(xiàn)代科學(xué)研究得到了質(zhì)的飛躍,那么可以毫無(wú)夸張的說(shuō),單片機(jī)技術(shù)的出現(xiàn)則是給現(xiàn)代工業(yè)測(cè)控領(lǐng)域帶來(lái)一次新的技術(shù)命。目前,單片機(jī)以其功能強(qiáng)、體積小、可靠性高、造價(jià)低和開(kāi)發(fā)周期短等優(yōu)點(diǎn),在工業(yè)控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、智能化儀器儀表、辦公自動(dòng)化等諸多領(lǐng)域得到極為廣泛的應(yīng)用,并已進(jìn)入家庭,從洗衣機(jī)、微波爐到音響、汽車(chē),到處都可見(jiàn)到單片機(jī)的蹤影。因此,單片機(jī)技術(shù)開(kāi)發(fā)和應(yīng)用水平已逐步成為一個(gè)國(guó)家工業(yè)發(fā)展水平的標(biāo)志之一,單片機(jī)的發(fā)展階段可分為:
第一階段(1971~1974年):1971年11月美國(guó)Intel公司首先設(shè)計(jì)成集為
2000只晶體管的4位微處理器Intel
4004,并且配有隨機(jī)存儲(chǔ)器ROM和移位寄存器等芯片,構(gòu)成第一臺(tái)MCS-4微型計(jì)算機(jī)。1972年4月Intel公司又研發(fā)成了功能較強(qiáng)的8位微處理器Intel
8008,這些微處理器雖說(shuō)不是單片機(jī),但從此拉開(kāi)了研發(fā)單片機(jī)的序幕。
第二階段(1974~1978年):初級(jí)單片機(jī)階段。以Intel公司的MCS-48為代表。這個(gè)系列的單片機(jī)內(nèi)集成有8位CPU、并行I\O串口、8位定時(shí)器\計(jì)數(shù)器,尋址范圍不大于4K,且無(wú)串行口。
第三階段(1978~1983年):高性能單片機(jī)階段。這一階段單片機(jī)普遍帶有串口、多級(jí)中斷處理系統(tǒng)、16位定時(shí)器\計(jì)數(shù)器。片內(nèi)ROM、RAM容量加大,尋址范圍到了64K,有的還帶有A\D轉(zhuǎn)換接口。比如Intel公司的MCS-51,Motorola公司的6801等。這類單片機(jī)的應(yīng)用領(lǐng)域已經(jīng)及其廣泛,這類系列的各類產(chǎn)品是目前國(guó)內(nèi)外產(chǎn)品的主流。其中MCS-51系列產(chǎn)品,由于其優(yōu)良的性能價(jià)格比,特別適合我國(guó)的國(guó)情,MCS-51系列單。片機(jī)有可能穩(wěn)定相當(dāng)一段時(shí)期?,F(xiàn)在國(guó)內(nèi)的MCS-51熱正在繼續(xù)升溫,隨著我國(guó)經(jīng)濟(jì)建設(shè)步伐的加大,MCS-51系列單片機(jī)必將在各個(gè)領(lǐng)域大顯身手。
第四階段(1983~):8位單片機(jī)鞏固發(fā)展到16位單片機(jī)推出階段。此階段主要特征是一方面發(fā)展16位單片機(jī)及專用單片機(jī);另一方面不斷完善高檔8位單片機(jī),改善其結(jié)構(gòu),以滿足不同的用戶需要。
MCS-51系列屬高檔單片機(jī),近年來(lái),Intel公司在提高該系列產(chǎn)品性能方面做了不少工作,相繼推出了不少新產(chǎn)品:
(1)8052\8752\8032:將原來(lái)8051\8751\8031單片機(jī)進(jìn)行了擴(kuò)展,片內(nèi)數(shù)據(jù)存儲(chǔ)器增至256字節(jié),程序存儲(chǔ)器增至8K,定時(shí)器\計(jì)數(shù)器增至3個(gè)16位計(jì)數(shù)器,有6個(gè)中斷源。
低功耗看的CHMOS工藝芯片80C51\87C51\80C31:這種芯片允許電源波動(dòng)范圍大,為5V±20%,并有三種功耗控制方式。
具有高級(jí)語(yǔ)言編程的芯片8052AH-BASIC.該芯片在片內(nèi)固化有MCS-BASIC52解釋程序,軟件開(kāi)發(fā)比較方便。此外還能實(shí)現(xiàn)BCD碼的浮點(diǎn)運(yùn)算以及16進(jìn)制數(shù)和十進(jìn)制數(shù)的轉(zhuǎn)換。
高性能的C52系列:在8052的基礎(chǔ)上,采用CHMOS工藝,并將MCS-96系列中的一些高速輸出、脈寬調(diào)制、上\下定時(shí)器\計(jì)數(shù)器移植進(jìn)來(lái),構(gòu)成新一代MCS-51產(chǎn)品80C252\87C252\83C252,他們是MCS-51系列中的新產(chǎn)品。1.2國(guó)內(nèi)外現(xiàn)狀分析隨著智能手機(jī)和3G網(wǎng)絡(luò)的大眾化,人們生活?yuàn)蕵?lè)的重心之一就是觀看視頻或者聽(tīng)音樂(lè),特別是在音樂(lè)方面,競(jìng)爭(zhēng)十分激烈。國(guó)內(nèi)外主流的Android平臺(tái)音樂(lè)播放器有天天動(dòng)聽(tīng)、多米音樂(lè)、PowerAMP等,下面對(duì)這三款音樂(lè)播放軟件進(jìn)行簡(jiǎn)單的介紹。1.天天動(dòng)聽(tīng)天天動(dòng)聽(tīng)是國(guó)內(nèi)研發(fā)的第一個(gè)可以自主解碼的音樂(lè)播放器,它有各種平臺(tái)的版本,如塞班平臺(tái),Android平臺(tái),微軟平臺(tái),IOS平臺(tái)和網(wǎng)頁(yè)平臺(tái)等,在安卓平臺(tái)下有三個(gè)尺寸的播放器圖標(biāo),這樣用戶能夠在各種手機(jī)上直接運(yùn)行播放器。它的功能十分強(qiáng)大的功能,在播放音樂(lè)文件格式方面,它除了支持MP3、WAV等普通格式,還支持其他的如APE等各種格式;在用戶界面方面,它將按鈕基本做成比較簡(jiǎn)單且大的樣子,使得用戶操作簡(jiǎn)單,且界面清新簡(jiǎn)潔,用戶還可以隨意跟換播放皮膚;在音效方面,它有預(yù)置的均衡器用來(lái)增加音效來(lái)滿足用戶的需要;在網(wǎng)絡(luò)方面,它可以下載LRC文件或者專輯封面等;在搜索方面,它會(huì)在啟動(dòng)時(shí)自主掃描手機(jī)存儲(chǔ)卡中的音樂(lè)文件,還可以過(guò)濾手機(jī)自身存有的鈴聲文件。除了以上的方面的優(yōu)勢(shì),天天動(dòng)聽(tīng)還是一款免費(fèi)的音樂(lè)播放器,因此受到廣大用戶的喜愛(ài)。2.多米音樂(lè)多米音樂(lè)也是一款功能比較強(qiáng)大的免費(fèi)的手機(jī)音樂(lè)播放器,它除了可以對(duì)本地音樂(lè)進(jìn)行播放,還可以在線進(jìn)行音樂(lè)播放,且有著一個(gè)人性化的特點(diǎn)即邊播放邊下載,為用戶節(jié)約流量。這款播放器還可以通過(guò)新浪微博來(lái)對(duì)音樂(lè)進(jìn)行分享,符合當(dāng)代用戶的潮流;多米音樂(lè)易操作,人性化,強(qiáng)大的在線功能等特點(diǎn)也受到了用戶的喜歡。PowerAMPPowerAMP是一款國(guó)外的音樂(lè)播放軟件,支持Android2.0及以上的移動(dòng)設(shè)備,但是由于國(guó)外對(duì)音樂(lè)的版權(quán)有保護(hù),因此PowerAMP不支持下載、在線或下載管理等功能。PowerAMP能力十分驚人,它可以播放很多種多種格式的音樂(lè)文件,在此不一一介紹,而且支持歌詞顯示功能;PowerAMP跟國(guó)內(nèi)播放器的界面風(fēng)格不同,它整體界面比較有質(zhì)感,有幾套內(nèi)置的漂亮的主題供用戶選擇;PowerAMP在音質(zhì)方面也有著很好的品質(zhì),支持耳機(jī)線控功能,用戶可以設(shè)置均衡器來(lái)控制音質(zhì)?,F(xiàn)在,基于單片機(jī)的音樂(lè)播放器還有些播放器良莠不齊,所以Android平臺(tái)上迫切需要一款功能專一,操作簡(jiǎn)單,耗費(fèi)資源較少的音樂(lè)播放器。1.3設(shè)計(jì)的內(nèi)容設(shè)計(jì)的課題是“基于單片機(jī)的音樂(lè)播放器設(shè)計(jì)”,它是以單片機(jī)AT89C52作為硬件核心控制部件,結(jié)合負(fù)脈沖電路和LM386功率放大器,數(shù)碼管構(gòu)成典型的顯示電路,以及其他外圍設(shè)備組成的音樂(lè)播放系統(tǒng)。
根據(jù)音樂(lè)演奏控制器所要實(shí)現(xiàn)的顯示與選曲及音樂(lè)產(chǎn)生功能原理,系統(tǒng)包括演奏揚(yáng)聲器、選曲、播放和顯示幾部分。其中,S1開(kāi)關(guān)用來(lái)選曲,通過(guò)顯示器顯示歌曲序號(hào)。S2按鈕用作播放。所設(shè)計(jì)的單片機(jī)樂(lè)曲播放控制器不僅能夠播放悅耳的歌曲,同時(shí)設(shè)置按鈕使所設(shè)計(jì)的程序能在五首歌曲之間進(jìn)行選曲,并通過(guò)顯示器使其顯示歌曲序號(hào)。
本文設(shè)計(jì)的音樂(lè)演奏控制器是通過(guò)控制單片機(jī)內(nèi)部的定時(shí)器來(lái)產(chǎn)生不同頻率的方波,驅(qū)動(dòng)喇叭發(fā)出不同音節(jié)的聲音,再利用延遲來(lái)控制發(fā)音時(shí)間的長(zhǎng)短,即控制音調(diào)中的節(jié)拍。同時(shí)設(shè)置按鈕使所設(shè)計(jì)的程序能在五首歌曲之間進(jìn)行選曲、設(shè)計(jì)顯示器使其顯示歌曲序號(hào)。
2單片機(jī)的內(nèi)涵及其音樂(lè)播放器的研發(fā)基本原理2.1單片機(jī)簡(jiǎn)述2.1.1單片機(jī)的內(nèi)涵 單片機(jī)就是我們?cè)诠I(yè)生產(chǎn)和研發(fā)過(guò)程中經(jīng)常使用到的一種集成電路芯片,而這種芯片尤其特殊的優(yōu)勢(shì)和組成模式,它是以超大規(guī)模的集成電路的相關(guān)技術(shù)方法和手段,將各種能夠?qū)崿F(xiàn)高速數(shù)據(jù)處理的設(shè)備和裝置的不同功能作用全部集中在一塊很小的硅片之上,因此這塊芯片也就成為了一種功能作用較為完善的微型計(jì)算機(jī)控制和操作系統(tǒng),關(guān)于它內(nèi)涵的解釋有多種,但是其本身是一枚集多種為一體的電路芯片,利用其內(nèi)部的各種集成電路來(lái)實(shí)現(xiàn)各種信息和數(shù)據(jù)的高速傳遞與科學(xué)處理,其內(nèi)部包含多種設(shè)備的功能,包括中央處理器、存儲(chǔ)器、中斷系統(tǒng)等設(shè)備的功能與提供的服務(wù),隨著研發(fā)技術(shù)的不斷創(chuàng)新發(fā)展,單片機(jī)也由傳統(tǒng)的4位或者8位的單片機(jī),到如今已經(jīng)發(fā)展出的一種300M的高速運(yùn)轉(zhuǎn)效率的單片機(jī)。2.1.2STC89C52RC單片機(jī)介紹STC89C52RC單片機(jī)是宏晶科技推出的新一代高速/低功耗/超強(qiáng)抗干擾的單片機(jī),指令代碼完全兼容傳統(tǒng)8051單片機(jī),12時(shí)鐘/機(jī)器周期和6時(shí)鐘/機(jī)器周期可以任意選擇。主要特性如下:增強(qiáng)型8051單片機(jī),6時(shí)鐘/機(jī)器周期和12時(shí)鐘/機(jī)器周期可以任意選擇,指令代碼完全兼容傳統(tǒng)8051.工作電壓:5.5V~3.3V(5V單片機(jī))/3.8V~2.0V(3V單片機(jī))工作頻率范圍:0~40MHz,相當(dāng)于普通8051的0~80MHz,實(shí)際工作頻率可達(dá)48MHz用戶應(yīng)用程序空間為8K字節(jié)片上集成512字節(jié)RAM通用I/O口(32個(gè)),復(fù)位后為:P1/P2/P3/P4是準(zhǔn)雙向口/弱上拉,P0口是漏極開(kāi)路輸出,作為總線擴(kuò)展用時(shí),不用加上拉電阻,作為I/O口用時(shí),需加上拉電阻。ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無(wú)需專用編程器,無(wú)需專用仿真器,可通過(guò)串口(RxD/P3.0,TxD/P3.1)直接下載用戶程序,數(shù)秒即可完成一片具有EEPROM功能具有看門(mén)狗功能共3個(gè)16位定時(shí)器/計(jì)數(shù)器。即定時(shí)器T0、T1、T2外部中斷4路,下降沿中斷或低電平觸發(fā)電路,PowerDown模式可由外部中斷低電平觸發(fā)中斷方式喚醒通用異步串行口(UART),還可用定時(shí)器軟件實(shí)現(xiàn)多個(gè)UART工作溫度范圍:-40~+85℃(工業(yè)級(jí))/0~75℃(商業(yè)級(jí))PDIP封裝STC89C52RC單片機(jī)的工作模式掉電模式:典型功耗<0.1μA,可由外部中斷喚醒,中斷返回后,繼續(xù)執(zhí)行原程序空閑模式:典型功耗2mA正常工作模式:典型功耗4Ma~7mA掉電模式可由外部中斷喚醒,適用于水表、氣表等電池供電系統(tǒng)及便攜設(shè)備2.2以單片機(jī)為基礎(chǔ)研發(fā)音樂(lè)播放器的基本原理以單片機(jī)為基礎(chǔ)來(lái)研發(fā)音樂(lè)播放設(shè)備的過(guò)程中,人們主要是采用它內(nèi)部的定時(shí)裝置在工作狀態(tài)下所產(chǎn)生不同的頻率,然后利用輸出端口將電路在相同的阻抗作用情況下的相對(duì)比值,也就是電平輸送至揚(yáng)聲裝置之中,如此就可以播放想要聽(tīng)到的音樂(lè)。音樂(lè)都是以音符為基礎(chǔ)所組成的,不同的音符就是依靠定時(shí)裝置產(chǎn)生的不同頻率來(lái)呈現(xiàn)出來(lái),以單片機(jī)為基礎(chǔ)進(jìn)行的研發(fā)工作中,采用科學(xué)的方式控制好定時(shí)裝置產(chǎn)生的頻率,讓其不同的頻率按照一定的順序出現(xiàn),這個(gè)順序就是音樂(lè)中音符的排列順序,這樣頻率就與音符的先后出現(xiàn)順序達(dá)成一致,再通過(guò)將電平傳輸?shù)綋P(yáng)聲的設(shè)備之中就可以播放音樂(lè)了,這種原理的更深層實(shí)現(xiàn)模式是依靠音符與頻率所組成的音頻來(lái)實(shí)現(xiàn)的,不同類型的音頻需要在不同固定的周期里生成的脈沖信號(hào),這樣就出現(xiàn)了音頻脈沖,然后通過(guò)周期的計(jì)算以及定時(shí)裝置、多種集成電路的支持下呈現(xiàn)出美妙的音樂(lè)。圖2.1基于單片機(jī)的音樂(lè)播放器原理圖
3系統(tǒng)需求分析3.1系統(tǒng)功能需求分析在Android平臺(tái)開(kāi)發(fā)的音樂(lè)播放器需要能夠與用戶進(jìn)行交互的界面,且從上一節(jié)的分析可知,本系統(tǒng)要求界面簡(jiǎn)潔大方,便于用戶操作,因此將本音樂(lè)播放器從界面劃分為三個(gè)部分:基本播放控制功能,播放列表管理功能,文件管理功能。本節(jié)將通過(guò)用例圖以及用例說(shuō)明對(duì)這四部分進(jìn)行功能需求分析。用例圖是從用戶的角度表示系統(tǒng)的一種方式。用例圖用于定義系統(tǒng)的功能需求,它描繪了系統(tǒng)的參與者與系統(tǒng)提供的用例之間的連接關(guān)系。3.1.1基本播放控制功能需求下面將使用用例圖對(duì)基本播放控制功能進(jìn)行說(shuō)明。如圖3.1所示。圖3.1基本播放控制用例圖下面對(duì)本功能的七個(gè)核心用例進(jìn)行具體分析:1.播放/暫停音樂(lè)在該用例中需要由一個(gè)播放/暫停按鈕實(shí)現(xiàn),當(dāng)用戶點(diǎn)擊表示播放的按鈕時(shí)進(jìn)行播放,同時(shí)播放按鈕的圖標(biāo)將切換成暫停圖標(biāo),用戶可以再次點(diǎn)擊該按鈕進(jìn)行暫停操作,按鈕圖片由暫停變?yōu)椴シ拧?.選擇上一首和下一首歌曲該用例需要通過(guò)兩個(gè)按鈕來(lái)進(jìn)行實(shí)現(xiàn)。當(dāng)歌曲正在播放或暫停時(shí),用戶可以進(jìn)行歌曲的切換,在切換過(guò)程中,當(dāng)歌曲位于歌單的邊界處時(shí),播放器需要能夠在當(dāng)前列表中繼續(xù)進(jìn)行切換操作。例如當(dāng)前歌曲位于播放列表的最后位置,當(dāng)用戶選擇播放下一首歌曲時(shí),系統(tǒng)會(huì)自動(dòng)播放該播放列表的第一首歌曲。3.選擇播放模式該用例需要通過(guò)一個(gè)按鈕進(jìn)行實(shí)現(xiàn),用戶可以通過(guò)不斷點(diǎn)擊該按鈕對(duì)當(dāng)前播放模式進(jìn)行切換,按鈕會(huì)不斷變換圖片表示不同的播放模式。本軟件中播放模式包括單曲循環(huán)播放,列表循環(huán)播放,隨機(jī)播放,順序播放。4.顯示歌詞當(dāng)用戶在音樂(lè)文件所在的同一文件夾中放入與播放歌曲名稱相同的LRC文件,系統(tǒng)會(huì)自動(dòng)加載歌詞并顯示。5.拖動(dòng)播放進(jìn)度條播放進(jìn)度條有兩種顏色組成,一種表示已經(jīng)播放的進(jìn)度,一種表示未播放的進(jìn)度,進(jìn)度條左邊顯示已經(jīng)播放的時(shí)間,右邊顯示歌曲總體時(shí)間。用戶可以在播放或暫停的狀態(tài)下拖動(dòng)進(jìn)度濤來(lái)調(diào)整當(dāng)前進(jìn)度條的位置,且當(dāng)音樂(lè)正在播放時(shí)進(jìn)度條能夠自動(dòng)進(jìn)行刷新。6.打開(kāi)文件管理界面用戶點(diǎn)擊該按鈕后跳轉(zhuǎn)到文件管理界面,對(duì)當(dāng)前正在播放的歌曲進(jìn)行管理操作,具體操作會(huì)在文件管理功能中進(jìn)行說(shuō)明。7.后臺(tái)播放功能用戶在聽(tīng)音樂(lè)的同時(shí)可能需要做別的事情,例如看電子書(shū),因此要求本音樂(lè)播放器擁有后臺(tái)播放功能。本文主要實(shí)現(xiàn)的是音樂(lè)器的核心功能,因此下面主要對(duì)上面的4個(gè)核心用例進(jìn)行說(shuō)明。播放/暫停音樂(lè)用例說(shuō)明,如表3-1所示。表3-1播放/暫停音樂(lè)用例說(shuō)明用例名稱播放/暫停音樂(lè)參與者用戶目標(biāo)用戶可以播放/暫停選擇的歌曲前置條件播放器在播放隊(duì)列狀態(tài)基本事件流1.用戶點(diǎn)擊“播放”按鈕2.播放當(dāng)前音樂(lè)3.用戶點(diǎn)擊“暫?!卑粹o4.暫停當(dāng)前正在播放的音樂(lè)后置條件播放器開(kāi)始播放或暫停播放音樂(lè)選擇上一首/下一首歌曲用例說(shuō)明,如表3-2所示。表3-2選擇上一首/下一首歌曲用例說(shuō)明用例名稱選擇上一首/下一首歌曲參與者用戶目標(biāo)用戶可以聽(tīng)上一首或下一首歌曲前置條件播放器正在播放或暫停狀態(tài)基本事件流1.用戶點(diǎn)擊“上一首”或“下一首”按鈕2.播放上一首音樂(lè)或下一首歌曲后置條件播放器播放下一首或上一首歌曲選擇播放模式用例說(shuō)明,如表3-3所示。表3-3選擇播放模式用例說(shuō)明用例名稱選擇播放模式參與者用戶目標(biāo)用戶可以切換播放模式:循環(huán)播放,隨機(jī)播放,順序播放前置條件播放器正在播放或暫停狀態(tài)基本事件流1.用戶點(diǎn)擊“播放模式”按鈕2.播放器進(jìn)入切換到的播放模式進(jìn)行播放后置條件開(kāi)始按照已選的播放模式進(jìn)行播放拖動(dòng)進(jìn)度條用例說(shuō)明,如表3-4所示。表3-4拖動(dòng)進(jìn)度條用例說(shuō)明用例名稱拖動(dòng)進(jìn)度條參與者用戶目標(biāo)用戶可以拖動(dòng)播放進(jìn)度條來(lái)控制播放進(jìn)度前置條件播放器正在播放或暫?;臼录饔脩敉蟿?dòng)拖動(dòng)播放進(jìn)度條,播放器可以從進(jìn)度條所處位置播放歌曲后置條件用戶拖動(dòng)進(jìn)度條,播放器同步歌曲進(jìn)度3.1.2播放列表管理功能需求下面將使用用例圖對(duì)播放列表管理功能進(jìn)行說(shuō)明。如圖3.2所示。圖3.2播放列表管理功能用例圖下面對(duì)本功能的五個(gè)核心用例進(jìn)行具體分析:新建播放列表用戶可以新建播放列表,自定義列表名稱,系統(tǒng)會(huì)自動(dòng)彈出歌曲清單供用戶在該列表中添加歌曲。刪除播放列表用戶可以對(duì)該播放列表進(jìn)行刪除操作,這一操作只將播放列表進(jìn)行刪除,并不能將列表中的歌曲文件從SD卡中徹底刪除。打開(kāi)播放列表用戶可以選擇打開(kāi)一個(gè)已有的播放列表,播放列表中的歌曲會(huì)以列表的形式顯示,每行包括一張圖片以及一個(gè)歌曲名稱。重命名播放列表用戶能夠?qū)σ延械牟シ帕斜磉M(jìn)行重新命名操作,當(dāng)用戶進(jìn)行本操作時(shí),系統(tǒng)會(huì)彈出一個(gè)編輯框讓用戶對(duì)當(dāng)前播放列表進(jìn)行重新命名,用戶也可以取消本次操作。顯示已有播放列表用戶進(jìn)入播放列表界面后會(huì)以列表的形式顯示已有的播放列表,每一行會(huì)顯示播放列表名稱以及列表中的歌曲數(shù)。從圖中可以看出播放列表管理功能共有四個(gè)核心用例,下面對(duì)其進(jìn)行說(shuō)明。1.新建播放列表用例說(shuō)明,如表3-6所示。表3-6新建播放列表用例說(shuō)明用例名稱新建播放列表參與者用戶目標(biāo)用戶可以新建播放列表并自定義命名前置條件播放器跳轉(zhuǎn)到播放列表界面基本事件流1.用戶選擇新建播放列表后編輯播放列表名稱2.系統(tǒng)提示是否添加歌曲到播放列表中3.選擇確定后,系統(tǒng)打開(kāi)歌曲清單,用戶選擇歌曲加入該列表中后置條件系統(tǒng)成功新建播放列表,用戶可以從列表中選擇播放歌曲刪除播放列表用例說(shuō)明,如表3-7所示。表3-7刪除播放列表用例說(shuō)明用例名稱刪除播放列表參與者用戶目標(biāo)用戶可以刪除已有的播放列表、前置條件播放器跳轉(zhuǎn)到播放列表界面基本事件流1.用戶長(zhǎng)按要?jiǎng)h除的播放列表,選擇刪除2.系統(tǒng)彈出提示是否要?jiǎng)h除該播放列表3.點(diǎn)擊確定選項(xiàng),系統(tǒng)刷新播放列表界面后置條件系統(tǒng)成功刪除當(dāng)前播放列表打開(kāi)播放列表用例說(shuō)明,如表3-8所示。表3-8打開(kāi)播放列表用例說(shuō)明用例名稱打開(kāi)播放列表參與者用戶目標(biāo)用戶可以打開(kāi)當(dāng)前播放列表查看列表中的歌曲前置條件播放器跳轉(zhuǎn)到播放列表界面基本事件流1.用戶長(zhǎng)按播放列表,選擇打開(kāi)2.系統(tǒng)打開(kāi)播放列表并顯示列表歌曲3.用戶可以選擇列表中的歌曲進(jìn)行播放后置條件用戶成功打開(kāi)播放列表3.1.3文件管理功能需求下面將使用用例圖對(duì)文件管理功能進(jìn)行說(shuō)明。如圖3.3所示。圖3.3文件管理功能用例圖下面對(duì)六個(gè)核心用例進(jìn)行說(shuō)明。播放歌曲用戶可以從播放清單或者播放列表中選擇歌曲進(jìn)行播放,并由當(dāng)前界面跳轉(zhuǎn)到播放主界面,在主界面中可以對(duì)該歌曲進(jìn)行常規(guī)操作。添加到播放列表用戶可以將播放列表中的歌曲或者正在播放的歌曲添加到已有的或者新建的播放清單中,當(dāng)添加到新建播放清單時(shí)系統(tǒng)會(huì)跳轉(zhuǎn)到播放列表界面進(jìn)行新建播放列表操作。刪除文件用戶可以將播放列表中的歌曲或者正在播放的歌曲從數(shù)據(jù)庫(kù)中徹底刪除。查看歌曲信息用戶可以查看歌曲的詳細(xì)信息,包括標(biāo)題,藝術(shù)家,專輯,流派,文件全稱,文件格式,文件路徑,文件大小,歌詞。分享歌曲用戶可以將歌曲文件或者歌曲信息在QQ,短消息,藍(lán)牙中進(jìn)行分享,分享過(guò)程中會(huì)自動(dòng)跳轉(zhuǎn)到相應(yīng)的應(yīng)用中。設(shè)為手機(jī)鈴聲用戶可以將將播放列表中的歌曲或者正在播放的歌曲設(shè)置為手機(jī)來(lái)電鈴聲。在本文的文件管理功能主要實(shí)現(xiàn)的核心用例有兩個(gè),下面根據(jù)表對(duì)其進(jìn)行說(shuō)明。3.2系統(tǒng)性能需求分析本系統(tǒng)是預(yù)裝在手機(jī)的,它的運(yùn)行環(huán)境是基于單片機(jī)的操作系統(tǒng),系統(tǒng)的版本為Android4.0.1,目標(biāo)是將其設(shè)計(jì)為相應(yīng)速度快,易于操作的一款應(yīng)用,因此在性能上有以下需求。要求應(yīng)用程序運(yùn)行時(shí),程序的響應(yīng)時(shí)間要在用戶的可接受范圍內(nèi)。一般情況下要求系統(tǒng)的無(wú)響應(yīng)時(shí)間為5s,即當(dāng)要求歌曲播放音樂(lè)、暫停音樂(lè)、選擇上一首、選擇下一首音樂(lè),拖動(dòng)進(jìn)度條等操作均不能超過(guò)5s。要求擁有人性化的播放界面,體現(xiàn)出整個(gè)播放器簡(jiǎn)潔大方的特點(diǎn)。4音樂(lè)播放器的設(shè)計(jì)與實(shí)現(xiàn)4.1平臺(tái)軟件架構(gòu)的總體設(shè)計(jì)軟件架構(gòu)是軟件開(kāi)發(fā)中一個(gè)非常重要的部分,軟件架構(gòu)設(shè)計(jì)的好壞直接影響軟件功能的實(shí)現(xiàn)。如圖4-1所示為本平臺(tái)的軟件架構(gòu)的總體設(shè)計(jì)圖,圖4-1中兩個(gè)層級(jí)之間的數(shù)據(jù)交換用雙向箭頭表示,各個(gè)模塊之間的數(shù)據(jù)傳輸用單向箭頭表示。由上一章功能需求分析中可以得出如下系統(tǒng)軟件架構(gòu)圖,如圖4-1。這是本程序主體框架,今后就按照如圖功能模塊一一編碼實(shí)現(xiàn)。圖4-1系統(tǒng)軟件架構(gòu)圖由圖4-1可知,本平臺(tái)總體上可以分成兩個(gè)層級(jí),其中音頻處理層級(jí)有可以下分為三個(gè)層級(jí),現(xiàn)就各個(gè)層級(jí)的功能進(jìn)行詳細(xì)的研究。1、音樂(lè)播放器界面層音樂(lè)播放器界面層級(jí)主要是與用戶進(jìn)行交互的層級(jí),該層級(jí)包括了音樂(lè)播放界面、音樂(lè)播放控制界面、播放器列表管理界面、本地文件管理界面以及在線搜素界面。本平臺(tái)的功能主要由這五個(gè)界面實(shí)現(xiàn)的。在上一章中研究需求分析時(shí),研究出這五個(gè)方面是本平臺(tái)的主要核心功能。音頻處理層音頻處理層是本平臺(tái)音樂(lè)播放器音頻播放的關(guān)鍵處理層級(jí),通過(guò)這個(gè)層級(jí),平臺(tái)才能實(shí)現(xiàn)播放SD卡中存儲(chǔ)的音樂(lè)文件。音樂(lè)文件在一般的情況需要進(jìn)行壓縮編碼,其主要目的是降低該文件的數(shù)據(jù)量與所占用的存儲(chǔ)空間。在安卓系統(tǒng)中提供了相應(yīng)的類用來(lái)支持音樂(lè)文件的解編碼,本文將對(duì)此進(jìn)行主要研究。音頻處理的流程:音頻文件通過(guò)音樂(lè)數(shù)據(jù)提取層從SD卡中提取出來(lái),傳輸至數(shù)據(jù)處理層;數(shù)據(jù)處理層將文件進(jìn)行分裝打包傳輸至解碼層;解碼層將數(shù)據(jù)處理層傳遞過(guò)來(lái)的數(shù)據(jù)根據(jù)其相應(yīng)的格式進(jìn)行解碼,然后將解碼后的數(shù)據(jù)傳輸至播放器中。由上述研究可知,音頻處理層主要包含有兩個(gè)方面:音頻文件的輸入輸出;音頻文件的轉(zhuǎn)碼解編碼。本平臺(tái)運(yùn)行時(shí),其工作流程如下:文件導(dǎo)進(jìn)到播放器里;播放相應(yīng)文件。播放器播放音頻文件又有以下流程:音頻文件的解碼;相應(yīng)歌曲的PCM輸出;相應(yīng)歌曲的播放。文件播放環(huán)節(jié)如圖4-2所示。圖4-2文件播放環(huán)節(jié)圖4.2功能設(shè)計(jì)本平臺(tái)的設(shè)計(jì)需要滿足上一章研究的需求分析。本節(jié)主要依據(jù)上一章的需求分析進(jìn)行設(shè)計(jì)。4.2.1平臺(tái)功能結(jié)構(gòu)由平臺(tái)的需求分析可知,本文研究的音樂(lè)播放平臺(tái)共劃分三個(gè)主要的功能模塊:播放界面模塊、播放菜單模塊、播放列表模塊,如圖4-3所示。圖4-3歌曲播放平臺(tái)作用構(gòu)架開(kāi)發(fā)圖播放界面模塊播放界面重點(diǎn)包括:播放/停止歌曲、切換音樂(lè)、切換播放模式、拖動(dòng)進(jìn)度條以及后臺(tái)播放控制等功能,該界面主要是音樂(lè)播放時(shí)所顯示的界面。播放/暫停音樂(lè)通過(guò)播放/暫??刂瓢粹o不僅實(shí)現(xiàn)了音樂(lè)播放的暫停與控制,還會(huì)使按鈕的圖標(biāo)隨著音樂(lè)的暫定和播放進(jìn)行變化。通過(guò)一個(gè)按鈕設(shè)計(jì)兩個(gè)功能,可以提高系統(tǒng)界面的簡(jiǎn)潔性,因?yàn)椴捎眠@種方式可以減少界面中按鈕的數(shù)量,提高了每個(gè)按鈕所占用的空間。選擇上/下一首歌曲利用擇取上一首或者下一首音樂(lè)按鍵來(lái)達(dá)到對(duì)歌曲播放序列音樂(lè)播放的管控。假如按下一首音樂(lè)按鍵時(shí),播放的音樂(lè)是播放序列里的倒數(shù)第一首音樂(lè)時(shí),會(huì)從第一首音樂(lè)進(jìn)行,這樣設(shè)計(jì)不僅提高了系統(tǒng)的穩(wěn)定性、適用性,同時(shí)讓消費(fèi)者更簡(jiǎn)便的操作,讓他們的感受也相應(yīng)的得到了提高。切換播放模式通過(guò)切換播放模式按鈕來(lái)實(shí)現(xiàn)播放模式的切換,在本系統(tǒng)中,主要有:順序播放、序列播放、單首往復(fù)、非固定性等播放形式。拖動(dòng)進(jìn)度條進(jìn)度條為兩個(gè)部分,重點(diǎn)對(duì)播放進(jìn)程做管控。進(jìn)程條右方表示還沒(méi)有播放歌曲的時(shí)間,左方是歌曲播放過(guò)的時(shí)間。播放歌曲的進(jìn)度變動(dòng)是利用消費(fèi)者變動(dòng)進(jìn)程條來(lái)達(dá)到的。用戶根據(jù)各音樂(lè)的特點(diǎn)任意選擇音樂(lè)播放的進(jìn)度,從而實(shí)現(xiàn)更優(yōu)的用戶體驗(yàn)。后臺(tái)播放后臺(tái)播放是音樂(lè)播放平臺(tái)的一般功能,用戶通過(guò)點(diǎn)擊HOME鍵來(lái)自動(dòng)實(shí)現(xiàn)音樂(lè)播放的后臺(tái)播放。當(dāng)播放器處于后臺(tái)播放時(shí),Android系統(tǒng)的頂部提示欄將顯示音樂(lè)播放器的當(dāng)前狀態(tài),如果用戶想要實(shí)現(xiàn)返回播放界面,則點(diǎn)擊狀態(tài)欄即可。播放列表模塊新建播放列表在播放序列管控界面里,假如消費(fèi)者想達(dá)到增添播放序列作用,那么按一下新建按鍵就能夠完成。在播放序列的管控方面,消費(fèi)者在新建的播放序列里,運(yùn)用播放序列的名字來(lái)做管控。刪除和重命名播放列表用戶可以在播放列表管理界面中選擇一個(gè)播放列表進(jìn)行相關(guān)的操作,點(diǎn)擊刪除選項(xiàng),播放器將刪除用戶選擇的播放列表;當(dāng)用戶選擇的是重命名選項(xiàng)時(shí),播放器可以重命名該播放列表。獲取封面當(dāng)播放器接入互聯(lián)網(wǎng)時(shí),播放器將檢測(cè)SD卡中的音樂(lè)文件的詳細(xì)信息,獲取該音樂(lè)文件屬于的專輯名稱,并將該專輯的封面進(jìn)行搜素與下載。由于封面的獲取需要接入互聯(lián)網(wǎng),包括使用3G、4G網(wǎng)絡(luò),且需要獲得系統(tǒng)允許訪問(wèn)網(wǎng)絡(luò)的使用權(quán)。菜單模塊刪除歌曲用戶在播放音樂(lè)時(shí),可以根據(jù)自己的喜好將播放列表中的歌曲進(jìn)行刪除,在刪除時(shí),播放器將提示用戶是否同時(shí)刪除本地文件,選擇刪除,播放列表和SD卡中都會(huì)刪除該音樂(lè)文件,選擇不刪除,播放器只在播放列表中進(jìn)行刪除,而不刪除本地文件。播放列表歌曲用戶進(jìn)入菜單管理界面時(shí),播放器會(huì)將播放器中所有的播放列表顯示出來(lái),用戶可以根據(jù)需求選擇其中任意的播放列表進(jìn)行播放。查看歌曲信息用戶在選定的歌曲中,可以了解上述音樂(lè)的具體資料,它的具體資料通常含有:音樂(lè)名稱、演唱人員、作詞、作曲、專輯、流派、文件格式、文件大小、文件存儲(chǔ)位置等。根據(jù)系統(tǒng)的功能結(jié)構(gòu)設(shè)計(jì)圖,研究設(shè)計(jì)了音樂(lè)播放器內(nèi)部是實(shí)現(xiàn)的框架結(jié)構(gòu)圖,如圖4-4所示(依存聯(lián)系用虛線顯示)。圖4-4系統(tǒng)框架結(jié)構(gòu)圖Activity:用戶交互界面(用戶可見(jiàn));Service:音樂(lè)的播放/停止運(yùn)用Service類來(lái)完成;Model類:儲(chǔ)存音樂(lè)資料的類;Broadcast:實(shí)現(xiàn)消息廣播的類;Bll層:接口,連接UI和DAL層;6、DAL:依存在Bll層,是儲(chǔ)存資料庫(kù)的運(yùn)作類,資料庫(kù)的組建實(shí)現(xiàn),刪除都是通過(guò)該層實(shí)現(xiàn)的。4.2.2平臺(tái)功能流程圖在上節(jié)中主要研究了該播放器的三個(gè)主要功能模塊的設(shè)計(jì),為了實(shí)現(xiàn)功能邏輯上的整合以及提升用戶的使用體驗(yàn),本小節(jié)將對(duì)播放器的播放流程進(jìn)行進(jìn)一步的研究,它的詳細(xì)流程圖如圖4-5所示。圖4-5播放器功能流程圖打開(kāi)播放器軟件;(2)播放器自動(dòng)檢查手機(jī)中是否具有音樂(lè)文件,假如為空,需檢驗(yàn)上述手機(jī)里是不是有SD卡,若沒(méi)有SD卡,則提示用戶,若有SD卡,則提示用戶SD卡中無(wú)音頻文件。(3)播放器成功啟動(dòng),播放器開(kāi)始之后自主進(jìn)到播放序列界面,首次運(yùn)用時(shí),顧客須新建播放序列,假如顧客業(yè)已新建播放序列,那播放器會(huì)自主播放最后一次顧客結(jié)束時(shí)的歌曲。(4)用戶可以任意選擇播放列表中的歌曲,播放器進(jìn)到首界面時(shí),在播放器歌曲管控的首界面里,顧客能夠依照現(xiàn)實(shí)需要來(lái)管控歌曲的播放、停止、拖動(dòng)進(jìn)度條、該表播放模式以及切換上一首歌曲、下一首歌曲。在進(jìn)行操作時(shí),播放器將一直處于播放控制界面。(5)用戶在播放器界面中若長(zhǎng)按某一首歌曲文件時(shí),播放器將打開(kāi)歌曲文件管理菜單選項(xiàng)。在該選項(xiàng)中用戶可以實(shí)現(xiàn)查看音樂(lè)的文件信息,可以選擇是否刪除音樂(lè)文件、是否添加至播放列表等相關(guān)操作。完成相關(guān)操作后,系統(tǒng)將自動(dòng)返回播放清單界面。(6)在上述文件管理與播放控制管理界面,用戶都可以選擇退出按鈕而結(jié)束本播放器平臺(tái)。4.3系統(tǒng)硬件設(shè)計(jì)4.3.1總體設(shè)計(jì)方案音樂(lè)的播放設(shè)備也是一種能夠進(jìn)行操作和控制的微型系統(tǒng),這個(gè)系統(tǒng)的基礎(chǔ)就是以一種AT89C52規(guī)格型號(hào)的單片機(jī)為基礎(chǔ)以及控制的核心裝置的,在操控使使用其各種功能按鍵來(lái)控制系統(tǒng)的運(yùn)轉(zhuǎn)以及音樂(lè)的播放類型,利用揚(yáng)聲設(shè)備執(zhí)行播放音樂(lè)的任務(wù),其內(nèi)部的系統(tǒng)控制和操作的基礎(chǔ)程序就設(shè)置在晶振電路之上,作為基層架構(gòu)以及各種信號(hào)傳遞、處理的重要電路結(jié)構(gòu)。在總體的硬件設(shè)計(jì)上是采用了以AT89C52這種單片機(jī)內(nèi)部的產(chǎn)生的不同頻率和信號(hào)來(lái)生成相關(guān)的音符和頻率,研究人員將音樂(lè)的樂(lè)譜按照不同的音符頻率轉(zhuǎn)化為系統(tǒng)能夠識(shí)別的計(jì)算機(jī)符號(hào)和語(yǔ)言,構(gòu)成音樂(lè)語(yǔ)言,再由單片機(jī)內(nèi)部的數(shù)據(jù)處理系統(tǒng)將接收的樂(lè)譜信息進(jìn)行高速的處理,將內(nèi)部產(chǎn)生的信號(hào)逐漸放大,調(diào)高頻率,再利用揚(yáng)聲設(shè)備的喇叭以不同的音量設(shè)置等級(jí)來(lái)播放音樂(lè),總體的設(shè)計(jì)模式和方案充分的發(fā)揮了計(jì)算機(jī)系統(tǒng)的精準(zhǔn)信息處理的功能作用,因此是不會(huì)出現(xiàn)錯(cuò)亂和播放故障的情況的,每篇樂(lè)譜的發(fā)音以及節(jié)拍速率的掌控都精準(zhǔn)到位,能夠給人以美好的音樂(lè)享受,播放的質(zhì)量和效果都很好。4.3.2STC89C52RC引腳功能說(shuō)明圖4-6STC89C52RC引腳圖VCC(40引腳):電源電壓VSS(20引腳):接地P0端口(P0.0~P0.7,39~32引腳):P0口是一個(gè)漏極開(kāi)路的8位雙向I/O口。作為輸出端口,每個(gè)引腳能驅(qū)動(dòng)8個(gè)TTL負(fù)載,對(duì)端口P0寫(xiě)入“1”時(shí),可以作為高阻抗輸入。在訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也可以提供低8位地址和8位數(shù)據(jù)的復(fù)用總線。此時(shí),P0口內(nèi)部上拉電阻有效。在FlashROM編程時(shí),P0端口接收指令字節(jié);而在校驗(yàn)程序時(shí),則輸出指令字節(jié)。驗(yàn)證時(shí),要求外接上拉電阻。P1端口(P1.0~P1.7,1~8引腳):P1口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口。P1的輸出緩沖器可驅(qū)動(dòng)(吸收或者輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫(xiě)入1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這是可用作輸入口。P1口作輸入口使用時(shí),因?yàn)橛袃?nèi)部上拉電阻,那些被外部拉低的引腳會(huì)輸出一個(gè)電流。此外,P1.0和P1.1還可以作為定時(shí)器/計(jì)數(shù)器2的外部技術(shù)輸入(P1.0/T2)和定時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(P1.1/T2EX),具體參見(jiàn)下表:在對(duì)FlashROM編程和程序校驗(yàn)時(shí),P1接收低8位地址。表4.1P1.0和P1.1引腳復(fù)用功能引腳號(hào)功能特性P1.0T2(定時(shí)器/計(jì)數(shù)器2外部計(jì)數(shù)輸入),時(shí)鐘輸出P1.1T2EX(定時(shí)器/計(jì)數(shù)器2捕獲/重裝觸發(fā)和方向控制)P2端口(P2.0~P2.7,21~28引腳):P2口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O端口。P2的輸出緩沖器可以驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫(xiě)入1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,這時(shí)可用作輸入口。P2作為輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸出一個(gè)電流。在訪問(wèn)外部程序存儲(chǔ)器和16位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行“MOVX@DPTR”指令)時(shí),P2送出高8位地址。在訪問(wèn)8位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行“MOVX@R1”指令)時(shí),P2口引腳上的內(nèi)容(就是專用寄存器(SFR)區(qū)中的P2寄存器的內(nèi)容),在整個(gè)訪問(wèn)期間不會(huì)改變。在對(duì)FlashROM編程和程序校驗(yàn)期間,P2也接收高位地址和一些控制信號(hào)。P3端口(P3.0~P3.7,10~17引腳):P3是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O端口。P3的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流方式)4個(gè)TTL輸入。對(duì)端口寫(xiě)入1時(shí),通過(guò)內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可用作輸入口。P3做輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號(hào)拉低的引腳會(huì)輸入一個(gè)電流。在對(duì)FlashROM編程或程序校驗(yàn)時(shí),P3還接收一些控制信號(hào)。P3口除作為一般I/O口外,還有其他一些復(fù)用功能,如下表所示:表4.2P3口引腳復(fù)用功能引腳號(hào)復(fù)用功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2(外部中斷0)P3.3(外部中斷1)P3.4T0(定時(shí)器0的外部輸入)P3.5T1(定時(shí)器1的外部輸入)P3.6(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)P3.7(外部數(shù)據(jù)存儲(chǔ)器讀選通)RST(9引腳):復(fù)位輸入。當(dāng)輸入連續(xù)兩個(gè)機(jī)器周期以上高電平時(shí)為有效,用來(lái)完成單片機(jī)單片機(jī)的復(fù)位初始化操作??撮T(mén)狗計(jì)時(shí)完成后,RST引腳輸出96個(gè)晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無(wú)效。DISRTO默認(rèn)狀態(tài)下,復(fù)位高電平有效。ALE/(30引腳):地址鎖存控制信號(hào)(ALE)是訪問(wèn)外部程序存儲(chǔ)器時(shí),鎖存低8位地址的輸出脈沖。在Flash編程時(shí),此引腳()也用作編程輸入脈沖。在一般情況下,ALE以晶振六分之一的固定頻率輸出脈沖,可用來(lái)作為外部定時(shí)器或時(shí)鐘使用。然而,特別強(qiáng)調(diào),在每次訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),ALE脈沖將會(huì)跳過(guò)。如果需要,通過(guò)將地址位8EH的SFR的第0位置“1”,ALE操作將無(wú)效。這一位置“1”,ALE僅在執(zhí)行MOVX或MOV指令時(shí)有效。否則,ALE將被微弱拉高。這個(gè)ALE使能標(biāo)志位(地址位8EH的SFR的第0位)的設(shè)置對(duì)微控制器處于外部執(zhí)行模式下無(wú)效。/VPP(31引腳):訪問(wèn)外部程序存儲(chǔ)器控制信號(hào)。為使能從0000H到FFFFH的外部程序存儲(chǔ)器讀取指令,必須接GND。注意加密方式1時(shí),將內(nèi)部鎖定位RESET。為了執(zhí)行內(nèi)部程序指令,應(yīng)該接VCC。在Flash編程期間,也接收12伏VPP電壓。XTAL1(19引腳):振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。XTAL2(18引腳):振蕩器反相放大器的輸入端。4.4電路設(shè)計(jì)4.4.1晶振電路晶振電路由兩個(gè)30pF的電容和一個(gè)12Mhz的晶體振蕩器組成。節(jié)點(diǎn)1與單片機(jī)的XTAL2(18引腳)相連接。節(jié)點(diǎn)2與單片機(jī)的XTAL1(19引腳)相連接。晶振電路4.4.2顯示電路顯示電路是一個(gè)4位共陰極LED數(shù)碼管。單片機(jī)的P1.0-P1.7分別與數(shù)碼管的A、B、C、D、E、F、G、DP相連接。單片機(jī)的P2.0與數(shù)碼管片選段4相連接。4.4.3復(fù)位電路由于音樂(lè)播放器復(fù)位需要由手動(dòng)按鈕來(lái)實(shí)現(xiàn)的,手動(dòng)復(fù)位要人為在復(fù)位輸入端RST上加入高電平(5V),通常采用在RST端和正電源Vcc之間接一個(gè)按鈕。按下按鈕時(shí),則Vcc的+5V電平就會(huì)直接加到RST端。人為的動(dòng)作使按鈕保持接通達(dá)數(shù)十毫秒,既能夠滿足復(fù)位的時(shí)間要求,又能滿足音樂(lè)播放器的外觀設(shè)計(jì)。4.4.4鍵控電路有三個(gè)按鍵:播放/暫停、下一曲、上一曲;4位LED燈顯示器,用來(lái)顯示所選曲目,該顯示器在音樂(lè)播放中關(guān)閉,一曲演奏結(jié)束時(shí),或選曲時(shí)才顯示曲目信息。4.4.5發(fā)聲電路播放設(shè)備的最關(guān)鍵之處在于能夠放出想要聽(tīng)到的音樂(lè),這就涉及到音頻信號(hào)的傳遞與接收的功能實(shí)現(xiàn)和作用發(fā)揮,還是利用單片機(jī)內(nèi)部的定時(shí)裝置產(chǎn)生的不同頻率信號(hào),將信號(hào)的格式進(jìn)行轉(zhuǎn)換然后傳遞到揚(yáng)聲設(shè)備之中,值得注意的是,在發(fā)聲電路之中的信號(hào)傳遞一般會(huì)采用三極管作為載體,它不僅能夠傳遞音頻信號(hào),而且還能夠在傳遞過(guò)程中將音頻的頻率放大,這樣播放出的音樂(lè)音量也會(huì)隨之加大,再利用控制系統(tǒng)來(lái)調(diào)節(jié)音量,以此來(lái)實(shí)現(xiàn)更好的播放效果。但是在這個(gè)過(guò)程中還要控制好電流的電壓,防止輸出的電流流量產(chǎn)生過(guò)高的負(fù)荷作用,使三極管出現(xiàn)燒毀的危險(xiǎn),進(jìn)而波及整個(gè)播放設(shè)備。4.4.6電源電路電源電路采用LM7805集成穩(wěn)壓器作為穩(wěn)壓器件,220V電源整流濾波后送入LM7805穩(wěn)壓,在輸出端接一個(gè)470U和0.1U電容進(jìn)一步濾除紋波,得到5V穩(wěn)壓電源。4.4.7音頻放大電路單片機(jī)實(shí)際上無(wú)法實(shí)現(xiàn)如專業(yè)樂(lè)器的多音色效果音樂(lè),原因是因?yàn)槠錄](méi)有多振幅的諧振頻率,因而,對(duì)于單片機(jī)而言,音樂(lè)來(lái)自于單個(gè)音頻率。在單片機(jī)應(yīng)用系統(tǒng)中音頻放大電路中需要注意音調(diào)和節(jié)拍的變化,就可以區(qū)分音樂(lè)。由于音頻放大這一部分是整個(gè)音樂(lè)播放器硬件電路的關(guān)鍵所在,通過(guò)ATC89C52的I/O口產(chǎn)生一定頻率的脈沖,基于LM386功放電路驅(qū)動(dòng)揚(yáng)聲器發(fā)出不同的音調(diào)繼而演奏樂(lè)曲。音頻發(fā)聲及放大電路原理圖如圖4-7所示。圖4-7音頻發(fā)生及放大電路4.5播放器軟件設(shè)計(jì)4.5.1音調(diào)設(shè)計(jì)音調(diào)主要由聲音的頻率決定,在單片機(jī)定時(shí)中斷系統(tǒng)的信號(hào)放大過(guò)程中,通過(guò)中斷服務(wù)程序完成單片機(jī)I/O口的來(lái)回置高/低電平,以實(shí)現(xiàn)蜂鳴器的發(fā)聲。因此,每個(gè)音符所需時(shí)長(zhǎng)需要計(jì)算,循環(huán)延時(shí)可作為控制一個(gè)音符發(fā)聲的時(shí)長(zhǎng),多次循環(huán)從而完成一首完整的音樂(lè)。改變音調(diào)的頻率分為高、中音和低音,因此,選擇蜂鳴器或揚(yáng)聲器是設(shè)計(jì)的關(guān)鍵。通常情況下,低頻純音的音調(diào)在2000Hz以下的隨響度的增加而下降,高頻純音的音調(diào)在3000Hz以上隨響度的增加而上升。綜上所述,如果單片機(jī)內(nèi)部中斷響應(yīng)時(shí)間為1200s,其定時(shí)器為工作方式1,則振蕩器脈沖是十二分頻信號(hào),且其外接晶振的頻率為六則定時(shí)器的預(yù)置初始值如公式(1)所示。Temp=65535-(N)其中N表示當(dāng)前工作狀態(tài)下的定時(shí)器計(jì)數(shù)值。4.5.2程序流程圖發(fā)聲方法確定之后,程序流程結(jié)果如圖4-8所示。初始化程序堆棧后,初始化音樂(lè)輸出口和按鈕,并根據(jù)當(dāng)前播放歌曲的某個(gè)音符反應(yīng),設(shè)置按鍵,處理上下曲目,直到斷電為止。圖4-8程序流程圖4.5.3音樂(lè)的產(chǎn)生基于不同的音調(diào)和節(jié)拍效果,根據(jù)不同組合頻率,產(chǎn)生的音樂(lè)往往大相徑庭。因而,基于單片機(jī)的定時(shí)/計(jì)數(shù)器TO/T1以獲取不同的方波頻率,需要把不同音階對(duì)應(yīng)的頻率關(guān)系確認(rèn)無(wú)誤,以得到最終音樂(lè)。具體方法如下:基于單片機(jī)內(nèi)部的定時(shí)器,設(shè)置工作計(jì)數(shù)器模式為T(mén)1方式,TH1及TLl的計(jì)數(shù)值以產(chǎn)生不同音階。以P1.0引腳為例,如果需要音頻脈沖,則需算出某一音頻的1/2周期時(shí)間。當(dāng)每次計(jì)時(shí)中斷后單片機(jī)的P1.0引腳開(kāi)始反相,重復(fù)計(jì)時(shí)再反相。最終獲得P1.0引腳的頻率脈沖。其中計(jì)算脈沖與頻率關(guān)系的方法為:(2)式中,N是計(jì)數(shù)值;.fr表示機(jī)器頻率(其頻率為1MHz);.ft是需要的頻率。則對(duì)于假設(shè)情況:當(dāng)頻為523Hz,得到半周期為T(mén)/2=2/523=956s。因此如果計(jì)數(shù)器計(jì)是956s,則每計(jì)數(shù)956次時(shí)P1.0引腳將I/O反相,可得中音DO(523Hz)。根據(jù)式,則計(jì)數(shù)初值的處理結(jié)果如式(3)所示。Temp=65535-N=65535-956=64579=基于式(3)結(jié)果,則DO的低音初始值為T(mén)=65536-500000/262=63628,高音初始值為T(mén)=65536-500000/1046=65058。4.6功能測(cè)試本節(jié)通過(guò)針對(duì)各個(gè)功能點(diǎn)的測(cè)試用例來(lái)進(jìn)行測(cè)試并給出系統(tǒng)的運(yùn)行結(jié)果圖,然后采用主觀評(píng)價(jià)法分析并評(píng)價(jià)系統(tǒng)的運(yùn)行結(jié)果,得出結(jié)論。本次測(cè)試是建立在手機(jī)硬件系統(tǒng)良好的前提下進(jìn)行的。根據(jù)軟件需求對(duì)軟件功能及界面制定相應(yīng)的測(cè)試用例。針對(duì)該款音樂(lè)播放器的功能設(shè)計(jì)測(cè)試用例并得到測(cè)試結(jié)果。測(cè)試的步驟為:進(jìn)行測(cè)試之前制定測(cè)試計(jì)劃。音樂(lè)播放器開(kāi)發(fā)結(jié)束之后啟動(dòng)測(cè)試。執(zhí)行測(cè)試用例并對(duì)缺陷進(jìn)行跟蹤管理。測(cè)試結(jié)束后編寫(xiě)測(cè)試報(bào)告。4.6.1基本播放控制模塊測(cè)試本系統(tǒng)中用戶主要實(shí)現(xiàn)的功能就是基本播放功能,功能主要體現(xiàn)在播放主界面中,用戶可以觸摸控件來(lái)對(duì)播放器進(jìn)行播放控制。根據(jù)需求分析得知本次測(cè)試的主要功能有播放/暫停功能,切換歌曲功能,切換播放模式功能,調(diào)節(jié)進(jìn)度條功能,以及后臺(tái)播放功能。在實(shí)現(xiàn)這些功能的基礎(chǔ)上,所有控件會(huì)隨著用戶的操作更新刷新各個(gè)控件圖標(biāo)。另外當(dāng)切換歌曲時(shí),當(dāng)播放到列表邊界時(shí)會(huì)按當(dāng)前列表循環(huán)進(jìn)行切換。根據(jù)對(duì)基本播放控制模塊的測(cè)試,下面將給出播放器成功啟動(dòng)后各個(gè)功能的測(cè)試結(jié)果,如圖4-9所示。圖4-9基本播放效果圖從圖4-9中可以看出播放器在播放與暫停時(shí),控件圖片會(huì)發(fā)生變化,其中上邊的表示正在播放,用戶可以點(diǎn)擊該控件暫停播放,下面反之。從圖中還可以看出歌曲切換功能的控件,左邊表示切換到上一曲,右邊表示切換到下一曲。圖4.10播放模式以及進(jìn)度條效果圖從圖4.10中可以看到用戶可以點(diǎn)擊左上角的模式切換控件進(jìn)行操作,且在進(jìn)行切換時(shí)播放器會(huì)顯示提示當(dāng)前的播放模式,并改變播放模式圖標(biāo)方便用戶了解當(dāng)前播放模式。從圖中也可以看見(jiàn)播放進(jìn)度條在播放時(shí)可以自行進(jìn)行刷新,并顯示播放時(shí)間,左邊顯示為已經(jīng)播放時(shí)間,右邊顯示剩余播放時(shí)間。4.6.2性能測(cè)試根據(jù)前面章節(jié)中的性能需求分析可知,本系統(tǒng)是手機(jī)預(yù)裝音樂(lè)播放器,需要它的響應(yīng)時(shí)間比一般的播放器響應(yīng)時(shí)間短,且不能超過(guò)5s,否則將出現(xiàn)不良的用戶體驗(yàn),另外要求整個(gè)播放界面簡(jiǎn)潔大方,給用戶以良好的視覺(jué)效果。圖4.11響應(yīng)時(shí)間對(duì)比折線圖圖4.11中上邊的折線表示一般市場(chǎng)音樂(lè)播放器的響應(yīng)時(shí)間,下邊的折線表示本音樂(lè)播放器的響應(yīng)時(shí)間,本次提取的是100次測(cè)試中每十次測(cè)試數(shù)據(jù)的平均數(shù)據(jù)作為一個(gè)數(shù)據(jù)畫(huà)出折線圖并進(jìn)行對(duì)比。從圖中可以看出本次音樂(lè)播放器的響應(yīng)時(shí)間達(dá)到了需求分析的要求并體現(xiàn)了其響應(yīng)迅速的優(yōu)勢(shì)。5結(jié)論目前市場(chǎng)中多媒體播放器品種良莠不齊,而廣大用戶需要的是一款功能專一,操作簡(jiǎn)單,占用手機(jī)內(nèi)存資源較少的音樂(lè)播放器。本文介紹的這款單片機(jī)的播放器主要包括音樂(lè)播放功能,播放列表功能,文件管理功能三個(gè)模塊。作者通過(guò)對(duì)播放器的需求分析,總體設(shè)計(jì)及實(shí)現(xiàn)、系統(tǒng)測(cè)試等方面,闡述了基于STC89C52單片機(jī)的音樂(lè)播放器的實(shí)現(xiàn)。本文完成的工作如下:在分析國(guó)內(nèi)外已有音樂(lè)播放器的基礎(chǔ)上,分析用戶需要一款功能專一,界面清晰簡(jiǎn)單,操作方便,占用手機(jī)資源較少的音樂(lè)播放器。針對(duì)用戶需求分析出音樂(lè)播放器的功能需求,將音樂(lè)播放器分成主要播放模塊,播放列表管理模塊,文件管理模塊。播放模塊主要實(shí)現(xiàn)的播放/暫停、切換播放歌曲,播放模式切換,后臺(tái)播放,調(diào)節(jié)播放進(jìn)度條等功能;播放列表管理模塊主要包括新建播放列表、刪除列表管理、打開(kāi)播放列表以及重命名播放列表等功能;文件管理模塊主要是針對(duì)單個(gè)音樂(lè)文件來(lái)進(jìn)行操作包括查看歌曲信息,刪除歌曲等。根據(jù)以上的需求分析對(duì)音樂(lè)播放器進(jìn)行總體的設(shè)計(jì),并對(duì)各個(gè)模塊進(jìn)行詳細(xì)具體的實(shí)現(xiàn)。最后對(duì)音樂(lè)播放器進(jìn)行功能及性能上的測(cè)試。經(jīng)過(guò)測(cè)試表明該播放器達(dá)到預(yù)期的目標(biāo)。參考文獻(xiàn)郭宏志.Android應(yīng)用開(kāi)發(fā)詳解[M].初版.北京:電子工業(yè)出版社,2010.1-20楊豐盛.Android應(yīng)用開(kāi)發(fā)揭秘[M].初版.北京:機(jī)械工業(yè)出版社,2010.4-5柯元旦,宋銳著.Android程序設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2010.7天天動(dòng)聽(tīng)[EB/OL].百度百科./link?url=-KV9zIGXNJ0REpEHWnvxKndLZeDzb6PQtBngvYNoDroli8aU2sFz5thHLhoA0_WZznsOcH7vaBinfnxFHtUnT_,2013.12多米音樂(lè)[EB/OL].百度百科./link?url=T-PM7KPYF3za3wegQ5m3T2yPtPZdyVmM7YCipGH8xMBH8bXHg7tfApyhQ5puGyTe4li1YnCLY-8XoIK3c5-daq,2013.12PowerAMP[EB/OL].百度百科./link?url=yRQ8733936Cc_J9GdqoLP5tW8tJl9U5aiAb5uYHZhlfNzY1jDKuEXPehfHM9AjzkyCOXXDvff5YGTrnV5MZi0_,2013.12孫曉宇.Android手機(jī)界面管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).北京:北京郵電大學(xué),2009胡偉.Android系統(tǒng)架構(gòu)及其驅(qū)動(dòng)研究.廣州廣播電視大學(xué)學(xué)報(bào),2010,10(4):96-99宋小倩,周東升.基于Android平臺(tái)的應(yīng)用開(kāi)發(fā)研究.軟件導(dǎo)刊,2011,10(2):104-106??档?tīng)?ShaneConder).Android移動(dòng)應(yīng)用開(kāi)發(fā)從入門(mén)到精通[M].初版.北京:人民郵電出版社,2011.158-163DamianosGavalas,DaphneEconomou.DevelopmentPla
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ǔ)設(shè)施建設(shè)項(xiàng)目合同中應(yīng)對(duì)突發(fā)事件情勢(shì)變更的應(yīng)急預(yù)案4篇
- 2025年度廚具電商平臺(tái)入駐協(xié)議范本3篇
- 二零二五年度醇基燃料行業(yè)風(fēng)險(xiǎn)評(píng)估與咨詢合同3篇
- 二零二五版女方離婚協(xié)議中子女探望權(quán)及撫養(yǎng)費(fèi)調(diào)整合同4篇
- 2025版木門(mén)安裝與室內(nèi)外裝飾一體化服務(wù)合同7篇
- 二零二五年度中小企業(yè)信用擔(dān)保合同規(guī)范3篇
- 2025年度企業(yè)債券發(fā)行合同標(biāo)準(zhǔn)文本2篇
- 2025版航空航天零部件租賃與維修服務(wù)合同模板4篇
- 2025年度山林綠化項(xiàng)目承包管理協(xié)議4篇
- 2025年度文化用品店整體轉(zhuǎn)讓及品牌授權(quán)合同
- 我的家鄉(xiāng)瓊海
- (2025)專業(yè)技術(shù)人員繼續(xù)教育公需課題庫(kù)(附含答案)
- 《互聯(lián)網(wǎng)現(xiàn)狀和發(fā)展》課件
- 【MOOC】計(jì)算機(jī)組成原理-電子科技大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 2024年上海健康醫(yī)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)及答案解析
- 2024年湖北省武漢市中考語(yǔ)文適應(yīng)性試卷
- 非新生兒破傷風(fēng)診療規(guī)范(2024年版)解讀
- EDIFIER漫步者S880使用說(shuō)明書(shū)
- 上海市華東師大二附中2025屆高二數(shù)學(xué)第一學(xué)期期末統(tǒng)考試題含解析
- IP授權(quán)合作合同模板
- 大國(guó)重器北斗系統(tǒng)
評(píng)論
0/150
提交評(píng)論