版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
PAGE311內(nèi)容摘要:本課題的主要工作是對(duì)以AT89C51單片機(jī)為基礎(chǔ)搭建的播放器的工作流程和設(shè)計(jì)經(jīng)過進(jìn)行了介紹與說明,之后兩首歌曲的演奏為例子,把演奏過程分為了幾個(gè)模塊,然后通過硬件和軟件分別對(duì)程序進(jìn)行編輯和設(shè)計(jì),具體表現(xiàn)了單片機(jī)在生活中的具體應(yīng)用,音樂在生活中隨處可見,關(guān)于音樂的播放器也在生活中隨處可見,利用單片機(jī)來設(shè)計(jì)一個(gè)音樂播放器,能夠降低生產(chǎn)成本的同時(shí),還可以推進(jìn)單片機(jī)在實(shí)際中的應(yīng)用。關(guān)鍵詞:單片機(jī)MP3音樂
DesignandimplementationofasimpleMP3playerAbstract:ThispaperintroducesthebasicdesignprocessoftheAT89C51MCUMP3playerandworkflowofthebasic,andthentoplaytwosongsasanexample,theperformanceisdividedintoseveralmodules,andthenthehardwareandsoftwaretoeditprogramanddesign,applicationspecificperformanceofSCMinlife,musiciseverywhereinourlives,aboutthemusicplayerisalsocanbeseeneverywhereinlife,todesignamusicplayerusingsinglechipcomputer,canmaketheproductioncostisreduced,theapplicationofSCMinindustrialdevelopmenthasacertainrole.Keywords:SinglechipmicrocomputerMP3Music
目錄前言 2\h01MP3課題研究的意義 01.1MP3播放器的簡介 01.2MP3播放器的組成架構(gòu) 02 MP3的編解碼過程 12.1 MP3的工作原理 12.2 MP3播放器編碼過程 22.2.1 音頻信號(hào)數(shù)字化 22.2.2 音頻采樣 22.2.3 音頻量化 32.2.4 音頻編碼 42.3編碼過程 42.4MP3播放器解碼過程 63MP3播放器的硬件設(shè)計(jì)與實(shí)現(xiàn) PAGEREF_Toc416178715\h83.1系統(tǒng)總體設(shè)計(jì) 83.2總體的電路設(shè)計(jì) 93.3單片機(jī)最小系統(tǒng) 123.4電路電源部分 123.5D/A轉(zhuǎn)換部分 133.6控制部分 154MP3播放器軟件設(shè)計(jì)與實(shí)現(xiàn) 154.1MP3播放器播放功能的設(shè)計(jì) 154.2MP3功能按鈕設(shè)計(jì) 174.3USB通信功能程序設(shè)計(jì) 174.4播放與暫停的子程序設(shè)計(jì) 184.5曲目選擇的子程序設(shè)計(jì) 195 結(jié)論 206 結(jié)束語 21附錄:參考程序 23簡易MP3播放器的設(shè)計(jì)與實(shí)現(xiàn)前言科學(xué)技術(shù)的持續(xù)深入發(fā)展,日新月異,各類產(chǎn)品的出現(xiàn)極大地豐富了當(dāng)代人民的物質(zhì)生活層面,當(dāng)然人們的需求也同樣地有了更高的水平,這就必須要求科學(xué)技術(shù)進(jìn)行不斷的進(jìn)步,對(duì)于學(xué)習(xí)通信的人來說,這更是一個(gè)挑戰(zhàn),必須要有最新,最前沿的科學(xué)技術(shù),才能勝任時(shí)代的進(jìn)步和科學(xué)的發(fā)展。單片機(jī)是我們大學(xué)所接觸的第一類硬件,是我們學(xué)習(xí)更為完善嵌入式技術(shù)的基礎(chǔ),單片機(jī)在我們的生活中可以說是隨處可見,小到手機(jī),平板電腦,大到電視機(jī),家電等。因此,對(duì)單片機(jī)技術(shù)進(jìn)行系統(tǒng)地學(xué)習(xí)與應(yīng)用成為了目前實(shí)用的技術(shù)。現(xiàn)今,AT89C51處理器的外設(shè)資源豐富、性價(jià)比高,許多的嵌入式研發(fā)人員致力于它的開發(fā)與應(yīng)用。以上述內(nèi)容為前提,在本課題的開展過程中對(duì)AT89C51SND1C微處理器提出解碼方案,不僅能夠提升播放品質(zhì)還可以減小硬件費(fèi)用。在本設(shè)計(jì)中,采用了AT89C51系列單片機(jī),將單片機(jī)和C語言技術(shù)結(jié)合起來,從而設(shè)計(jì)出一個(gè)能夠播放幾首歌曲的簡易MP3,開發(fā)過程中,我們可以更進(jìn)一步地應(yīng)用單片機(jī)技術(shù)。1MP3課題研究的意義1.1MP3播放器的簡介30Mips是MP3音頻播放器較為合理的工作速度,但是視頻媒體播放器的工作速度通常為175Mips,因此最為核心的是改善MP3的音質(zhì),提升其工作速度,是目前需要強(qiáng)化的問題之一。作為嵌入式設(shè)備類型之一,市場(chǎng)上的MP3通常都是以閃存式制造的。因?yàn)槿萘渴艿介W存式結(jié)構(gòu)的制約,其存儲(chǔ)空間較小,歌曲數(shù)量不大,并不易于實(shí)現(xiàn)其多樣化的功能。近年來開發(fā)的硬盤式MP3容量大功能豐富,因此更受到消費(fèi)者的青睞。還有一個(gè)因素是在PDA、電視機(jī)頂盒、網(wǎng)絡(luò)通信方面單片機(jī)與嵌入式結(jié)合開發(fā)。本課題所提出的設(shè)計(jì)方案以單片機(jī)為基礎(chǔ)開發(fā)MP3播放器,較為靈活多變?,F(xiàn)階段此設(shè)計(jì)方案已達(dá)完成,經(jīng)過測(cè)試表明該設(shè)計(jì)得到的播放器本與市場(chǎng)上購買的MP3具同相同的功能并且運(yùn)行情況良好。1.2MP3播放器的組成架構(gòu)MP3播放器一般分成3個(gè)部分:CPU、MP3硬件解碼器和存儲(chǔ)器。這當(dāng)中可以集成前兩者得到帶MP3硬件解碼器的CPU;或者集成后兩者得到音頻輸入、D/A轉(zhuǎn)換和硬件解碼。存儲(chǔ)器可以是Flash存儲(chǔ)器或硬盤。借助于MP3的編碼技術(shù)在運(yùn)行過程中能夠獲得以12:1壓縮的有損信號(hào)。功率譜較弱的信號(hào)在壓縮過程中有部分丟失,雖然MP3音樂是有損的,不過其相比于CD原聲并無明顯差異,并不干擾聽音樂的品質(zhì)。聲音文件的長度在MP3中得以縮小,更便于傳輸和儲(chǔ)存文件。MP3的編解碼過程MP3的工作原理功能完備的MP3播放器通常有如下組成:控制鍵、音頻D/A和功放、存儲(chǔ)設(shè)備、中央處理器、顯示界面、主機(jī)通訊端口、解碼器等,其中系統(tǒng)最為關(guān)鍵的組成是解碼器與中央處理器。MCU(單片微處理器)就是此處所謂的中央處理器,即為單片機(jī)。對(duì)于MP3而言它起著控制的地位,也被稱作固件程序??刂芃P3的各個(gè)部件的工作:讀取存儲(chǔ)設(shè)備所含數(shù)據(jù)并傳遞至解碼器;連接主機(jī)時(shí)可以相互交換主機(jī)與其數(shù)據(jù);接收控制按鍵的操作;顯示系統(tǒng)運(yùn)行狀態(tài)等任務(wù)。芯片中有一硬件模塊稱為解碼器,即硬件解碼(部分MP3配置高速中央處理器,可進(jìn)行軟件解碼)。它能夠解碼格式各異的MP3數(shù)據(jù)流,同時(shí)以I2S或PCM格式向外部傳遞數(shù)字音頻信號(hào)。作為MP3播放機(jī)重要組件之一,一般的MP3存儲(chǔ)設(shè)備都選取硬盤或者半導(dǎo)體存儲(chǔ)器進(jìn)行搭建。它可對(duì)來自于主機(jī)通訊端口的數(shù)據(jù)進(jìn)行接收,回放過程中對(duì)存儲(chǔ)器中數(shù)據(jù)進(jìn)行讀取并傳遞至解碼器。存儲(chǔ)數(shù)據(jù)過程中其格式尤為關(guān)鍵,MP3和PC一樣,都以文件形式進(jìn)行磁盤數(shù)據(jù)的管理。使用頻率最高的做法就是對(duì)存儲(chǔ)器使用PC的文件系統(tǒng)開展管理,如微軟工作環(huán)境中使用的FAT文件系統(tǒng),上目前使用最普遍的一類。播放機(jī)要完成的任務(wù)就是FAT文件系統(tǒng)的實(shí)現(xiàn),即依據(jù)文件名訪問FAT磁盤同時(shí)讀取所含數(shù)據(jù)信息。PC機(jī)和MP3播放機(jī)通過主機(jī)通訊端口進(jìn)行數(shù)據(jù)交換,通過該端口PC機(jī)可以完成對(duì)存儲(chǔ)設(shè)備中文件的復(fù)制、刪除、拷貝等操作。USB總線技術(shù)當(dāng)今應(yīng)用廣泛,而且兼容于微軟定義的大容量移動(dòng)存儲(chǔ)協(xié)議規(guī)范,MP3播放機(jī)可以視作主機(jī)的移動(dòng)存儲(chǔ)設(shè)備之一。此處需要遵循的規(guī)范有:SCSI協(xié)議、大容量移動(dòng)存儲(chǔ)器規(guī)范和USB通信協(xié)議。數(shù)字音頻信號(hào)可通過音頻DAC變?yōu)槟M音頻信號(hào),最終實(shí)現(xiàn)模擬音響設(shè)備完成播放。此處對(duì)數(shù)字音頻信號(hào)進(jìn)行簡要的說明。相對(duì)于模擬信號(hào)才有數(shù)字信號(hào)的說法。我們都了解聲音是一種波,人耳朵可以分辨20Hz至20kHz頻率間的波,并將其定義為聲波。波使用模擬信號(hào)表示時(shí)表現(xiàn)為連續(xù)函數(shù),其機(jī)理是將振幅與頻率不同的波疊加形成。量化后的模擬信號(hào)稱為數(shù)字信號(hào),經(jīng)典的方法是取相同的間隔對(duì)時(shí)間坐標(biāo)進(jìn)行采樣,并量化振幅。采樣頻率為單位時(shí)間內(nèi)的采樣次數(shù)。如此處理過程后可將一段聲波轉(zhuǎn)換成一串?dāng)?shù)值,各個(gè)數(shù)值相應(yīng)抽樣點(diǎn)的振幅值一一對(duì)應(yīng),將此數(shù)字按順序進(jìn)行排列即可形成數(shù)字音頻信號(hào)。此即為模擬—數(shù)字轉(zhuǎn)換的流程,數(shù)字—模擬轉(zhuǎn)換流程與此相反,按采樣時(shí)候的頻率將連續(xù)的數(shù)字轉(zhuǎn)換成對(duì)應(yīng)的電壓。解碼后得到的數(shù)據(jù)為數(shù)字音頻信號(hào),只有在DAC轉(zhuǎn)換器的作用下實(shí)現(xiàn)再次轉(zhuǎn)換才能夠?yàn)楣Ψ潘邮?,并發(fā)出人耳朵可聽到聲音。MP3播放器編碼過程音頻信號(hào)數(shù)字化音頻信號(hào)數(shù)字化:把模擬信號(hào)轉(zhuǎn)變成數(shù)字信號(hào),由連續(xù)性變?yōu)殡x散的過程即為信號(hào)的數(shù)字化,如圖2.2-1所示,通常的步驟包括采樣、量化以及編碼。采樣的含義是將原有的時(shí)間上連續(xù)的信號(hào)使用相隔特定時(shí)長的信號(hào)樣本值序列進(jìn)行替代:也就是將原有時(shí)間上變化過程連續(xù)的幅度值使用有限個(gè)幅度進(jìn)行近似的代替,原有的連續(xù)幅度的模擬信號(hào)變?yōu)榫哂袝r(shí)間間隔、有限個(gè)幅度的離散值;編碼的含義是將量化得到的離散值通過特定的規(guī)律使用二進(jìn)制數(shù)碼編譯。如上所述的數(shù)字化還被稱作脈沖編碼調(diào)制,A/D轉(zhuǎn)換器具有此功能。模擬音頻信號(hào)模擬音頻信號(hào)低通濾波器編碼數(shù)字流采樣量化圖2.2.1-1系統(tǒng)的總體電路設(shè)計(jì)圖當(dāng)傳輸、記錄以及處理數(shù)字音頻信號(hào)后,若需要再次重現(xiàn)聲音時(shí),需要將其再次轉(zhuǎn)化成連續(xù)的模擬信號(hào)。D/A轉(zhuǎn)換可以實(shí)現(xiàn)此過程。量化位數(shù)和采樣頻率可影響數(shù)字音頻的質(zhì)量。越多的量化位數(shù)和越高的采樣頻率可以促使形成質(zhì)量越高的數(shù)字化音頻。音頻采樣在時(shí)間上變化連續(xù)的模擬信號(hào)中提取幾個(gè)較人價(jià)值的樣本值即為采樣,并用于指代此模擬信號(hào)。若以函數(shù)表示幅值和時(shí)間上皆連續(xù)的模擬音頻信號(hào),采樣流程即為離散化此函數(shù)的過程。通常采樣的時(shí)間間隔的選取都是均勻的。假設(shè)此間隔是T,則用表示取樣后的信號(hào),n為自然數(shù)。結(jié)合奈奎斯特采樣定理:若要把采樣值序列變?yōu)樽畛醯牟ㄐ危蓸宇l率必須不小于2倍的原始信號(hào)最高頻率。設(shè)連續(xù)信號(hào)的頻譜,在間隔時(shí)間T條件下形成離散信號(hào),若符合,當(dāng)中表示截止頻率,也就是說當(dāng),如公式(2.2.2-1)所示,可以依據(jù)來確定:(2.2.2-1)所以,如公式(2.2.2-2)所示,頻譜可由離散信號(hào)完全確定:(2.2.2-2)若以1/2T為采樣頻率,即,奈奎斯特采樣頻率即為。音頻量化模擬信號(hào)通過采樣形成了時(shí)間上離散的樣值序列,不過各個(gè)樣值幅度模擬量依舊是連續(xù)的,為了最終可以用數(shù)碼來表示其幅值,還需要施加離散化處理將其變換成個(gè)數(shù)有限的離散值。在幅度上將采樣值進(jìn)一步進(jìn)行離散化即為量化處理。通過劃分,全部采樣值可能產(chǎn)生的區(qū)域被分為有限多個(gè)量化階的集合,賦予某個(gè)量化階內(nèi)的所有采樣值一個(gè)統(tǒng)一的數(shù)值,也就是量化值。一般使用二進(jìn)制表示此量化值,2N個(gè)不同的量化電平可使用N位二進(jìn)制碼字實(shí)現(xiàn)。為存儲(chǔ)數(shù)字音頻信號(hào)的比特率,每個(gè)采樣值的比特?cái)?shù)為N,采樣率為。采樣值的經(jīng)過量化二進(jìn)制的位數(shù),可用于不同采樣值精度的反映,即采樣值的8個(gè)等級(jí)可以3位表示,256個(gè)等級(jí)可以8位表示,音頻信號(hào)最大振幅的1/256是它的精度。量化值隨著增多的量化位數(shù)而提升,也就是擁有越高的凈度,不過也對(duì)應(yīng)需要更大的存儲(chǔ)空間。依據(jù)上述公式,于確定2s的條件下,若要將比特率I降低,僅可通過減少N值來進(jìn)行。量化的精度將隨著N值的降低而變低,但N值過大又會(huì)需要更大的信息存儲(chǔ)空間。所以這就需要我們進(jìn)行適宜的N值的選取[16]。采樣時(shí)的量化間隔若相同即為線性量化,也稱作均勻量化。對(duì)輸入信號(hào)使用均勻量化時(shí),無論輸入信號(hào)的大小都一并使用統(tǒng)一的量化間隔。所以,若要確保較高的精度需要,同時(shí)也適應(yīng)于幅度大的輸入信號(hào),就需要增大采樣樣本的位數(shù)。還有一種量化方法稱為非均勻量化,其思路是應(yīng)用小量化間隔于小的輸入信號(hào),大量化間隔于大的輸入信號(hào),如此一來就能以較少的位數(shù)表示而又不失精度。這當(dāng)中定義了兩類關(guān)系于量化輸出數(shù)據(jù)和采樣輸入信號(hào)幅度之間,其一是A律壓縮算法,另一是u律壓縮算法。量化獲得的數(shù)據(jù)因?yàn)槭褂玫姆椒ú煌兴町?。所以量化也是進(jìn)行數(shù)據(jù)壓縮的一類方法。音頻編碼經(jīng)過采樣與量化后還未能得到完全的數(shù)字信號(hào),這里不需要進(jìn)行轉(zhuǎn)化,也就是最后的編碼過程。二進(jìn)制編碼是最為常見的編碼方式。詳細(xì)地說就將量化后的樣值以n比特的二進(jìn)制編碼表示,一個(gè)二進(jìn)制數(shù)對(duì)應(yīng)某一量化電平,之后通過排列獲得一個(gè)二值脈沖串構(gòu)成的數(shù)字信息流。使用此方法可以得到與量化比特?cái)?shù)和采樣頻率相同值的二值脈沖的頻率,也就是數(shù)字信號(hào)的數(shù)碼率。數(shù)碼率隨著量化比特?cái)?shù)和采樣頻率的提高而增大,對(duì)應(yīng)需要更寬的傳輸寬帶。音頻編碼方法一般有混合編碼、參數(shù)編碼和波形編碼三種。波形編碼是盡可能地維持穩(wěn)定的輸入波形,壓縮比不高,其構(gòu)建形成的語音信號(hào)大致相同于原有的語音信號(hào)波形;參數(shù)編碼則需要使構(gòu)建的信號(hào)相同于原有輸入語音,不過其有不同的波形,此類編碼方法的基礎(chǔ)建立于語音信號(hào)生成的數(shù)學(xué)模型,有較高的壓縮比;綜合了高壓縮效率的參數(shù)編碼和高質(zhì)量潛力的波形編碼得到了混合編碼,此方法是現(xiàn)今低碼率編碼的趨勢(shì)。2.3編碼過程MP3文件類似于電影膠片,由大量長度各異的幀一個(gè)連著一個(gè)構(gòu)成。各個(gè)幀之前都包含一個(gè)頭信息,這當(dāng)中還含有部分后繼數(shù)據(jù)的額外數(shù)據(jù)信息。在某些編碼中,這些幀可以互相影響。例如,下一幀無多余空間而上一幀有,通過組成即能形成優(yōu)化后的結(jié)果。一些額外的信息通常都會(huì)在MP3文件的結(jié)尾處或開關(guān)處存儲(chǔ),如流派、錄制時(shí)間、專輯名稱、歌曲、歌手等信息。它們被稱作“ID3”數(shù)據(jù),通過無損和有損兩種壓縮技術(shù)MP3可獲得較為理想的壓縮比。第一,人類耳朵并不能識(shí)別的波段可以在壓縮過程時(shí)舍棄,之后針對(duì)冗余編碼作更深層次的壓縮。不過,也正因?yàn)閴嚎s第一部分時(shí)作了足夠的工作,復(fù)雜性較強(qiáng),此處將加以更深入的考慮。信號(hào)源在MP3編碼工具作用下形成各種數(shù)學(xué)模板,同時(shí)比較分析于其存儲(chǔ)的心理聲學(xué)模板。它就可以舍棄絕大多數(shù)無法匹配的數(shù)據(jù)。MP3編碼過程可以分成幾個(gè)步驟:第一步,分解信號(hào)獲得各個(gè)持續(xù)時(shí)間低于1秒的幀的組建片。這和電影中的幀很類似。它的“光譜能量分布”已經(jīng)取決于分析信號(hào),換而言之,尋找比特流于整個(gè)可聽頻率的光譜范圍的分布情況,以此獲得最佳音頻編碼。通過輕微的變換,由于不同部分的頻率光譜應(yīng)用統(tǒng)一的算法,編碼過程較為高效,該步驟分解信號(hào)形成子帶,為獲得最佳效果可以獨(dú)立處理子帶。再者,由于每一幀可以分配的比特最大值取決于數(shù)據(jù)傳輸率,因此應(yīng)予以重視。例如,若數(shù)據(jù)傳輸率為128kbit/s,若不用變比特率方法,否則存在確定的每一幀能夠分配的數(shù)據(jù)上限。該過程將決定最后要舍棄多少數(shù)據(jù)以及能夠儲(chǔ)存的數(shù)據(jù)。在人類心理聲學(xué)數(shù)學(xué)模板上分布各幀的頻率并作對(duì)比,依據(jù)對(duì)比結(jié)果即可知道,哪部分頻率分配較少的bit或能夠舍棄,哪部分的頻率需要進(jìn)行重點(diǎn)表現(xiàn)。第四點(diǎn),取樣的冗余信息在Huffman編碼處理過程后得以去除。Huffman編碼的額外壓縮比僅依靠傳統(tǒng)的壓縮方式獲得,與心理聲學(xué)模型無關(guān)。因此,讀者可以看到,整個(gè)MP3編碼過程是:第一步,對(duì)于部分無用數(shù)據(jù)使用心理聲學(xué)模板進(jìn)行選擇性舍棄,之后消除冗余,壓縮余下的數(shù)據(jù)。第二步,剩余的數(shù)據(jù)的存儲(chǔ)使用更小的空間,并不舍棄數(shù)據(jù)。為組裝得到合適的比特流,集合一定數(shù)量的幀,并將頭信息添加于每個(gè)數(shù)據(jù)幀前,頭信息的主要內(nèi)容為幀的指令。于上述流程中,在編碼工作開始前還必須考慮相關(guān)預(yù)先設(shè)定的因素。而且,前一幀和后一幀都很大程度上地影響著每個(gè)單獨(dú)的幀的編碼算法。完整的過程中含有一定的同步,并不需要嚴(yán)格地以上述步驟執(zhí)行。以幀的形式來劃分?jǐn)?shù)據(jù),1152個(gè)樣本的數(shù)據(jù)組成一幀,MP3的編碼器輸入由32個(gè)子帶分別輸出,將12個(gè)樣本分成一組,通過時(shí)間-頻率變換每組樣本都要經(jīng)歷一次位分配同時(shí)記錄一個(gè)比例因子。解碼器借助于位分配信息獲樣本的位表示數(shù)據(jù),解碼器由6位比例因子表示,被量化的子帶值,可通過量化器的每個(gè)輸出樣本值和6位的比例因子相乘而恢復(fù)。量化器的量化范圍在比例因子存在下得以高度利用,經(jīng)過配合位分配的比例因子,能夠顯示的動(dòng)態(tài)范圍不再局限于120dB的樣本。MP3使用了從ASPEC導(dǎo)出的算法。正交鏡像濾波在MP3的濾波器組中得以應(yīng)用,之后為了補(bǔ)償正交鏡像濾波的不足,還引入了改進(jìn)離散余弦變換MDCT。為獲得更高的頻域分辨率,子帶的輸出將被MDCT作更深層次的細(xì)分。多相濾波器組導(dǎo)致的混迭效果因?yàn)榧?xì)化了子帶后可以被消除。MP3編碼器的詳細(xì)框圖如圖所示:分析濾波器組分析濾波器組比例器和量化器哈夫曼編碼掩蔽域值邊信號(hào)編碼器FFTMDCT動(dòng)態(tài)加窗逆MDCT動(dòng)態(tài)加窗合成濾波器組逆比例器和量化器哈夫曼解碼器邊信號(hào)解碼器MCUMCU數(shù)字通信圖2.3-1MP3編碼器和解碼器的結(jié)構(gòu)MP3指定了兩種MDCT的塊長:短塊擁有6個(gè)樣本的塊長,長塊擁有18個(gè)樣本的塊長,并存在一半的重疊于相鄰變換窗口間。跳變的聲音信號(hào)在短塊下能夠形成較好的時(shí)域分辨率,而平穩(wěn)的聲音信號(hào)在長塊下能夠形成較好的頻域分辨率。3個(gè)短塊在短塊模式下可替代一個(gè)長塊,長塊的的1/3剛好為短塊的長,因此塊長并不影響MDCT的樣本數(shù)。MDCT能夠針對(duì)特定的幀聲音信號(hào),使用全部的短塊或者長塊,或者兩者搭配結(jié)合。對(duì)低頻的2個(gè)子帶MDCT在混合塊長模式下應(yīng)用長塊,這是由于音質(zhì)受到低頻區(qū)的頻域分辨率較大的作用,不過剩下的30個(gè)子帶應(yīng)用短塊。如此一來,一方面可以保存高頻域的時(shí)域分辨率,同時(shí)還可以確保低頻區(qū)的頻域分辨率。短塊和長塊間切換時(shí),通常都以一個(gè)短轉(zhuǎn)長或者長轉(zhuǎn)短的特殊數(shù)據(jù)窗口來實(shí)現(xiàn)。為了保證音質(zhì)的同時(shí)提升壓縮比,MP3不僅應(yīng)用了MDCT,同時(shí)還采納了相關(guān)的優(yōu)化方法。即使MP3帶來了大量較為繁雜的概念,不過在計(jì)算量層次上與MP2相差無幾。主要在解碼器所示儲(chǔ)存空間和編碼器的復(fù)雜程度上有所增強(qiáng)。2.4MP3播放器解碼過程MP3系統(tǒng)是一個(gè)整體,解碼部分是其核心組成。不過,一般的使用者都不需要制造而是進(jìn)行文件的播放,因此這里將對(duì)解碼過程進(jìn)行重點(diǎn)講述。對(duì)于人類心理聲學(xué)理論解碼器無需利用或者儲(chǔ)存,同時(shí)也無需分配比特。MP3播放器只對(duì)頻譜分布的數(shù)據(jù)幀和比特流的頭,還有和它們有相同存儲(chǔ)位置的邊信息進(jìn)行重點(diǎn)檢查,之后對(duì)上述信息進(jìn)行重建形成音頻信號(hào)?;蛘呖梢赃@樣說,播放器的本質(zhì)是聲卡、播放列表和MP3文件的接口,通過包裝形成了精簡的解碼MP3比特流格式的規(guī)則。效率方面MP3解碼器存在較大的差異,同時(shí)也有較大不同的解碼后聲音的質(zhì)量,于早先的數(shù)年時(shí)間內(nèi),大多數(shù)研究開發(fā)工作者和使用者都忽略了這些差異對(duì)計(jì)算機(jī)硬件的消耗,解碼器的運(yùn)行是要占據(jù)相當(dāng)一部分內(nèi)存資源的。若操作系統(tǒng)的微線程特征較差就可以看到此顯著的現(xiàn)象,若硬件配置適宜,MP3的中斷的困擾在大多數(shù)情況下都能得以消除。相比于別的類型的解碼器,它可能占據(jù)了更多的CPU時(shí)間,不過它們之間的不同以效率來衡量時(shí)并不比其它因素條件明顯。選擇MP3播放器將決定外觀、音頻質(zhì)量、可擴(kuò)展性以及成本等因素。整個(gè)解碼過程的流程圖如圖2.4-1所示,它對(duì)應(yīng)解碼器。同步并讀取幀頭同步并讀取幀頭解碼邊信息解碼比例系數(shù)霍夫曼解碼轉(zhuǎn)化為PCM采樣逆離散余弦變化刪除偽信號(hào)重新量化圖2.4-1MP3編碼器和解碼器的結(jié)構(gòu)本章的主要內(nèi)容是對(duì)MP3的編解碼過程進(jìn)行了介紹。MP3播放器的編碼過程包括:音頻編碼、量化、采樣和信號(hào)數(shù)字化。模擬信號(hào)經(jīng)由編碼器處理得到數(shù)字信號(hào)并進(jìn)行傳遞。作為編碼的相反步驟,解碼的流程是依據(jù)編碼譜線成分進(jìn)行逆變換和反量化,獲取聲音信號(hào)。解碼MP3的類型包括:PCM輸出,逆離散余弦變化,頻譜重排列,逆量化處理,比特流分析,子帶合成,抗鋸齒處理,立體聲處理,霍夫曼編碼。3MP3播放器的硬件設(shè)計(jì)與實(shí)現(xiàn)3.1系統(tǒng)總體設(shè)計(jì)經(jīng)過本課題的設(shè)計(jì)內(nèi)容,可較為容易地實(shí)現(xiàn)在本系統(tǒng)的存儲(chǔ)器Flash中輸入外界的MP3格式的音樂文件。依據(jù)圖3.1-1展示內(nèi)容可以發(fā)現(xiàn)此系統(tǒng)設(shè)計(jì)的硬件設(shè)備主要有:主要在下載固件和傳輸MP3文件時(shí)使用的USB接口的連接和主芯片;主要在控制和選擇音樂時(shí)使用的LCD以及按鍵和主芯片的連接設(shè)計(jì),借助于顯示屏幕用戶可得知播放器的進(jìn)程程息;D/A轉(zhuǎn)換器與主芯片之間,它可以實(shí)現(xiàn)解碼系統(tǒng)得到的數(shù)字信號(hào)向模擬信號(hào)間的轉(zhuǎn)換,后者可為人所接聽,該部分的任務(wù)有連接反饋信號(hào)、數(shù)據(jù)信號(hào)以及時(shí)鐘信號(hào);電源轉(zhuǎn)換部分,設(shè)計(jì)系統(tǒng)正常使用的電源是3.3V,為了提供穩(wěn)定的電源,無論是電池還是USB接口都需添加DC-DC部分進(jìn)行轉(zhuǎn)換;設(shè)計(jì)存儲(chǔ)系統(tǒng)以及播放系統(tǒng)的切換電路。LCDLCD顯示器Keyboard(操作按鍵)MCU(AT89C51SND1C)MP3解碼器(AT89C51SND1C芯片內(nèi)部集成)D/A轉(zhuǎn)換器功放音頻輸出通信接口(USB1.1)圖3.1-1系統(tǒng)的硬件構(gòu)架如圖3.1-2所示為MP3工作原理流程圖:讀取存儲(chǔ)器上的信號(hào)讀取存儲(chǔ)器上的信號(hào)解碼器對(duì)信號(hào)進(jìn)行解碼通過D/A轉(zhuǎn)換器將解碼出的數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào)把轉(zhuǎn)換后的模擬音頻放大低通濾波后到音頻輸出圖3.1-2工作原理流程圖由于絕大部分的硬件都可以由數(shù)字編程控制,在硬件結(jié)構(gòu)上MP3播放器的軟件與其相互對(duì)應(yīng),也就說配置專用的軟件代碼給各個(gè)部分的硬件。播放器第一步先對(duì)存儲(chǔ)器的相關(guān)信號(hào)進(jìn)行讀取,之后通過解碼器進(jìn)行分析,通過D/A轉(zhuǎn)換器可以把解碼產(chǎn)生的數(shù)字信號(hào)再次恢復(fù)為模擬信號(hào),再放大轉(zhuǎn)換獲得的模擬音頻,最后施加低通濾波后即可輸出。3.2總體的電路設(shè)計(jì)本設(shè)計(jì)使用ATMEL生產(chǎn)的單芯片數(shù)字音頻AT89C51SND1C作為主芯片,其特征有集成度高、運(yùn)算速度快、2.5~3.3V低電壓、成本小、功能齊全、80mW低功耗等。其特點(diǎn)如下:基于8位C51MCU核;將獨(dú)立的MP3解碼器內(nèi)置于其中,同時(shí)對(duì)16,22.05,24,32,44.1,48kHz采樣頻率都支持,可以操作控制左右聲道獨(dú)立的音量,支持“MPEG幀同步”和“CRC錯(cuò)誤”指示、輔助數(shù)據(jù)輸出、重低環(huán)繞聲效果、高音均衡控制、中音和重低音;有44通用I/O口的嵌入式C51NandFlash,SSFDC,I2S,SPI和IDE等,對(duì)于各類的Flash/CD/HDD播放器可有許多擴(kuò)展功能接口;其音頻輸出接口對(duì)市場(chǎng)上在售的各類D/A轉(zhuǎn)換器都具有較高的相容性,無論是I2S格式和PCM格式都可以兼容;內(nèi)置2304BRAM;配置4KB引導(dǎo)閃存和64KBFlash程序空間;編譯系統(tǒng)時(shí)將經(jīng)過UART,USB接口進(jìn)行;USB1.1控制器,“Fullspeed”數(shù)據(jù)傳輸;搭配了鎖相環(huán),具備USB時(shí)鐘和MP3音頻時(shí)鐘的功能;兼容MMC卡接口、AtmelDataFlashSPI接口、硬盤、接口;8kHz,10位A/D轉(zhuǎn)換器,含有軟監(jiān)控的錄音和監(jiān)視電池電壓;簡化后的AT89C51SNDIC可以概括成如下組成:USB+MP3解碼器+64K80C51,MP3播放系統(tǒng)的設(shè)計(jì)基于此系統(tǒng)進(jìn)行時(shí)將具有相當(dāng)?shù)膬?yōu)勢(shì):其中包括省去了系統(tǒng)編程中使用高價(jià)的仿真器,極大地縮小了開支費(fèi)用;用戶在內(nèi)置2304B的RAM的幫助下可以實(shí)現(xiàn)更為豐富的功能。AT89C51SND1內(nèi)部主要資源如圖3.2-1所示。圖3.2-1AT89C51SND1C內(nèi)部主要資源還有就是由于將大量的接口集成于芯片中,因此系統(tǒng)要求的實(shí)現(xiàn)并不需要過多的外圍器件如存儲(chǔ)器、音頻D/A轉(zhuǎn)換器和DC-DC即可完成預(yù)期的功能,如此所得的系統(tǒng)更加節(jié)省系統(tǒng)空間,這樣的做法更符合當(dāng)今設(shè)計(jì)系統(tǒng)的功能豐富但空間緊湊的理念。此芯片使用TQFP80封裝,80只引腳,說明四邊各20引腳的貼片封裝。圖3-4為AT89C51SND1的引腳定義。要再三仔細(xì)考量功能重疊的引腳。本課題未能實(shí)現(xiàn)單片機(jī)所提供了所有功能,已經(jīng)使用擴(kuò)展槽將MMC和IO端口等部分沒有占用的專用接口向外引出,可于其它電路中擴(kuò)展應(yīng)用。管腳說明:·IO端口P1-P3和8051功能相同。P1端口第二功能有KIN3:0SCLSDAP4具有8-bit內(nèi)部上拉IO.第二功能MISOMOSISCKSSP5具有4-bit內(nèi)部上拉IO.時(shí)鐘信號(hào)管腳·X1I輸入芯片上反向振蕩放大器應(yīng)用內(nèi)部振蕩器,在此管腳處連接晶振/諧振器電路。若引入應(yīng)用外部振蕩器,則在此管腳處連接上其輸出。X1是內(nèi)部的時(shí)間的時(shí)鐘脈沖源?!2O輸出片上振蕩器反相放大器應(yīng)用內(nèi)部振蕩器,在此管腳處連接晶振/諧振器電路。如果外部振蕩器使用,給X2的懸空?!ILTIPLL的低通濾波器輸入FILT員工接收PLL的低通濾波器的RC網(wǎng)絡(luò)。定時(shí)器信號(hào)說明:·INT0若選定由GATE0外部運(yùn)行控制TCON中的位寄存器,此時(shí)INT0的服務(wù)為定時(shí)器0。TCON寄存器里的IE0位受到INT0的輸入控制,If位IE0被INT0低電平觸發(fā)?!NT1I若由GATE1TCON寄存器中的位處于外部運(yùn)行控制時(shí)INT1的作為定時(shí)器1。INT1的輸入控制TCON寄存器里的IE1位.If(IT1=1)位IE1被INT1低電平.If(IT1=0)位IE1被INT1低電平觸發(fā).·T0IP3.4T0代引腳下降沿在定時(shí)器0以計(jì)數(shù)器工作時(shí)將遞增計(jì)數(shù)?!1IP3.5引腳上的下降沿在定時(shí)器1以計(jì)數(shù)T1工作時(shí)將遞增計(jì)數(shù)。圖3.2-2AT89C51SND1C引腳圖3.3單片機(jī)最小系統(tǒng)搭配上相應(yīng)的外部器件,單片機(jī)芯片就可以形成一個(gè)單片機(jī)最小系統(tǒng)。單片機(jī)的通信功能、擴(kuò)展作用都較為強(qiáng)大,對(duì)于應(yīng)用系統(tǒng)預(yù)期的規(guī)模它能夠快速有效地進(jìn)行擴(kuò)展實(shí)現(xiàn)。若使用的MCS-51系列單片機(jī),由于其自身帶有EPROM或ROM,一個(gè)單片機(jī)最小系統(tǒng)僅由一個(gè)芯片僅可建立。主機(jī)選取為AT89C51單片機(jī),它具有一個(gè)串行接口,4個(gè)并行接口,5個(gè)中斷源,2個(gè)16位計(jì)數(shù)器,片外ROM尋址范圍達(dá)64K,128字節(jié)片內(nèi)RAM以及4K片內(nèi)ROM。設(shè)計(jì)系統(tǒng)的需求在開發(fā)簡易自動(dòng)樂曲播放器中使用單片機(jī)最小系統(tǒng)已經(jīng)足夠,并且對(duì)單片機(jī)最小系統(tǒng)的的電路和晶振都需要進(jìn)行設(shè)計(jì)。3.4電路電源部分播放器的一個(gè)關(guān)鍵組成部件之一即為電源,電源部分的電路如圖3.4-1所示,作為一類壓差較低的線性穩(wěn)壓器,AS11171A的輸出電流下,其典型的輸出輸入差是1.2V。不僅能夠供給可調(diào)端輸出版本還有一系列的穩(wěn)定電壓版本,此版本的輸出電壓區(qū)間為1.25V~13.8V圖3.4-1電源電路圖為了保障電源系統(tǒng)和芯片穩(wěn)定條件下工作,AS1117提供實(shí)用性較高的過熱保護(hù)和過流保護(hù)功能。并且引入前沿的修正技術(shù)于產(chǎn)品的生產(chǎn)中,最終得到產(chǎn)呂的輸出電壓與參考精度的偏差不大于1%。AS1117的系統(tǒng)框圖如圖3-6所示:圖3.4-1AS11117系統(tǒng)框圖3.5D/A轉(zhuǎn)換部分通過主芯片內(nèi)部解碼后WMA以及MP3類型的音樂文件轉(zhuǎn)化為數(shù)字信號(hào),但人們可以識(shí)別的是模擬信號(hào),因此在系統(tǒng)中加入CS4331模塊。將數(shù)據(jù)從Flash中讀取后,AT89C51SND1C通過內(nèi)部解碼的方法把MP3類型的音樂轉(zhuǎn)化為二進(jìn)制類型的數(shù)據(jù),這些數(shù)據(jù)在D/A轉(zhuǎn)換器CS4331的作用下可以完成預(yù)期的數(shù)模轉(zhuǎn)換,從而向外界輸出人們可以聽到的聲音。音頻輸出接口已經(jīng)事先裝配于主芯片AT89C51SND1C中,它對(duì)大部分格式如I2S格式和PCM格式的音頻數(shù)據(jù)流都保持兼容,此接口可以連接絕多數(shù)的普遍適用音頻D/A轉(zhuǎn)換器。在信噪比的降低,音頻質(zhì)量的優(yōu)化方面CS4331取得了較好的效果。另外,MP3軟件解碼器也搭載于AT89C51SND1C內(nèi)部,系統(tǒng)完成功能無需添加其它解碼器。通過D/A轉(zhuǎn)換作用解碼得到的數(shù)字信號(hào)又再次變成模擬音頻。圖3.5-1為D/A轉(zhuǎn)換電路圖:圖3.5-1D/A轉(zhuǎn)換電路圖對(duì)于音頻信號(hào)在MP3播放器中其數(shù)字/模擬轉(zhuǎn)換功能都由音頻DA芯片實(shí)現(xiàn),人們的音樂體驗(yàn)和收聽質(zhì)量都會(huì)受到其直接作用。由于CS4331芯片無引腳因此對(duì)軟件沒有其它要求。如下圖所示為CS4331的內(nèi)部框圖。位流時(shí)鐘為SCLK,位流數(shù)據(jù)輸入為SDATA,聲道選擇時(shí)鐘為LRCK,采樣頻率就是它的頻率。MCLK則是DAC電路所需的主時(shí)鐘。圖為3.5-2CS4331芯片內(nèi)部結(jié)構(gòu)圖:圖3.5-2CS4331芯片內(nèi)部結(jié)構(gòu)3.6控制部分通過按鍵可以完成播控系統(tǒng)的相關(guān)設(shè)定與操作,按鍵輸入口AT89C51SND1C一共有四個(gè),進(jìn)行USB連接前需要將DFU跳線短接,使BootLoader運(yùn)行,從而開始下載固件;若在USB連接前操作了FORMAT,U盤可被格式化;連接USB時(shí),若未進(jìn)行按鍵操作,即可激活U盤模式。以電池作為電源時(shí),若不進(jìn)行任何的按鍵操作,則激活MP3功能。MP3鍵盤由4個(gè)鍵組成,分別為Play/Pause鍵、Previous鍵、Next鍵和Func鍵:Func,功能切換;Next,向后;Previous,向前;Play/Pause,播放/暫停。用戶可以隨意地結(jié)合自己的思想在播放音樂過程中控制文件的暫停與播放。LCD1602可以顯示設(shè)置信息以及操作狀態(tài)。為了將圖形與漢字成功顯示,將液晶顯示應(yīng)用于LCD中。全彩色顯示易于實(shí)現(xiàn)、大規(guī)模集成電路直接驅(qū)動(dòng)中適用、厚度薄等是液晶顯示的特征,也可以滿足MP3播放器的功能需要。鍵盤控制電路如圖3.6-1所示。LCD顯示電路如圖3.6-2所示。圖3.6-1鍵盤控制電路圖3.6-2LCD顯示線路4MP3播放器軟件設(shè)計(jì)與實(shí)現(xiàn)4.1MP3播放器播放功能的設(shè)計(jì)目標(biāo)是能將鍵盤與設(shè)計(jì)MP3播放程序合理配合。若主程序當(dāng)前為進(jìn)入播放模式,則在播放完成最后一首前都會(huì)調(diào)用PlayMP3程序。在上述的程序設(shè)計(jì)中,若一經(jīng)開始觸發(fā)MP3解碼器,直到最后一個(gè)音樂文件結(jié)束前它都持續(xù)向CPU請(qǐng)求數(shù)據(jù)。用戶直接按下暫停鍵時(shí)可以切換音樂,如此即可提前結(jié)束該程序函數(shù),激活播放下一個(gè)音樂文件。其播放流程圖如圖4.1-1所示:產(chǎn)生數(shù)據(jù)請(qǐng)求中斷產(chǎn)生數(shù)據(jù)請(qǐng)求中斷需要讀下一個(gè)扇區(qū)的數(shù)據(jù)當(dāng)數(shù)據(jù)已經(jīng)不足一扇區(qū)結(jié)束當(dāng)前歌曲,指向下一首歌曲讀出一個(gè)新的扇區(qū)繼續(xù)往解碼器中送數(shù)據(jù)是否按了暫停鍵等待再次按下暫停鍵否、否是是是是否單擊“選曲”按鈕是否否否否是向CPU請(qǐng)求數(shù)據(jù)圖4.1-1播放器播放過程流程圖程序會(huì)在數(shù)據(jù)請(qǐng)求產(chǎn)生時(shí)進(jìn)行是否產(chǎn)生請(qǐng)求中斷的判斷,若請(qǐng)求中斷已經(jīng)產(chǎn)生則無法成功讀取數(shù)據(jù)。若未中斷數(shù)據(jù)請(qǐng)求,則數(shù)據(jù)需要再次載入。中斷產(chǎn)生時(shí),下一個(gè)扇區(qū)中的數(shù)據(jù)成為讀取對(duì)象,若下一個(gè)扇區(qū)中的數(shù)據(jù)不是待讀取的目標(biāo),此時(shí)可向解碼器傳遞數(shù)據(jù)。若數(shù)據(jù)已完成讀取部分低于扇區(qū),則在另一個(gè)扇區(qū)中存儲(chǔ)數(shù)據(jù),同時(shí)對(duì)該扇區(qū)數(shù)據(jù)進(jìn)行讀取。向解碼器傳遞讀取后的數(shù)據(jù),通過鍵盤來操控解碼。解碼器在鍵盤處在暫停狀態(tài)下時(shí)無法工作,只有當(dāng)暫停鍵被再次按下時(shí)才可以解碼。若進(jìn)行播放時(shí)還想進(jìn)行音樂文件的選擇,想播放目標(biāo)歌曲而終止當(dāng)前歌曲,只需要按下選曲鍵即可。4.2MP3功能按鈕設(shè)計(jì)MP3播放歌曲的控制在MP3程序執(zhí)行過程中,都經(jīng)過按鍵操作實(shí)現(xiàn),如圖4.2-1所示即為鍵盤響應(yīng)流程圖:產(chǎn)生鍵盤中斷產(chǎn)生鍵盤中斷判斷哪個(gè)鍵被按下播放向前向后功能切換置播放/暫停狀態(tài)根據(jù)所處功能不同設(shè)置不同寄存器的值切換功能清中斷標(biāo)志,等待下一次中斷圖4.2-1鍵盤相應(yīng)流程圖4.3USB通信功能程序設(shè)計(jì)管理Flash存儲(chǔ)器中的文件都經(jīng)由USB通信功能模塊進(jìn)行,在其作用下可以下載MP3文件,因?yàn)锳T89C51SND1C并未配備外部中斷引腳,因此中斷查詢成為了USB驅(qū)動(dòng)程序的工作方式,USB中斷并無中斷向量地址入口。其流程圖如圖4.3-1所示。調(diào)用USB控制器前,首先應(yīng)作初始化,之后將USB斷電中斷寄存器在主程序中反復(fù)讀取,若發(fā)現(xiàn)產(chǎn)生中斷時(shí)即可切換到對(duì)應(yīng)的中斷處理程序,即進(jìn)行配置設(shè)備和傳輸數(shù)據(jù)。開始開始初始化USB時(shí)鐘讀取中斷寄存器狀態(tài)是否有端點(diǎn)產(chǎn)生中斷中斷寄存器清零相應(yīng)的中斷服務(wù)子程序是否、否圖4.3-1USB通信功能程序流程圖4.4播放與暫停的子程序設(shè)計(jì)暫停和播放子程序在按鍵產(chǎn)生首次的中斷信號(hào)時(shí),其原有的R1標(biāo)識(shí)符將被改變成為01H,這時(shí)播放器自暫停狀態(tài)轉(zhuǎn)換成播放狀態(tài),程序的內(nèi)部中斷T0口中設(shè)有播放/暫停,設(shè)計(jì)方案中將T0作為方式2下工作的計(jì)數(shù)中斷,播放/暫停子程序在按鍵再一次產(chǎn)生中斷信號(hào)時(shí)即可開始自我判定,判定R1是不是02H,同時(shí)賦值R1成00H,此時(shí)播放器即可外于暫停。如圖4.4-1為暫停與播放的子流程圖。開始開始標(biāo)識(shí)符R0R0是否為00H暫停播放播放或者暫停RO是否為02HR0=00HR0=01H是是否是是否圖4.4-1播放與暫停的子程序流程圖4.5曲目選擇的子程序設(shè)計(jì)第一步令R7=00H,,若按鍵發(fā)出中斷信號(hào),標(biāo)識(shí)符R7的值將被上一曲中斷子程序改變成01H,同時(shí)改變曲目選擇R0的值,一旦標(biāo)識(shí)符R7值改變被播放子程序識(shí)別后,第一步應(yīng)當(dāng)將00H的值賦值給R7,接下來跳轉(zhuǎn)曲目識(shí)別子程序,同樣的,下一曲中斷也是這個(gè)道理。上一曲與下一曲的實(shí)現(xiàn)方式相似,但是上一曲由(內(nèi)部中斷)實(shí)現(xiàn),下一曲由()外部中斷。曲目選擇子程序流程圖如圖所示:開始開始R7=00H查詢歌曲曲目R7是否為01H播放音樂R7=00H上一曲或者下一曲改變曲目R0值R7=01H是否圖4.5-1曲目選擇的子程序流程圖結(jié)論本課題中開發(fā)設(shè)計(jì)所選取的MP3播放器使用的關(guān)鍵部件為AT89C51SND1C單片機(jī),在AT89C51SND1的64KFlash中,F(xiàn)000~FFFF的地址范圍內(nèi)是4K字節(jié)的BootFlash,該層次的程序是此硬件在生產(chǎn)時(shí)即固化得到的BootLoader代碼,對(duì)于其芯片F(xiàn)lash存儲(chǔ)器中的用戶程序的更新,它將應(yīng)用DFU)協(xié)議進(jìn)行更新。在上電復(fù)位后存在兩類方法能夠讓芯片執(zhí)行BootFlash中的這段程序:第一種情況是,若芯片中的BLJB位處于1位處,該段代碼的執(zhí)行只需上電即可完成;第二種情況是,若芯片中的BLJB并未位處于1位處,若芯片在復(fù)位后檢測(cè)到低的引腳ISP時(shí),該段程序也可以執(zhí)行。AT89C51SND1自帶USB接口在程序輸入時(shí),往芯片中下載目標(biāo)代碼時(shí)無需使用硬件燒寫器,能夠在線編輯Flash,于是此次畢業(yè)設(shè)計(jì)的費(fèi)用得以降低。對(duì)于硬件部分而言,單片機(jī)系統(tǒng)與晶振電路和復(fù)位電路構(gòu)建最小系統(tǒng),為了最大化降低設(shè)計(jì)電路的復(fù)雜性,設(shè)計(jì)外圍電路時(shí)必須以最小系統(tǒng)為中心。因?yàn)橥饬⒓措娫礊?V,而設(shè)計(jì)需要的電源是3.3V,于是可調(diào)輸出電源電路在設(shè)計(jì)過程中即需納入考慮,本課題中以低壓差線性穩(wěn)壓器AS1117為例,它一方面可以提供過熱和過流保護(hù)的功能,保持電路穩(wěn)定運(yùn)行,另一方面還可以按照所需將5V電壓轉(zhuǎn)化成3.3V電壓;進(jìn)行D/A轉(zhuǎn)換時(shí),解碼后的數(shù)字信號(hào)本設(shè)計(jì)中使用CS4331轉(zhuǎn)換得到模擬信號(hào)。將數(shù)據(jù)從Flash中讀取后,AT89C51SND1C在它內(nèi)部把MP3類型的文件作硬件解碼得到二進(jìn)制數(shù)據(jù),為了最終形成人可以識(shí)別的模擬信號(hào),再搭建了一組CS4331型D/A轉(zhuǎn)換器。在信號(hào)不失真、信噪比的降低、音頻質(zhì)量的優(yōu)化方面CS4331表現(xiàn)良好。圖4.5-1D/A轉(zhuǎn)換器CS4331數(shù)據(jù)進(jìn)行數(shù)模轉(zhuǎn)換結(jié)束語寫到這里,設(shè)計(jì)的軟件和硬件部分應(yīng)該就可以告一個(gè)段落了,說實(shí)話,剛拿到這個(gè)題目的時(shí)候,我的心里是一篇茫然的,因?yàn)槲业睦碚撝R(shí)學(xué)的真心不怎么樣,但是我想,既然我如此,那么別人應(yīng)該不會(huì)比我好到哪兒去吧,想到這里,我的心境也就逐漸變的開始釋懷了,于是在剛拿到題目的一個(gè)周,我就開始瀏覽與各個(gè)大的網(wǎng)站,開始尋找我所需要的理論知識(shí)基礎(chǔ),開始的時(shí)候,是基本上什么都看不懂的,后來我在圖書館中尋找我所需要的一部分關(guān)于這個(gè)單片機(jī)的書籍,靜下心來仔細(xì)觀看,才開始慢慢的懂了一些東西,第二個(gè)周,我開始構(gòu)建自己要寫的論文框架,自己要寫的是那幾個(gè)部分,那些東西是需要介紹的,那些東西是需要一筆帶過的,軟件部分該怎么寫,硬件部分又改怎么寫,在構(gòu)建框架的同時(shí),不能放棄對(duì)單片機(jī)的研究,還要不時(shí)到實(shí)驗(yàn)室去親自觀看別人的操作,在這次設(shè)計(jì)中應(yīng)該注意什么東西,又該重點(diǎn)設(shè)計(jì)什么東西,什么是精髓,什么是次要的,第三個(gè)周開始,就該開始書寫這篇論文了,在寫論文的時(shí)候,也應(yīng)該要注意論文的書寫格式,要注意論文的格式要求,把自己要表達(dá)的東西清楚的表達(dá)出來,把次要的東西省略,就這樣一直到第四個(gè)周,才把論文初步完成。在書寫的過程中,每個(gè)人都會(huì)遇到許許多多的困難,對(duì)AT89C51的單片機(jī)的不熟悉,對(duì)Keil_uvision_4的逐漸使用熟悉,硬件部分要去請(qǐng)教許多的老師和同學(xué),軟件部分要自己親自編寫才會(huì)知道那些東西自己不懂,這部分的理論與應(yīng)用還需要再次參考過去所學(xué)的內(nèi)容。畢業(yè)設(shè)計(jì)作為一項(xiàng)重要的任務(wù),一方面可以鍛煉學(xué)生在實(shí)際應(yīng)用中對(duì)所學(xué)理論知識(shí)的理解與應(yīng)用,同時(shí)另一方面還可以為學(xué)生創(chuàng)造一種提出、探究和解決問題的空間與機(jī)會(huì),是考察學(xué)生所學(xué)和實(shí)際工作水平的關(guān)鍵環(huán)節(jié)。伴隨著科技水平的提高,在計(jì)算機(jī)應(yīng)用中單片機(jī)深入到我們?nèi)粘I畹姆椒矫婷?。在此,我要感謝我的論文輔導(dǎo)劉強(qiáng)老師對(duì)我們的幫助,感謝室友們對(duì)我的支持,沒有你們?yōu)槲业教幍谋疾?,一起討論尋找設(shè)計(jì)的捷徑,是沒有這篇完整的論文的,在此,衷心的對(duì)你們說聲謝謝。
附錄:參考程序目前播放文件,切換至目標(biāo)文件的過程:其主要程序代碼為:VoidplayMP3(unsignedchar*SongName){Inti=0,j=0;//First1024ByteMP3Datam=ReadSector(SongName,Page_Buf);//從當(dāng)前歌曲中讀取512字節(jié)if(MP3STA1&MPFREQ)//解碼器數(shù)據(jù)請(qǐng)求中斷產(chǎn)生時(shí){For(i=0;i<1024;i++)//第一次要向解碼器緩存中置入1024字節(jié){if(j==512)//當(dāng)用完512字節(jié)時(shí){m=ReadSector(SongName,Page_Buf);//讀取當(dāng)前歌曲的下一個(gè)512字節(jié)j=0;}MP3DAT=Page_Buf[j++];//向MP3解碼器數(shù)據(jù)寄存器送入一個(gè)數(shù)while(!PlayState);//如果是暫停狀態(tài)則等待while(ChangeSong){DataRead=0;ChangeSong=0;return;}//如果選曲時(shí),則重新播放當(dāng)前曲目while(!(MP3STA1&MPBREQ));//等待中斷再次產(chǎn)生}}//OtherMP3datawhile(1){while(MP3STA1&MPFREQ){0解碼器數(shù)據(jù)請(qǐng)求中斷產(chǎn)生時(shí)if(j==512){//當(dāng)用完512字節(jié)時(shí)j=0;if(m<512){NowPlaying++;return;}//如果上一次從歌曲中讀取的數(shù)據(jù)//不足512時(shí),則結(jié)束本歌曲播放m=ReadSector(SongName,Page_Buf);//讀取當(dāng)前歌曲的下一個(gè)512字節(jié)}MP3DAT=Page_Buf[j++];//向MP3解碼器數(shù)據(jù)寄存器送入一個(gè)數(shù)while(!PlayState);//如果是暫停狀態(tài)則等待while(ChangeSong){DataRead=0;ChangeSong=0;return;}//如果選曲時(shí),則重新播放當(dāng)前曲目while(!(MP3STA1&MPBREQ));//等待中斷再次產(chǎn)生}一個(gè)鍵與鍵盤響應(yīng)函數(shù)相對(duì)應(yīng)。Func,功能切換。功能狀態(tài)是功能切換的目標(biāo)。若未按此鍵,則功能狀態(tài)計(jì)數(shù)器輪換于1~3之間。源代碼如下:voidFunc(){if(CurrentFun<3)CurrentFun++;//在選曲/音量調(diào)節(jié)/音效調(diào)節(jié)三者之間切換elseif(CurrentFun==3)CurrentFun==1;}Next,向后。該鍵被按下時(shí),因?yàn)樘幱诓煌墓δ軤顟B(tài),會(huì)產(chǎn)生相異的操作,從而完成各類功能。若位于“選曲(SELECTSONG)”模式,則其操作將指向歌曲的切換;若位于“音效(EFFECTION)”模式,該操作將指向音效寄存器值的變更;若位于“音量控制(VOLUME)”模式,該操作將指向音量寄存器值的變更。源代碼如下:voidNext()//按下*下一首/音量減小*鍵時(shí)的處理{switch(CurrentFun){//如果當(dāng)前處于音量調(diào)節(jié)功能caseVOLUME:{if(MP3VOR>0x00)//當(dāng)前音量沒有達(dá)到最小時(shí)MP3VOR-=0x01;//右聲道音量增大一檔MP3VOL-=0x01;//左聲道音量增大一檔}break;}caseEFFECTION://如果出于音效調(diào)節(jié)功能{If(MP3BAS>7){//降低重音效果MP3BAS-=7;MP3MED=0x0f;MP3TRE+=7;}break;}caseSELECTSONG://如果處于MP3選曲功能{if(NowPlaying==(NumofSong-1))NowPlayiing=0;//如果已經(jīng)處于最后一首了,則指向第一首elseNowPlaying++;//否則,指向下一首ChangeSong=1;//置選曲標(biāo)志位break;}default:break;}}Previous,向前。此鍵的功能與Next正
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)校安全工作管理制度
- 2026年環(huán)境科學(xué)與治理方法題庫
- 2026年公務(wù)員行測(cè)備考模擬題及答案解析
- 2026年國學(xué)知識(shí)測(cè)試題目與答案詳解
- 2026年旅游景區(qū)規(guī)劃與資源保護(hù)協(xié)調(diào)發(fā)展策略考題
- 2026年建筑設(shè)計(jì)與結(jié)構(gòu)基礎(chǔ)知識(shí)考試題庫
- 2026年古代文學(xué)史知識(shí)試題大全
- 2026年數(shù)據(jù)結(jié)構(gòu)與算法分析能力測(cè)評(píng)題目
- 2026年考研政治時(shí)政熱點(diǎn)試題解析與預(yù)測(cè)
- 2025 小學(xué)二年級(jí)道德與法治上冊(cè)安全過馬路左右看仔細(xì)課件
- 2024 年9月8日江西省“五類人員”選拔(事業(yè)編轉(zhuǎn)副科)筆試真題及答案解析
- 唐代莫高窟寶相花紋樣在現(xiàn)代服飾設(shè)計(jì)中的應(yīng)用研究
- 臺(tái)州三門縣國有企業(yè)招聘筆試題庫2025
- 2025年市場(chǎng)監(jiān)管局招聘崗位招聘面試模擬題及案例分析解答
- 單杠引體向上教學(xué)課件
- 高級(jí)消防設(shè)施操作員試題及答案-1
- 2025年海南省政府采購評(píng)審專家考試題庫(含答案)
- 國企財(cái)務(wù)審批管理辦法
- 新型農(nóng)業(yè)經(jīng)營主體法律制度完善研究
- 高中國際班數(shù)學(xué)試卷
- 北京市2019-2024年中考滿分作文131篇
評(píng)論
0/150
提交評(píng)論