版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 梧 州 學 院</b></p><p><b> 畢 業(yè) 論 文</b></p><p> 論文題目 基于…………..的設(shè)計</p><p> 系 別 信息與電子工程學院 </p><p> 專 業(yè) 電子科學與技術(shù) </p
2、><p> 班 級 10電子科學與技術(shù)班 </p><p> 學 號 </p><p> 學生姓名 </p><p> 指導教師(簽名) </p><p> 完成時間
3、 2015 年 5 月</p><p><b> 摘要</b></p><p> 隨著電子技術(shù)的發(fā)展,MP3播放器已是目前市場上最流行的消費類數(shù)碼產(chǎn)品之一,因其具有大容量、高音質(zhì)、小巧便攜等特點而倍受廣大消費者的青睞。而對于單片機編寫的MP3播放器具有執(zhí)行效率高、頻率輸出穩(wěn)定、易于修改、高可靠性、高性價比、低電壓、低功耗等優(yōu)點,使單片機近幾年得到迅
4、猛發(fā)展和大范圍推廣,廣泛應用于工業(yè)控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、智能化儀器儀表及通訊設(shè)備、日常消費類產(chǎn)品、玩具等領(lǐng)域 。</p><p> 本設(shè)計主要利用ATmega128作為系統(tǒng)的中央處理器,采用VS1003B解碼芯片作為音樂播放器的解碼芯片,SD卡作為系統(tǒng)的存儲器,CH375芯片作為讀取外部U盤數(shù)據(jù)的驅(qū)動芯片。通過ATmega128讀取SD卡或者讀取經(jīng)CH375芯片傳送的音頻數(shù)據(jù),再送入VS1003B解碼芯片實現(xiàn)
5、特定格式的音頻解碼,并通過耳機或者有源音響輸出。</p><p> 關(guān)鍵詞:Atmega128;MP3播放器;SD卡;CH375;VS1003B;</p><p> Based on the design of ATmega128 music player</p><p><b> Abstract</b></p><
6、p> With the development of electronic technology, MP3 players on the market today is one of the most popular consumer digital products, because of its large capacity, high-quality, compact and portable features and m
7、uch in favor of consumers. For the preparation of single-chip MP3 player with high efficiency, stable frequency output, easy to modify, high reliability, high cost, low voltage, low power consumption, etc., so that the m
8、icrocontroller in recent years has been the rapid development and l</p><p> Keywords: Atmega128; MP3 player; SD card; CH375; VS1003B;</p><p><b> 目錄</b></p><p> 第一
9、章 引 言1</p><p> 1.1課題背景與來源1</p><p><b> 1.2課題意義1</b></p><p> 1.3 MP3播放器發(fā)展歷程和研究現(xiàn)狀1</p><p> 第二章 系統(tǒng)概述3</p><p> 2.1系統(tǒng)設(shè)計總方案選擇3</p>
10、<p> 2.2系統(tǒng)可行設(shè)計方案對比選擇3</p><p> 2.3 系統(tǒng)設(shè)計硬件組成4</p><p> 2.4 系統(tǒng)設(shè)計的功能介紹及操作說明5</p><p> 第三章 硬件組成及設(shè)計6</p><p> 3.1 主控系統(tǒng)模塊設(shè)計電路圖6</p><p> 3.2 VS1003音頻
11、解碼模塊8</p><p> 3.3 SD卡模塊電路及非正常播放的的解決辦法10</p><p> 3.4 U盤通信讀寫模塊11</p><p> 第四章 軟件設(shè)計13</p><p> 4.1 開發(fā)工具介紹13</p><p> 4.2 主程序流程圖13</p><p>
12、; 4.3 SD卡的讀流程圖14</p><p> 4.4 SD卡文件系統(tǒng)的結(jié)構(gòu)分析14</p><p> 4.5 SD卡文件系統(tǒng)的實現(xiàn)15</p><p> 4.6 U盤文件管理系統(tǒng)16</p><p> 第五章 系統(tǒng)測試與分析17</p><p> 5.1 系統(tǒng)設(shè)計過程17</p&g
13、t;<p> 5.2 模塊的調(diào)試17</p><p> 5.3 系統(tǒng)測試達到的技術(shù)指標19</p><p> 第六章 結(jié)束語22</p><p><b> 參考文獻23</b></p><p><b> 致謝24</b></p><p>
14、 附錄1(原理圖、PCB圖、實物圖)25</p><p> 附錄2(程序)30</p><p><b> 第一章 引 言</b></p><p> 1.1課題背景與來源</p><p> 隨著中國經(jīng)濟的不斷發(fā)展,人們生活水平不斷提高,物質(zhì)追求已基本得到滿足,隨之而來的是精神層面的追求。人們對生活質(zhì)量的要求
15、也越來越得到重視,對音樂的追求也迅速成為了其享受生活的重要部分。在過去的幾年里,各種音樂播放器層出不窮,它們的文件格式也不可枚舉。就音頻播放器來說,其常用格式就有WAV、OGGG、MP3、WMA、ACC、APE等。MP3格式由于具有壓縮后文件體積小、音質(zhì)丟失小的特點而成為了使用最為廣泛、最受播放器生產(chǎn)商歡迎的音頻格式之一。生活中人們往往把Moving Picture Experts Group Audio Layer III簡稱為MP3
16、,其本身就是一種音頻壓縮技術(shù),采用了國際標準MPEG中的第三層音頻壓縮模式,對聲音信號進行壓縮的一種格式[1]?,F(xiàn)在普遍應用的聲音編碼技術(shù)是一種叫MPEG聲音壓縮的算法,這是一種對音源的性質(zhì)沒有作任何假設(shè)的算法,單純地利用人耳的聽覺特性來對聲音進行壓縮。MP3就是利用了這種技術(shù),將音樂以10:1甚至12:1的壓縮率,壓縮成一種容量較小的文件。也就是說,MP3不僅可以把文件壓縮到更小的程度,并且還可以非常好地保持了原來的音質(zhì)[2]。
17、</p><p><b> 1.2課題意義 </b></p><p> 隨著電子技術(shù)的迅速發(fā)展,現(xiàn)階段的音頻技術(shù)已經(jīng)發(fā)展得相當成熟,市場流行的音頻播放器其功能也遠非普通的MP3可以比擬,操作界面也相當?shù)膹碗s多樣。但對于市場需求來說,MP3仍然占有一定的市場。同時,對于比較缺乏實際操作能力的大學生來說,實打?qū)嵉卦O(shè)計播放器是很有必要的,這對于掌握與鞏固所學知識起到舉足
18、輕重的作用及對提高自身各方面的能力、培養(yǎng)今后從事這類工作或研究這類技術(shù)的興趣。而MP3播放器相對而言比較簡單,對于初設(shè)計者來說是一種很好的選擇。本系統(tǒng)采用了簡單、經(jīng)濟的電子芯片設(shè)計而成,與市場上的MP3有所不同,更加突出地改進了其MP3的儲存容量小的缺點。支持SD卡及外部U盤等外儲存設(shè)備的讀取,具備了價格便宜、高容量、體積小、音質(zhì)好、便于攜帶等優(yōu)點。這樣的MP3播放器被廣泛用于汽車、家居、工業(yè)等領(lǐng)域,如車載MP3播放器等。</p&
19、gt;<p> 1.3 MP3播放器發(fā)展歷程和研究現(xiàn)狀</p><p> 隨著計算機速度的飛速提升,MP3標準終于在1995年被Brandenburg的研究小組制定出來,并免費提供MP3軟件下載。MP3的現(xiàn)世,由于閃存技術(shù)初現(xiàn),存儲容量還很小,而價格偏高,當時的MP3仍屬于十分昂貴的“奢侈品”。20世紀后期,為了滿足更多用戶的需求,集中解決了MP3播放器能在不同的電腦上連接使用的問題,最終MP3
20、播放器選擇了“并口”作為數(shù)據(jù)輸用的接口。直到1998年,第一臺MP3隨身聽Saehan MPman F10誕生,重65克。但是當時的MP3存在信噪比太低、并口數(shù)據(jù)傳輸速度慢等缺點。2000年,由于受到突飛猛進的USB技術(shù)影響,MP3播放器開始使用了USB接口的設(shè)計。2000年中,創(chuàng)新發(fā)布了世界上第一臺2.5寸硬盤MP3播放器——NOMAD Jukebox,這款音樂播放器的外形就像一個標準大小的CD播放器。USB接口可以提供連接速度高達1
21、2Mbps,這種速度與并口速度相比提高幅度在10倍以上,運用這種速度下歌曲文件傳輸時間可以縮減為3秒,若要進行64MB大小容量的文件傳送也不需要1分鐘。USB 2.0標準進一步將接口速度提升到480Mbps,是普通USB速度的20倍,更</p><p><b> 第二章 系統(tǒng)概述</b></p><p> 2.1系統(tǒng)設(shè)計總方案選擇</p><p
22、> 系統(tǒng)初步設(shè)計圖如圖2-1所示</p><p> 圖2-1 系統(tǒng)初步設(shè)計圖</p><p> 2.2系統(tǒng)可行設(shè)計方案對比選擇</p><p> 根據(jù)設(shè)計要求,結(jié)合實際情況和成本要求,對系統(tǒng)主要部分電路方案敘述如下。</p><p> 2.2.1 MCU微控制器可供選擇方案對比</p><p> 方
23、案一:采用ATMEL公司生產(chǎn)的AT89SXX系列單片機。如采用初學者廣泛使用的AT89S52單片機,它內(nèi)部具有低損耗、高性能的CMOS微處理器,片內(nèi)也具有8K字節(jié)的儲存空間、4個8位的并口、1個全雙工的串行口、128字節(jié)的RAM、2個16位定時/計數(shù)器,其尋址范圍也有64K,這些特點能滿足簡單的設(shè)計需要,但如果用這款單片機來設(shè)計MP3那最好要外接一個儲存芯片,否則對數(shù)據(jù)的緩沖、處理速度跟不上,容易造成卡機現(xiàn)象。</p>&
24、lt;p> 方案二:采用ATMEL公司生產(chǎn)的AVR系列單片機,它相對與AT89SXX系列單片機在功能特點上得到更大的改進,除了在體積、集成度、可靠性,擴展性上具有優(yōu)勢,而且其處理數(shù)據(jù)速度和功能得到了提升,是一種RISC精簡指令集高速8位的單片機。特別是ATMEL32 、ATMEL64、ATMEL128的片內(nèi)儲存空間均在8K以上,盡量滿足了MP3不卡機的條件之一。而且如今其市場價格與89SXX系列也相差不遠,運行速度更快。<
25、/p><p> 綜上所述,為了能更好地處理數(shù)據(jù),得到流暢的播放效果,應考慮MCU數(shù)據(jù)處理能力,選擇方案二中ATMEL公司的Atmega128單片機作為微處理控制器,它遠遠能滿足MP3的數(shù)據(jù)解碼速度要求。</p><p> 2.2.2 MP3解碼方案對比選擇 </p><p> 方案一: 直接用軟件解碼。雖在硬件方面降低了成本,但其軟件方面比較復雜,編程難度較高,工
26、作量極大,而且對控制器的處理速度和資源要求也較高。 </p><p> 方案二:直接用音頻解碼芯片解碼。使用高性能的VS1003 MP3解碼芯片,功能不僅強大而且價格也相當便宜,VS1003支持MP3、WAV、WMA、MIDI等諸多音頻格式,音質(zhì)可與市場上中檔MP3播放器相媲美。 </p><p> 基于上述比較,故選擇方案二;</p><p> 2.2.3
27、 顯示模塊方案 </p><p> 方案一:采用LCD1602液晶,完成數(shù)據(jù)顯示。LCD1602液晶驅(qū)動電路相當簡單,它可以顯示簡單的中英文字符、圖案,并且功能和設(shè)計的成本都比較低。</p><p> 方案二:采用LCD12864液晶,它不僅可以顯示中英文字符,也可以顯示圖案。但其圖案分辨率很低,而且只能顯示單色字符,在價格方面也不算很便宜。 </p><p&
28、gt; 方案三:采用TFT液晶模塊,它既可以顯示彩色數(shù)字、中英文字符和圖案,還可以加上觸摸屏,實現(xiàn)GUI用戶圖形交互實時控制,但其模塊價格較貴,并且設(shè)計要求并不需要使用觸摸等功能。</p><p> 方案四:采用諾基亞5110液晶模塊,它采用的是串行通信協(xié)議進行通信,傳輸速度快,耗能低,接口信號線數(shù)量少,能顯示英文、數(shù)字還有圖案,并且市場價格最便宜。</p><p> 基于價格便宜,
29、并且結(jié)合本系統(tǒng)設(shè)計需要,故選擇方案四。</p><p> 2.3 系統(tǒng)設(shè)計硬件組成</p><p> 本系統(tǒng)是基于Atmega128單片機所設(shè)計的MP3播放器,音頻文件存儲在SD卡上,通過文件系統(tǒng)的讀取SD扇區(qū)或?qū)⒁纛l存在U盤等USB外設(shè)儲存器上,通過CH375驅(qū)動芯片讀取外設(shè)儲存器,由Atmega128單片機讀取數(shù)據(jù)并送到VS1003B音頻解碼模塊解碼輸出,同時還可以通過按鍵來選擇實
30、現(xiàn)歌曲切換,暫停播放和音量調(diào)整等功能。</p><p> 本系統(tǒng)設(shè)計主要由以下模塊組成:單片機最小系統(tǒng)、諾基亞5110液晶顯示、VS1003音頻解碼模塊、SD卡讀取模塊、USB外設(shè)讀取模塊和電源模塊以及功能按鍵。系統(tǒng)框圖如圖2-2所示。</p><p> 圖2-2 系統(tǒng)組成框圖</p><p> 2.4 系統(tǒng)設(shè)計的功能介紹及操作說明</p>&
31、lt;p> 本系統(tǒng)設(shè)計的特點和可實現(xiàn)的功能及具體的操作說明如下:</p><p> 本系統(tǒng)的特點是:所用芯片少,設(shè)計簡單,但是功能強大,與市場上的MP3播放器相比,本設(shè)計不僅具有其最基本的優(yōu)點外,還在儲存容量上得到了突破。不僅能在SD卡上實現(xiàn)音頻數(shù)據(jù)的讀取還可以高速讀取外部的USB儲存設(shè)備,如U盤,硬盤等。真正達到了成本低,音效好的特點。</p><p> 對于功能的實現(xiàn),本設(shè)
32、計能實現(xiàn)對SD卡及U盤的高速讀取,同時可在諾基亞5110液晶上顯示歌曲進程、歌曲名及音頻頻譜。需對SD卡數(shù)據(jù)存儲結(jié)構(gòu)及VS1003解碼電路進行深入的了解。</p><p> 在操作上,應用了簡單的功能按鍵,控制音樂的播放、暫停、上下曲切換、音量調(diào)節(jié)等操作在顯示液晶上清楚可見。</p><p> 第三章 硬件組成及設(shè)計</p><p> 硬件設(shè)計包括整個系統(tǒng)的電
33、路圖,主要由單片機最小系統(tǒng)、VS1003解碼模塊、外部音頻存儲模塊、諾基亞5110液晶顯示模塊、電源電路模塊、MP3功能按鍵電路等組成,本章根據(jù)系統(tǒng)設(shè)計結(jié)構(gòu)圖來對每個部分的電路進行分析和說明,重點講述MCU微控制器Atmega128、SD卡模塊電路、VS1003B音頻解碼模塊電路、CH375驅(qū)動外設(shè)模塊電路、功能按鍵并且涉及到的一些芯片詳細資料。下面將整個音樂播放器的設(shè)計對各模塊組成分別做個介紹。</p><p>
34、; 3.1 主控系統(tǒng)模塊設(shè)計電路圖 </p><p> 本模塊設(shè)計包含了以下部分:MCU微機處理器、復位電路、外圍模塊接口、程序下載口、功能按鍵等。整個電路圖設(shè)計相對而言比較簡單,盡量地減少元器件,簡化元器件布局,達到合理布局的目的。對本模塊各電路進行方案對比以及元器件價格比較,最終電源部分選用了AMS1117轉(zhuǎn)換電壓芯片,可將外部電壓轉(zhuǎn)換成MCU所需的電壓,電路簡單,效率高。對于MCU的選擇,考慮到效率問題
35、,最終也選定了Atmega128作為主控芯片,它的外圍電路簡單,滿足本設(shè)計的需要。而顯示部分也采用了諾基亞5110液晶模塊,它具有既能顯示英文和特殊符號還能顯示中文,顯示界面友好,控制簡單,工作穩(wěn)定,價格便宜,占用IO口少等優(yōu)點,容易實現(xiàn)歌曲名的顯示和歌曲進程的操作。本模塊設(shè)計電路圖如3-1 所示,系統(tǒng)使用內(nèi)部8M晶振,下載熔絲位為 E4 91 FF 不兼容103模式。</p><p><b> .
36、</b></p><p> 圖3-1 主控系統(tǒng)模塊設(shè)計電路圖</p><p> 以下將介紹本模塊的主要電路及芯片。</p><p> 3.1.1 供電電源電路</p><p> 本電路是直接利用外部電源適配器進行接電,這樣得到的電流和電壓都比較穩(wěn)定,然后利用ASM1117線性穩(wěn)壓芯片,將電源電壓轉(zhuǎn)換成穩(wěn)定的,少紋波的5V、
37、3.3V電壓,為了能控制整個電路的電源供電,在適當處添加了一個六角開關(guān),目的是截取適配器供電。當然本電路供電方式不唯一,在沒有電源適配器的條件下也可以使用下載器供電,簡單又實用。供電電源電路如圖3-2所示</p><p> 圖3-2 供電電源電路</p><p> 3.1.2 MCU微控制器</p><p> Atmega128的引腳圖如3-3 圖所示。它為6
38、4腳的貼片式芯片,本設(shè)計利用它為核心控制元件,只有它能正常工作后才能使其他的元件進入正常工作狀態(tài)。因此,下面對該芯片進行必要的說明。</p><p> 圖3-3 圖 Atmega128的引腳</p><p> Atmega128芯片是一種高性能、低功耗8位的AVR微處理器,片內(nèi)具有128K字節(jié)的系統(tǒng)可編程Flash,可解決卡機問題,能及時處理傳送的數(shù)據(jù)。具有4K字節(jié)的EEPROM,可以
39、對一些操作數(shù)據(jù)進行存儲,方便斷電重啟后,能對上一次的數(shù)據(jù)進行再現(xiàn)。具有獨立片內(nèi)振蕩器的可編程看門狗定時器,可解決一些程序跑飛的情況。有53個可編程I/O口,可方便外掛其他器件,具有可工作于從機/主機模式的SPI串行接口。</p><p> 本設(shè)計主要用到SPI模式,需對SPI管腳及其寄存器加以重視。串行外設(shè)接口SPI允許ATmega128和外設(shè)之間進行高速的同步數(shù)據(jù)傳輸,接口管腳為PB1(SCK)、PB2(MO
40、SI)、PB3(MISO)。SPI串口方式特點有:全雙工,3線同步數(shù)據(jù)傳輸;主機或從機操作 LSB首先發(fā)送或MSB首先發(fā)送;具有傳輸結(jié)束中斷寫碰撞標志檢測;可以從閑置模式喚醒;可作為主機時具有雙速模式(CK/2)。</p><p> 以上是本設(shè)計需要重視的主芯片特點。</p><p> 3.1.3 功能按鍵電路</p><p> 功能按鍵電路在系統(tǒng)中起到手動切
41、換播放模式及聲音大小的調(diào)整??紤]到本設(shè)計中需要的按鍵操作并不多,單片機的I/O口完全可以滿足,所以選擇了獨立式鍵盤設(shè)計,如圖3-4所示 ,按鍵以低電平有效。在硬件方面注意手動消抖,在軟件方面,也應考慮按鍵消抖情況。</p><p> 如圖3-4所示,共有五個按鍵,分別實現(xiàn)歌曲的播放、暫停、上下曲切換、聲音加減功能。</p><p><b> 圖3-4功能按鍵</b>
42、;</p><p> 3.2 VS1003音頻解碼模塊</p><p> VS1003B是芬蘭VLSI公司生產(chǎn)一種VSXX系列的芯片,是一種單芯片MP3/WMA音頻解碼器。它擁有一個高性能,低功耗DSP 處理器核VS_DSP4,5KB 的指令RAM 和0.5KB 的數(shù)據(jù)RAM。串行控制和數(shù)據(jù)接口,4 個常規(guī)的I/O 口,一個UART,一個高品質(zhì)可變采樣率的ADC和立體聲DAC、一個耳機
43、放大器和地線緩沖器。VS1003B解碼模塊對單片機從SD卡或者U盤中讀取的數(shù)據(jù)流進行解析,并轉(zhuǎn)換成模擬信號輸出,同時能實現(xiàn)高低音控制和立體聲數(shù)模轉(zhuǎn)換,可直接驅(qū)動耳機。本設(shè)計需將系統(tǒng)5V電源通過ASM1117-3.3、ASM1117-2.5轉(zhuǎn)化成VS1003所需的3.3V、2.5V電壓,并通過3.3UH的電感進行數(shù)字電壓、模擬電壓、以及IO口電壓進行區(qū)分,單獨供電,降低對解碼信號的影響。</p><p> VS1
44、003B封裝圖如3-5所示。</p><p> 圖3-5 VS1003封裝圖</p><p> 該芯片的主要管腳介紹: 1腳MICP:同向差分話筒輸入;2腳MICN:同向差分話筒輸出;3腳XRESET:復位;8腳DREQ:數(shù)據(jù)請求;13腳XDCS:命令片選; 23腳XCS:命令片選;28腳SCLK:串行時鐘; 29腳SI:串行輸入;30腳SO:串行輸出;42腳GBUF:公共地緩沖器;4
45、4腳RCAP:基準濾波電容。</p><p> 3.2.1 VS1003解碼模塊電路圖</p><p> 圖3-6 VS1003解碼模塊電路圖</p><p> 3.3 SD卡模塊電路及非正常播放的的解決辦法</p><p> 對于本模塊電路設(shè)計,首要應該考慮電源電壓和電流的要求,防止電壓電流超過SD卡承受范圍,進行燒卡,系統(tǒng)中供電電
46、壓一般為3.3V。驅(qū)動SD卡的模式分為SD總線模式和SPI總線模式。采用四根數(shù)據(jù)線并行傳輸數(shù)據(jù),數(shù)據(jù)傳輸速率高的模式為SD卡總線模式,這種總線的傳輸協(xié)議并不簡單,而且很多單片機都沒有提供這樣的總線接口,而且若用軟件來模擬SD卡總線卻又相當?shù)姆爆?,并且還會降低SD卡的數(shù)據(jù)傳輸速率;如果用SPI總線模式去驅(qū)動SD卡,那么就只需用到一根數(shù)據(jù)傳輸線,此時數(shù)據(jù)傳輸速率雖較低,可在很多單片機上都具有SPI總線接口,若用軟件來模擬也十分的容易,其總線
47、模式的傳輸協(xié)議十分簡單,易于實現(xiàn)。因此,本模塊設(shè)計根據(jù)協(xié)議的簡單性和實際需要則采用了SPI總線模式。</p><p> SPI總線模式的數(shù)據(jù)傳輸則以字節(jié)為單位進行,每個字節(jié)則為8位,每個命令或者數(shù)據(jù)模塊都需以字節(jié)來對齊。單片機對SD卡的讀操作主要由主機控制,主機必須先拉低SD卡的片選信號CS,選中SD卡器件,然后再由主機向SD卡發(fā)送各種命令,SD卡對主機發(fā)送的任何命令進行響應,根據(jù)命令的不同執(zhí)行不同的響應格式;
48、在執(zhí)行寫操作時,SD卡還要對主機發(fā)送的每個數(shù)據(jù)模塊進行響應。通過執(zhí)行命令和作出相對應的命令響應,完成單片機對SD卡的讀寫操作。</p><p> 3.3.1 調(diào)試中一些SD卡不能正常播放的解決辦法</p><p> 如果在軟件方面只編寫了FAT16文件系統(tǒng),則不支持大于2G的盤,由此帶來了兩個問題。</p><p> 若大于2G的盤,格式化的時候只能選擇FAT
49、32,F(xiàn)AT16的盤是不能正常播放的。 若小于2G的盤,請先使用軟件USBOOT把SD卡工作模式更改為FDD模式,更改后即可正常播放。</p><p> 3.3.2 SD卡讀寫模塊圖(如圖3-7所示)</p><p> 圖:3-7 SD卡讀寫模塊圖</p><p> 3.4 U盤通信讀寫模塊</p><p> 本模塊設(shè)計是利用CH37
50、5芯片對外部的U盤內(nèi)數(shù)據(jù)進行驅(qū)動讀取。CH375是一個USB總線的通用接口芯片,支持USB-HOST主機方式和USB-DEVICE/SLAVE設(shè)備方式[4]。CH375是一個28腳的貼片式芯片,它具有串并行通信方式,可以通過讀控制線、寫控制線、片選控制線、中斷輸出線及8位數(shù)據(jù)總線,可非常方便地與單片機等控制器總線相連,實現(xiàn)并行傳輸。當然還可以選擇串行通信,通過串行輸入線、輸出線和中斷輸出線與單片機等實現(xiàn)數(shù)據(jù)傳輸。CH375本身還內(nèi)置了大
51、量專用通信協(xié)議的固件,外部單片機可以直接通過調(diào)用其固件實現(xiàn)對常用的USB儲存設(shè)備以扇區(qū)為單位的讀寫操作。在本設(shè)計過程中用ASM1117-3.3芯片降壓到所需的3.3V電壓,并且還在并行串行的方式上預留了接口,即通過此接口可以選擇串行和并行接口方式。(注意:CH375運用的是12M晶振,22PF瓷片電容組成的振蕩電路)</p><p> 3.4.1 U盤通信電路圖(如圖3-8所示)</p><
52、p> 圖:3-8 U盤讀寫模塊圖</p><p> 3.4.2 U盤工作原理</p><p> 當CH375工作方式在主機方式時,單片機通過RD、WR、片選CS、中斷INT#和地線A0進行控制,實現(xiàn)與CH375通訊。當有U盤插入時CH375產(chǎn)生中斷來告訴單片機,單片機每次得到CH375的中斷后,都要用“獲取狀態(tài)碼”來取消這個中斷,讓INT#恢復到高電平,為下次中斷做準備。要是U
53、盤連接錯誤,那么就會返回狀態(tài)碼,若獲取狀態(tài)碼GET_STATUS,那么表示U盤已經(jīng)連接成功。接下來就是磁盤的初始化DISK_INIT,同樣也是等待中斷,獲取狀態(tài)碼,若獲取USB_INT_SUCCE,則成功,否則返回狀態(tài)碼,此時初始化U盤成功,返回標志0。</p><p> 當CS、RD和A0都為低電平時CH375的數(shù)據(jù)可以通過D0~D7輸出;當CS、WR和A0都為低電平時,D0~D7上的數(shù)據(jù)被寫入CH375芯片
54、中;當CS和WR都為低電平,A0為高電平時,D0~D7中的數(shù)據(jù)可以作為命令碼寫入CH375中,這樣就實現(xiàn)了CH375對U盤的讀寫[5]。其過程為:在CH375對U盤進行讀寫扇區(qū)時,首先送入磁盤讀取命令DIST_READ,然后送入32位的扇區(qū)地址,從低字節(jié)開始送入,接著送入要讀取的扇區(qū)數(shù),當我們只讀取一個扇區(qū)時,我們就只送一個入一個1,往下是等待中斷讀取狀態(tài),送入讀數(shù)據(jù)命令再讀數(shù)據(jù)(注:數(shù)據(jù)的第一個字節(jié)是后面數(shù)據(jù)的長度,緊接著的才是真正的
55、數(shù)據(jù)),寫入繼續(xù)讀數(shù)據(jù)命令,等待中斷獲取狀態(tài)USB_INT_SUCCESS,最后讀取扇區(qū)成功。補充:CH375的數(shù)據(jù)緩沖區(qū)僅為64個字節(jié),讀取一個扇區(qū)(512字節(jié))要讀8次,每讀完一次要從CH375中送入繼續(xù)讀取的命令,等待CH375的數(shù)據(jù)緩沖區(qū)更新為下面的64個字節(jié)后,再次等待中斷,讀取狀態(tài)。寫入8次以后,512個字節(jié)被寫入到了CH375中,最后一次繼續(xù)寫命令DISK_WR_GO,獲得的狀態(tài)碼不再是USB_INT_</p>
56、<p> 3.4.3 U盤模塊部分容易造成影響的一些問題</p><p> 在PCB設(shè)計中,應注意一些細節(jié)以防對設(shè)計造成不必要的影響。例如注意振蕩電路晶體的外殼接地,這樣可以降低電磁輻射,減少外來干擾,并且振蕩電路的電容應盡量靠近CH375,PCB的走線應該盡量短,最好可以在周邊環(huán)繞接地或者敷銅。對于USB數(shù)據(jù)線D+和D-的PCB應該平行布線,長度保持差不多[6]。</p><
57、;p> 3.5 諾基亞5110液晶模塊</p><p> 本設(shè)計采用諾基亞5110液晶顯示,它不僅兼容了諾基亞3310液晶,而且在操作上也非常的簡單。它原本就是一個LCD點陣屏,可以顯示4行漢字,與主機通過串口模式相接。當然可以用主機的SPI模式,也可以簡單地模擬SPI模式,這對于很多單片機來說都是可以做到的。它的傳輸速率是1602液晶的四倍,在價格上也比較便宜,來源也很多。對本設(shè)計的需求已經(jīng)遠遠可以滿
58、足。</p><p> 設(shè)計中模塊接口如圖3-9所示。</p><p> 圖3-9 諾基亞5110液晶接口圖</p><p><b> 第四章 軟件設(shè)計</b></p><p> 4.1 開發(fā)工具介紹</p><p> 本設(shè)計除了硬件方面的重要性,同時也應該注重軟件。一個單片機的使用不
59、僅僅只有硬件,同時也應該有軟件的支持,硬軟結(jié)合才能發(fā)揮其更加強大的作用,在寫匯編程序CPU可執(zhí)行的機器碼可分為手工匯編和機器匯編這兩種方法。利用匯編軟件變?yōu)闄C器碼的方式是機器匯編,在單片機的匯編軟件歷史上出現(xiàn)較早的有A51,但隨著技術(shù)的發(fā)展,單片機開發(fā)技術(shù)也越來越成熟,匯編方式也從匯編語言變成了高級語言,ICC AVR這款AVR系列單片機軟件已經(jīng)成為了目前最流行的開發(fā)軟件。ImageCraft 的ICC AVR是一個應用到了ANSI標準
60、的C語言來開發(fā)微控制器(MCU)程序的工具。 </p><p> ICCAVR是一個綜合了編輯器和工程構(gòu)建同體的軟件。在ICCAVR編輯器的狀態(tài)窗口中可以很清楚地把編譯出現(xiàn)的錯誤顯示出來,當用鼠標單擊編譯出現(xiàn)的錯誤時,光標就會自動跳轉(zhuǎn)到編輯窗口中引起錯誤的那一行,這樣就省去了煩雜的查錯工作[7]。在編譯程序通過時,還可以直接產(chǎn)生被大多數(shù)編程器所支持INTEL.HEX格式文件,用于下載程序到芯片中。對于ICCAV
61、R軟件,在編寫程序的時候要注意各個中斷函數(shù)的書寫,還要注意管腳的使用,對包含的頭文件也應該具有一定的了解。</p><p> 4.2 主程序流程圖</p><p> 主程序主要完成系統(tǒng)的初始化、對SD卡或者U盤數(shù)據(jù)的識別和讀取,音頻的解碼,還有液晶的顯示、按鍵的操作等,其主程序流程圖如圖4-1所示。</p><p> 圖 4-1 主程序流程圖</p>
62、;<p> 各模塊初始化后,單片機識別U/SD卡,再根據(jù)U/SD卡的主引導,通過FAT文件系統(tǒng)解析文件名,并調(diào)用UNICODE字庫把文件名顯示在諾基亞5110液晶上,然后單片機計算簇所在的地址,把讀到的文件數(shù)據(jù)流送入到VS1003中進行解碼,當讀完一簇后,則計算下一次地址,如此便實現(xiàn)文件的鏈接。</p><p> 4.3 SD卡的讀流程圖</p><p> 圖 4-2
63、SD讀流程圖</p><p> SD卡讀流程中,設(shè)置SPI低速模式,把CS設(shè)為低電平,即選擇SD操作,然后發(fā)送至少74個時鐘周期,發(fā)送CMD0指令,讓SD卡復位,然后延時稍許,如果檢測到0X01則發(fā)送CMD1初始化成功,否則不成功,在初始化成功后再發(fā)送8個脈沖,讀取OCR寄存器把時鐘送入SPI高速,再關(guān)掉校驗,再發(fā)送CMD16就可以讀取扇區(qū)的大小。</p><p> 4.4 SD卡文件
64、系統(tǒng)的結(jié)構(gòu)分析</p><p> SD卡內(nèi)的數(shù)據(jù)要在操作系統(tǒng)下被識別,則需要在SD卡上創(chuàng)建操作系統(tǒng)所能識別的FAT16/FAT32文件系統(tǒng)。FAT16/FAT32文件系統(tǒng)的結(jié)構(gòu)大致可分為分區(qū)引導記錄、文件分配表、文件目錄表和數(shù)據(jù)區(qū)4大部分[8]。</p><p> 在分區(qū)引導記錄中又可分為BIOS參數(shù)記錄塊BPB(BIPS Parameter Block)、磁盤標志記錄表、分區(qū)引導記錄
65、代碼區(qū)和結(jié)束標志55AA這四塊內(nèi)容。而在BPB表中其起始點是在扇區(qū)字節(jié)位移0bH處,這段總共占了25字節(jié)。緊跟在分區(qū)引導記錄后的是FAT(文件分配表)區(qū),在一些文件系統(tǒng)中存在這樣兩份完全相同的文件分配表FAT1和FAT2,如FAT16/FAT32文件系統(tǒng)就具有這樣相同的兩個文件分配表,并且每一份FAT表所占用空間的大小都可從BPB表中查詢得到。簇是一種文件存儲在磁盤上的最小單位,為了防止一個文件的數(shù)據(jù)并不能完整放在磁盤的一個連續(xù)區(qū)域內(nèi)的
66、情況發(fā)生,因此一般將磁盤分為若干簇。在文件的鏈式存儲中通過FAT表記錄文件存儲中簇與簇之間的連接信息,這樣就可以快速地查找文件儲存的地址。在FAT16文件系統(tǒng)中1個簇就占有2個字節(jié),F(xiàn)8FH就是它的起始字節(jié),F(xiàn)FFFH則是它的終止字節(jié),如果是顯示0000則意味著這區(qū)未被使用,通過這些明顯的標志,則可以快速了解儲存區(qū)的活動情況。隨在FAT表后的就是文件目錄表FDT,它在大小上固定占了32個扇區(qū),但一個扇區(qū)又可容納16個登記項,一個登記項&
67、lt;/p><p> 4.5 SD卡文件系統(tǒng)的實現(xiàn)</p><p> 要實現(xiàn)對文件的管理,那么單片機通過對SD卡的讀寫中就可按照FAT16/FAT32文件系統(tǒng)的格式對SD卡上的數(shù)據(jù)進行操作,這樣便可以在SD卡上實現(xiàn)文件的創(chuàng)建、文件的讀寫和文件的刪除等操作。</p><p> 4.5.1 在SD卡上創(chuàng)建文件(或目錄)</p><p> 在文
68、件目錄表FDT中申請登記項的過程為SD卡上創(chuàng)建文件(或目錄)的過程,而在登記項中則包括有文件名、文件長度和起始簇號等信息。文件名的大小一般占用8個字節(jié),而長的文件名則需要用數(shù)組來存放。在需要知道文件的狀態(tài)時,則可根據(jù)文件名的首字節(jié)來判斷該文件的狀態(tài),若出現(xiàn)00H則表示該目錄項未被使用,若出現(xiàn)E5H則表示該文件(或目錄)已被刪除。但在創(chuàng)建目錄時,應將屬性值設(shè)置為10H(表示子目錄),文件長度為0[9]。</p><p&
69、gt; 4.5.2 SD卡文件的讀寫操作</p><p> 簇是SD卡上文件存取的單位。要讀取SD卡上的文件,就必須要用簇來鏈接,通過文件名來鏈接到該文件目錄登記項所在的地址,再用目錄登記項中的起始簇號來查找到文件在數(shù)據(jù)區(qū)DATA中第一簇的內(nèi)容和在FAT表中找到第二個簇號,接著又根據(jù)第二個簇號再找到第二簇的內(nèi)容和FAT表中的第三個簇。如此進行,就能夠根據(jù)FAT表中的簇號來讀取全部文件數(shù)據(jù),但在寫文件時就必須要
70、保證FAT1和FAT2中內(nèi)容的一致性,即對兩塊都要進行同樣的寫操作[10]。對于FATl6系統(tǒng)文件,可根據(jù)下面的公式計算出數(shù)據(jù)起始邏輯扇區(qū)號[11]: 起始邏輯扇區(qū)=隱藏扇區(qū)數(shù)+1+2*每FAT扇區(qū)數(shù)+FDT扇區(qū)數(shù)+(起始簇號-2)*每簇扇區(qū)數(shù)</p><p> 4.5.3 實現(xiàn)SD卡文件的刪除</p><p> SD卡文件管理中還有一個重要的方面,那就是實現(xiàn)對文件的刪除。由于
71、刪除文件。并沒有涉及到數(shù)據(jù)區(qū)的操作,那么只須在文件的目錄登記項中進行操作[12]。</p><p> 4.6 U盤文件管理系統(tǒng)</p><p> U盤數(shù)據(jù)的儲存同樣也是采用FAT文件系統(tǒng)進行的,并且可將其儲存空間劃分為五大板塊,即由主引導扇區(qū)(MBR)、DOS引導區(qū)(DBR)、文件分配表(FAT)、文件目錄表(FDT)和數(shù)據(jù)區(qū)組成。但是U盤文件級子程序庫和大量的固件協(xié)議都能在CH375
72、中提供,所以單片機可以直接調(diào)用子程序來讀寫U盤中的文件數(shù)據(jù)。U盤文件的讀寫方式同樣也是采用扇區(qū)模式進行讀寫,USB存儲設(shè)備中的數(shù)據(jù)和定義其數(shù)據(jù)結(jié)構(gòu)都可以由單片機自由操作。</p><p> U盤通信采用查詢中斷響應的方式進行,流程如圖4-3所示。</p><p> 圖:4-3 U盤讀流程圖</p><p> 單片機利用查詢中斷方式來識別有沒U的存在,當U盤插進
73、來瞬間,CH375的INT#口會產(chǎn)生一個低電平的中斷信號反饋給單片機,等待單片機把該信號恢復為高電平,完成U盤的成功接入操作,然后單片機利用FAT系統(tǒng)文件通過CH375來查詢U盤內(nèi)的MP3文件,并將讀到的數(shù)據(jù)流返回主程序送給VS1003進行解碼,完成對U盤的讀操作。</p><p> 第五章 系統(tǒng)測試與分析</p><p> 5.1 系統(tǒng)設(shè)計過程</p><p&g
74、t; 設(shè)計前準備工作,認真查閱資料,對比可選方案,最終明確設(shè)計的方案,同時也對一些設(shè)計中的主要芯片進行大概的了解。然后就是購買所需器件,以便在畫圖過程中能夠按照元器件來畫出封裝。運用專業(yè)的電路設(shè)計軟件Altium Designer來設(shè)計原理圖,添加相對應的元件封裝后便可成功導入PCB圖制作,然后需在PCB面板上進行線路的布線和元器件的位置擺放,過程中應考慮元器件布局的合理性,線路的干擾性等問題。嚴格遵守地線大于電源線大于信號線的布線規(guī)
75、則。要制作出電路板,還必須在打印PCB圖之后進行熱轉(zhuǎn)印,如果轉(zhuǎn)印完畢的銅板線路有斷開或者不清楚的現(xiàn)象,則可用油性墨筆補齊,等油墨干之后采用鹽酸與雙氧水配置的混合液進行洗板。洗板后為了減少污染環(huán)境應對廢液進行回收。然后對板進行打孔,根據(jù)不同封裝孔的大小采用不同的鉆孔針。隨后要用砂紙擦去銅上的碳粉,涂上用酒精和松香配置的松香水,因為這樣可以幫助焊接錫,防止銅被氧化。最后是焊板,焊接時間不可太久,以免燒壞芯片或元器件,焊接時要防虛焊。至此就完
76、成了一塊電路板的制作,接下來就是針對模塊的調(diào)試。</p><p> 在本次設(shè)計中,由于Atmega128的管腳比較多,對設(shè)計者來說印PCB也是有一定的難度的,為了節(jié)約成本,做單層板比較經(jīng)濟,雖然系統(tǒng)的跳線多,但是不會影響性能的實現(xiàn)。當然也可以手工做雙層板,在做雙層板時要注意手工熱轉(zhuǎn)印時圖紙上下的對齊,這樣才能使熱轉(zhuǎn)印后板上的封裝孔對齊,這也是一種技術(shù)活。一開始,我在設(shè)計中也用了雙層板,追求的是出板的美觀性,可是
77、經(jīng)過多次熱轉(zhuǎn)印后才能成功,可惜過孔太多,焊接技術(shù)有待提高,故選用了單層板設(shè)計,優(yōu)化了布線。而對于VS1003解碼模塊,由于諸多原因,沒能成功做出手工的模塊板,原因如下:元件布局復雜,更重的是貼片式,對于初學者來說具有一定的難度;做出的板無法正常解碼,影響大。手工版的VS1003解碼模塊的布局無法與主板模塊構(gòu)成一個整體的美觀??偟膩碚f,自身存在焊板技術(shù)不高,PCB元件布局合理性安排不夠,故所做的VS1003解碼板最終失敗,只能選用現(xiàn)買的工
78、業(yè)板模塊或把PCB圖發(fā)到加工廠去做成工業(yè)板,這樣可避免手焊的故障。總結(jié):做板需要耐心,需要技巧,在原理圖設(shè)計過程中需要懂設(shè)計原理,謹慎檢查,對焊貼片式芯片時,注意把握電烙鐵融錫的時間,不能燙太久。</p><p><b> 5.2 模塊的調(diào)試</b></p><p> 硬件完成后,接下來就是軟件的編寫與調(diào)試。在程序的編寫過程中,為了規(guī)范程序的書寫,而且考慮到本設(shè)計
79、的模塊比較多,如果只是用一個XX.C文件來編寫則程序會相當繁雜,并且不方便錯誤的檢查,所以本設(shè)計程序運用了多個XX.C和XX.H文件,這樣不僅簡化了程序,并且也方便今后對該程序的移植,很多高級工程師都是利用這種程序編程方式。編程過程中利用了一個工程整體的宏定義,管理著整個工程。</p><p> 在調(diào)試的過程中,一開始需要解決主控芯片的熔絲問題,然后開始查找相關(guān)資料大概了解本設(shè)計的原理,接著從顯示部分開始調(diào)試。
80、一個MP3需要看進程,就必須用到顯示屏,所以我是從驅(qū)動5110液晶開始調(diào)試的。5110的數(shù)據(jù)口很少,用到SPI模式驅(qū)動(也可以用模擬得SPI模式方式驅(qū)動),仔細查閱了芯片SPI工作方式,知道SPI是一種同步的串行接口,它有一個片選線、時鐘線、數(shù)據(jù)輸出線、數(shù)據(jù)輸入線,對于5110液晶不需要讀數(shù)據(jù),所以不需要數(shù)據(jù)輸入線,通過時鐘線進行同步,在對照時序圖后成功驅(qū)動了5110液晶,成果是:能在5110液晶上顯示字符。接著是SD卡的調(diào)試,在SD卡
81、的調(diào)試過程中,出現(xiàn)了很多問題,一開始無法使SD卡初始化成功,仔細對照資料,才發(fā)現(xiàn)對SD卡的SPI驅(qū)動時序不對,通過在網(wǎng)上查找單片機驅(qū)動SD卡SPI方式的資料,最后終于能驅(qū)動SD卡,可是對于SD卡讀取FAT文件方面還存在很大問題,在調(diào)試的液晶界面上,能顯示LCD初始化成功,SD卡初始化成功,可是在SD卡內(nèi)放歌曲,還是無法識別,此時在同學的提示下,我又把字庫文件放到了SD卡根目錄下,可是還是沒辦法解決,無法識別FAT系統(tǒng)文件。我認真地查看了
82、FA</p><p><b> 簇的計算公式:</b></p><p> ?。ㄉ葏^(qū)*512/4)-2 公式中的4表示每4個字節(jié)表示一個簇項</p><p> 第2簇是根目錄所在的簇,它的位置在第二個FAT表。讀文件,從首簇開始,對于文件滿一簇的數(shù)據(jù)就可以把一簇的數(shù)據(jù)讀出來,但是結(jié)尾不是一簇的部分,就要計算它占用了簇內(nèi)幾個扇區(qū),把占用整個扇區(qū)
83、的部分直接按扇區(qū)讀出來,而最后很有可能是零散的若干個字節(jié),不是一個扇區(qū)[13]。對于這部分要將整個扇區(qū)讀出,截取其中有效數(shù)據(jù)的部分。</p><p> 簇的大小一般是2n個扇區(qū)</p><p> 根目錄區(qū)扇區(qū)數(shù)=根目錄項數(shù)*32/每扇區(qū)字節(jié)數(shù)</p><p> 以上就是解決FAT文件結(jié)構(gòu)的一些知識。</p><p> 應用FAT系統(tǒng)文
84、件就可以很快解決歌曲的切換問題。往下需要加進來的就是VS1003模塊,由于這些模塊都是從淘寶上買來的測試模塊,所以在硬件方面一般不會有太大問題,在加入VS1003模塊后,剛開始插上耳機無法聽到聲音,我仔細檢查了接線,還認真對照了VS1003芯片的官網(wǎng)發(fā)布的驅(qū)動資料,終于能在耳機下聽到雜音。最后就是對U盤通信進行調(diào)試,由于U盤的驅(qū)動芯片CH375內(nèi)嵌通信協(xié)議,所以只需按照協(xié)議來調(diào)用其指令,按照寫入所需的命令,便能實現(xiàn)其初始化。接下來就是完
85、善5110液晶上的界面,由于液晶是一種84x48的點陣LCD,可以顯示4行漢字,如果要顯示一個字母那可用8X6的點陣就可以顯示,一開始考慮如何顯示進程,參考了論壇中一些例子,最終用邊為2個點,長為24個點來點亮一根進程軸,中間的點是不亮的,所以看起來很美觀,但是對于進程和歌曲的同步而言的確是個難題,也只能請教一些對這方面有經(jīng)驗的朋友和查看一些文檔,最后發(fā)現(xiàn)可以利用VS1003解碼芯片內(nèi)含的時鐘同步,這也是為什么時鐘端用同一根線的原因,同
86、時也可以把解碼時間送給液晶,在液晶上顯示出來。</p><p> 以上就是各模塊的調(diào)試,這樣一個簡單的MP3就可以完成了。能在液晶屏上顯示進程軸,音量軸,和頻譜。美觀,易操作。</p><p> 5.3 系統(tǒng)測試達到的技術(shù)指標</p><p> 1、實現(xiàn)了單片機對SD卡的讀寫操作、對U盤的高速讀取及SD卡內(nèi)部數(shù)據(jù)儲存結(jié)構(gòu)。此指標界面如圖5-1所示,在程序的設(shè)定
87、中實現(xiàn)了液晶初始化OK、VS1003初始化OK、SD卡初始化OK、FAT32初始化OK、提示沒有MP3文件。</p><p> 圖5-1:初始化的界面</p><p> 2、能采用VS1003解碼電路進行音頻解碼,得到比較高質(zhì)的音質(zhì)。</p><p> 3、能在諾基亞5110上顯示歌曲題目和進程以及動態(tài)頻譜。此指標調(diào)試中的界面如圖5-2,5-3所示。</
88、p><p> 圖5-2:調(diào)試中的歌曲進程</p><p> 圖5-3:播放歌曲中的界面</p><p> 4、用按鍵控制音樂的播放、暫停、快進、后退,此指標如圖5-4所示。</p><p> 圖5-3:運行中的整體實物圖</p><p><b> 第六章 結(jié)束語</b></p>
89、<p> 經(jīng)過半年的不懈努力,在老師的耐心指導和同學的熱心幫助下,我終于按期完成了畢業(yè)設(shè)計。</p><p> 通過這次令人深刻的畢業(yè)設(shè)計,不僅檢驗了我大學所學的知識,還讓我更加深刻地體會到學電子調(diào)程序的樂趣,也為今后從事電子事業(yè)奠定了基礎(chǔ)。過程中讓我更加深入了解到了SD卡存儲文件的過程、SD卡工作原理、VS1003解碼原理,SPI方式以及Atmega128的結(jié)構(gòu)功能和具體使用,也使我再一次深入
90、學習了電路PCB板的設(shè)計與制作。本次設(shè)計,不但鞏固了我們所學的專業(yè)知識,而且還增長了課外知識,加強了自身的動手能力。</p><p> 本設(shè)計經(jīng)過各個模塊的單獨調(diào)試,運用了逐漸添加模塊調(diào)試的方法,在設(shè)計功能上已基本能實現(xiàn)設(shè)計的基本要求。本設(shè)計硬件簡單,軟件也不是很復雜,具有易于開發(fā), 成本較低, 安全可靠, 方便實用,操作方便等特點。我相信對于每一個即將畢業(yè)的大學生來說,實打?qū)嵉刈龀鲞@樣的一個音樂播放器,將會收
91、獲頗多。 </p><p> 總之,音樂播放器的設(shè)計采用了Atmega128單片機作為系統(tǒng)的中央處理控制單元,結(jié)合了操作軟件,實現(xiàn)了歌曲的播放、暫停、上下曲切換、歌曲進度的顯示、聲音大小調(diào)節(jié)等功能。</p><p><b> 參考文獻</b></p><p> [1] 高立艾. 可遙控車載MP3播放器的設(shè)計
92、[D]. 河北農(nóng)業(yè)大學 2006.</p><p> [2] 王洪亮. 車載MP3播放器音頻解碼的軟件設(shè)計[D]. 哈爾濱理工大學 2010.</p><p> [3] 張洪,董秀成. 基于AVR單片機的通用USB接口模塊設(shè)計[J].國外電子元器件.2008(05).</p><p> [4] 劉有利. 基于USB的高速數(shù)據(jù)采集系統(tǒng)設(shè)計[D]. 西安電子科技大
93、學 2006.</p><p> [5] 戴小俊,丁鐵夫,鄭喜鳳. 基于USB和DSP的數(shù)據(jù)采集系統(tǒng)的設(shè)計[J].電子技術(shù)應用.2007(01).</p><p> [6] 劉有利. 基于USB的高速數(shù)據(jù)采集系統(tǒng)設(shè)計[D]. 西安電子科技大學 2006.</p><p> [7] 謝兵. ICCAVR和Protues在單片機教學中的應用[J]. 科技信息.20
94、10(09).</p><p> [8] 劉素花,龔德俊,徐永平,李思忍. SD卡在海洋數(shù)據(jù)存儲中的應用[J]. 海洋科學.2009(03).</p><p> [9]SanDiskCorporation.SanDiskSecureDigitalCardProductManual.Versionl.9,2003-12.</p><p> [10] SD Gro
95、up. SD specifications part 1: physical layer simplified specification version 2.0,september 25, 2006.</p><p> [11]戴士劍,涂彥暉.數(shù)據(jù)恢復技術(shù)[D].電子工業(yè)出版社.2005.</p><p> [12] 張凱,姜熙君,陳磊,金振成. MMC卡的文件系統(tǒng)及其實現(xiàn)方法[J]
96、. 單片機與嵌入式系統(tǒng)應用.2006(05).</p><p> [13] 王德沅. MP3~MP6播放器探秘(4)[J]. 電子制作. 2010(04).</p><p> [14] 康華光. 《電子技術(shù)基礎(chǔ)》(數(shù)字部分 第四版)[M]. 高等教育出版社,2000:198-200.</p><p> [15]沈建良.ATmega128 單片機入門與提高[M]
97、. 北京航空航天大學出版社,2009:200-218</p><p> [16] 謝龍漢,魯力. Altium Designer 原理圖與PCB設(shè)計及仿真[M].電力工業(yè)出版社,2011:250-300.</p><p> [17] 覃俊,林芳. 語言程序設(shè)計教程[M]. 清華大學出版,2008:12-250.</p><p> [18] 豐帆. MP3數(shù)字音
98、頻編解碼算法的研究及實現(xiàn)[D]. 西安電子科技大學 2008.</p><p><b> 致謝</b></p><p> 光陰似箭,白駒過隙,本論文的研究工作已接近尾聲,在此我要向我的指導老師侯義鋒老師致以衷心的謝意。侯老師對論文的研究方法、研究目的和學術(shù)思想給予了我嚴格的要求和有效的指導。他嚴謹?shù)慕虒W態(tài)度、認真細致的敬業(yè)精神鼓勵我不斷攻克難關(guān),保證了我的論文能按
99、要求順利地完成。我取得的每一點成績都與侯老師的精心指導和關(guān)心是分不開的。再次感謝侯老師幾個月來對我始終如一的關(guān)心和幫助。是他在我設(shè)計當中給了我許多寶貴的建議,不斷的鼓勵我,耐心的幫我修改論文。從課題的選取,到開題報告,到系統(tǒng)的設(shè)計,直到我通過答辯的這一刻,無不凝聚著侯老師的辛勞。我謹向侯老師致以最誠摯的敬意和衷心的感謝。</p><p> 另外,要感謝學院領(lǐng)導對我們專業(yè)的重視和關(guān)心,為我們提供這么好的動手操作環(huán)
100、境,讓我們的動手能力顯著提高。再次,要感謝在我的畢業(yè)設(shè)計當中遇到困難時,給與我的熱情幫助和支持的各位老師和同學,正是他們不厭其煩的和我一起討論相關(guān)問題,一起探索遇到的困難,使少走了不少彎路。我向他們表示衷心的感謝!</p><p> 同時,借此機會向所有幫助、關(guān)心、支持過我的老師、朋友和同學們表示最衷心的感謝!</p><p> 最后,要感謝電子系所有老師,謝謝他們對我大學四年的精心栽
101、培,為我以后的學習工作打下了堅實的基礎(chǔ)。謝謝你們!</p><p> 附錄1(原理圖、PCB圖、實物圖)</p><p> 1、主控板原理圖及PCB</p><p> 附圖1:主控板原理圖</p><p> 附圖2:主控板PCB圖</p><p><b> 2、解碼模塊原理圖</b>&l
102、t;/p><p> 附圖3:解碼模塊原理圖</p><p> 附圖4:主控模塊實物圖</p><p><b> 附錄2(程序)</b></p><p> 1、main.h文件</p><p> #include <iom128v.h></p><p>
103、#include <macros.h></p><p> #include "eeprom.h"</p><p> #include "SD.h"</p><p> #include "FAT32.h"</p><p> #include "VS1003
104、B.h"</p><p> #include "key.h"</p><p> #include "5110.h"</p><p> #include "task.h"</p><p> #include "CH375INC.H"</p&g
105、t;<p> #define SETBIT(x, y) (x |= y)</p><p> #define CLEARBIT(x, y) (x &= ~y)</p><p> extern void Delay_us(unsigned int time);</p><p> extern void Delay_ms(
106、unsigned int time);</p><p> extern void ASCII(unsigned char *b,unsigned char n);</p><p> extern void main_init(void);</p><p> extern void IO_init(void);</p><p><
107、b> main.c文件</b></p><p> #include "main.h"</p><p> unsigned int MP3_total=0,MP3_current_number;</p><p> unsigned int xi;</p><p> unsigned char pl
108、ay_state;</p><p> unsigned char key_value=play;</p><p> unsigned char set_volume; </p><p> unsigned char buffer[512]; //緩存扇區(qū)的512個字節(jié) </p><p> void main(vo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- mp3播放器設(shè)計設(shè)計
- 基于dsp的mp3播放器設(shè)計
- 基于fpga的mp3音樂播放器設(shè)計
- 基于ZSP的MP3播放器SoC設(shè)計.pdf
- 基于linux的mp3播放器設(shè)計與實現(xiàn)
- 基于dsp的多功能mp3播放器設(shè)計
- 基于arm的mp3播放器設(shè)計與實現(xiàn)
- 基于java的mp3播放器設(shè)計與實現(xiàn)
- 基于android的mp3播放器的設(shè)計與實現(xiàn)
- 基于vs1003的mp3音樂播放器設(shè)計
- 基于java的MP3播放器設(shè)計與實現(xiàn).doc
- mp3播放器的實現(xiàn)開題報告
- 基于DSP的MP3播放器的設(shè)計與實現(xiàn).pdf
- MP3播放器的虛擬光驅(qū).pdf
- 畢業(yè)設(shè)計---mp3播放器的設(shè)計與實現(xiàn)
- 基于FPGA的MP3播放器的設(shè)計與實現(xiàn).pdf
- 畢業(yè)設(shè)計---mp3播放器的設(shè)計與實現(xiàn)
- 基于android的mp3音樂播放器設(shè)計畢業(yè)設(shè)計論文
- 基于vs1003解碼器的mp3播放器設(shè)計
- 基于android的MP3播放器的設(shè)計與實現(xiàn)論文.doc
評論
0/150
提交評論