【正文】
要管理USB總線的通用接口芯片CH37MP3解碼芯片VS100LCD12864液晶顯示屏和按鍵的處理,同時還要管理USB存儲設備中的文件系統(tǒng),查找文件等等。而U盤和SD卡都是不錯的選擇,并且U盤和SD卡均容易購買到,并且價格較為低廉,所以,存儲部分選用U盤讀取來實現(xiàn)。(4)存儲媒介,MP3播放器需要大容量的存儲器來存放歌曲,可以選擇 Flash芯片存儲、SD卡、U盤等。(3)液晶顯示采用普通單色LCD來實現(xiàn),這里考慮到音樂播放顯示的功能,同時兼顧成本,故選用LCD12864來實現(xiàn)。在USB主機方式下,CH375還提供了串行通信方式,通過串行輸入、串行輸出和中斷輸出與單片機/DSP/MCU等相連接。(2)USB設備接口芯片選用南京沁恒公司的CH375,CH375是一個USB總線的通用接口芯片,支持HOST主機方式和SLAVE設備方式。經(jīng)過比較,選用VS1003作為解碼芯片,該芯片支持 MPWMA、WAV、MIDI、等格式的解碼,自帶DAC輸出;同時,還可以調(diào)節(jié)音量、高低音等,更重要的是它還具有MIC功能,如需要,還可以實現(xiàn)錄音功能。(1)MP3 解碼本設計是利用STC12C5A60S2單片機控制來實現(xiàn)歌曲播放功能的,但對單片機本身來說不能進行音頻解碼(速度與資源都不符合要求),所以只能利用外部解碼芯片來實現(xiàn)歌曲播放功能。該設計具有四按鍵操作界面,界面顯示友好,支持MPWMA和MID音樂格式,該系統(tǒng)支持FAT32文件系統(tǒng),支持大容量U盤。為了體現(xiàn)音樂播放過程中的效果,增加了LCD屏,可以實現(xiàn)歌曲名的顯示。將各個音階連接在一起,便可組成一支曲子或者是演奏一段旋律,不能播放真正的MP3文件。本文將從軟硬件方面介紹如何用單片機控制USBHOST讀取U盤中的文件并將其解碼播放。該播放器類似于個人計算機的音樂播放軟件,可識別、提取U盤所存儲的MPWMA或MIDI格式的文件并可自行完成音頻解碼數(shù)據(jù)處理,最后送揚聲器或耳機進行播放。于是將存儲器與播放器分離成為MP3的另一發(fā)展方向。如果想裝下更多的歌曲只能去購買新的產(chǎn)品,造成了巨大的浪費。 audio decoding目 錄1 引言 1 設計背景 1 設計意義 1 理論分析與方案論證 1 理論分析 1 設計方案論證 22 系統(tǒng)硬件原理及概述 3 STC12C5A60S2處理器介紹 3 系統(tǒng)硬件電路綜述 3 硬件系統(tǒng)總體設計方案 3 USB總線的通用接口芯片CH375電路 4 LCD12864顯示電路 5 按鍵控制電路 5 音頻解碼芯片VS1003電路 53 系統(tǒng)軟件設計 6 軟件開發(fā)平臺 6 系統(tǒng)的軟件設計 7 軟件總體分析 7 CH375軟件系統(tǒng)設計 10 CH375模塊的U盤數(shù)據(jù)讀取程序設計 11 VS1003模塊的MP3文件播放程序設計 13 系統(tǒng)流程圖 144 系統(tǒng)調(diào)試結(jié)果及分析 15結(jié)束語 18參考文獻 19附錄 20致謝 33 1 引言 設計背景隨著電子技術(shù)的發(fā)展,MP3播放器向大容量、高音質(zhì)、小巧便攜不斷發(fā)展。 music player。聲音的播放可以通過揚聲器或耳機進行,基本實現(xiàn)了音樂播放器的功能。南 陽 理 工 學 院 本科生畢業(yè)設計(論文)學 院: 電子與電氣工程學院 專 業(yè): 自動化 學 生: 郝帥臣 指導教師 : 劉忠超 完成日期 2013 年 5 月 南陽理工學院本科生畢業(yè)設計(論文) 基于51單片機的音樂播放器的軟件設計Software Design of Music Player Based on 51 MCU總 計 : 33 頁表 格 : 3 個插 圖 : 15 幅南 陽 理 工 學 院 本 科 畢 業(yè) 設 計(論文)基于51單片機的音樂播放器的軟件設計Software Design of Music Player Based on 51 MCU學 院: 電子與電氣工程學院 專 業(yè): 自動化 學 生 姓 名: 郝帥臣 學 號: 1109624064 指 導 教 師(職稱):劉忠超(講師) 評 閱 教 師: 完 成 日 期: 南陽理工學院Nanyang Institute of Technology基于51單片機的音樂播放器的軟件設計自動化專業(yè) 郝帥臣[摘 要]本課題完成了基于51單片機的音樂播放器的軟件設計。論文主要介紹了對U盤所存儲的MPWMA或MIDI格式的文件識別、提取以及音頻解碼程序?qū)崿F(xiàn)的方法,通過與硬件調(diào)試表明所設計的音樂播放器可以通過按鍵選擇歌曲以及控制音量,同時還可以通過顯示屏來顯示所播放的歌曲名。[關鍵詞]單片機;音樂播放器;U盤文件讀??;音頻解碼 Software Design of Music Player Based on 51 MCUAutomation Specialty Hao ShuaichenAbstract:This topic finishes the software design of the music player based on the 51 microcontroller. The paper mainly introduces the method of identification, extraction and audio decoding program to the storing the U disk MP3, WMA or MIDI format file. At the same time the hardware debugging shows that the music player can select the songs and control the volume through the keyboard, at the same time through the screen display the song name. The sound can play through the speakers or headphones. The design basically realizes the function of music player.Key words:Single chip microputer。 u disk file reading。雖然播放器與存儲器的一體化設計,使MP3播放器便于攜帶,但與此同時他也帶來了很多新的問題,比如存儲容量固定。另一方面,一體化又限制了MP3播放器在其他領域的應用,比如車載MP3等不方便移動的播放器。本設計以單片機為核心控制器,設計一個音樂播放器,主要完成U盤存儲的音頻文件數(shù)據(jù)提取及播放任務。通過自定義鍵盤設定,當有鍵按下時,能控制歌曲的播放或音量,并通過LCD來顯示播放音樂的歌曲名,同時USBHOST的開發(fā)也為實時數(shù)據(jù)采集的移動存儲提供了價格低廉的解決方案。 設計意義基于單片機的音樂播放器可應用于MP3,MP4,擴音器等很多方面,并可作為很多系統(tǒng)的輔助功能,傳統(tǒng)的音樂播放器是利用定時器可以產(chǎn)生各種固定頻率的方波信號,可以產(chǎn)生包括“Do”、“Re”、“Me”等音階在內(nèi)的各種頻率聲音?;谶@個思想本文設計了一款特殊的“音樂播放器”,該播放器可實現(xiàn)MP3文件的完整播放,可以選擇音量調(diào)節(jié),曲目的切換等功能。本設計以STC12C5A60S2芯片作為主控制器,芬蘭VLSI公司的VS1003作為音頻解碼芯片,南京沁恒公司的CH375作為USB設備接口芯片,以U盤作為媒體存儲介質(zhì),LCD12864液晶屏作為顯示屏,來完成音樂播放器的功能。 理論分析與方案論證 理論分析針對本MP3音樂播放系統(tǒng),要選擇合適的控制芯片及外部芯片來實現(xiàn),下面介紹一下芯片的選用。MP3解碼芯片常見的有VS100X 系列和 STA01X系列,VS系列自帶DAC輸出功能,而且能解碼的音頻格式也比較多;而STA系列需要外加DAC,使用起來多有不便,而且只能解碼MP3一種格式的音樂文件。因此,選用此芯片作為解碼芯片。在本地端,CH375具有8位數(shù)據(jù)總線和讀、寫、片選控制線以及中斷輸出,可以方便地掛接到單片機/DSP/MCU等控制器的系統(tǒng)總線上。CH375的USB主機方式支持各種常用的USB全速設備,外部單片機/DSP/MCU可以通過CH375按照相應的USB協(xié)議與USB設備通信。該液晶屏本身帶有字庫功能所以,系統(tǒng)不需要有外部字庫文件,可實現(xiàn)曲目的漢字顯示。如果選用Flash,則整個系統(tǒng)要求較多的I/O端口來讀取,更重要的一點是,這樣做的后果就是整個系統(tǒng)的容量就被固定了,擴容存在困難。 設計方案論證通過以上的理論分析,對本設計的所有的主要芯片有了初步的了解。存儲器里的媒體文件首先被讀取到MCU的RAM中,然后又被送到解碼芯片中,解碼后的音頻數(shù)據(jù)被還原成模擬音頻,再由揚聲器傳出。其它芯片是通過普通I/O端口連接的。內(nèi)部集成MAX810專用復位電路,2路PWM,有8路高速10位的A/D轉(zhuǎn)換(250K/S),STC12C5A60S2引腳序列如圖1所示。通過對按鈕的控制來實現(xiàn)對單片機要求播放的音樂,并通過放大電路和音頻設備輸出聲音。必要時可調(diào)節(jié)音量的大小。圖2硬件系統(tǒng)總體方框圖 USB總線的通用接口芯片CH375電路CH375芯片是一個支持USBHOST主機方式和USBDEVICE/SLAVE設備方式的USB總線通用接口芯片。在USB 主機方式下,CH375還提供了串行通訊方式,通過串行輸入、串行輸出和中斷輸出與單片機/DSP/MCU/MPU等相連接。 圖3 USB總線的通用接口芯片CH375電路接線圖CH375的USB主機方式支持常用的USB全速設備,外部單片機可以通過CH375按照相應USB協(xié)議與USB設備通訊。主機端點輸入和輸出緩沖區(qū)各64字節(jié)。通過U 盤文件級子程序庫實現(xiàn)單片機讀寫USB存儲設備中的文件。 LCD12864顯示電路顯示電路主要是LCD12864電路,它與1602顯示屏接線一樣,唯一的區(qū)別在于1602顯示屏是字符型,只能顯示數(shù)字與字符,不可以顯示漢字。其接線圖如圖4所示。當按鍵按下時接口接低電平,從而實現(xiàn)對音樂曲目的選擇控制。圖5 按鍵控制電路接線圖 音頻解碼芯片VS1003電路VS1003芯片是一個MP3/WMA/MIDI音頻解碼器和ADPCM編碼器。4個常規(guī)用途的I/O端口,一個UART,一個高品質(zhì)可變采樣率的ADC和立體聲DAC,還有一個耳機放大器和地線緩沖器。輸入的比特流被解碼,然后通過一個數(shù)字音量控制器到達一個18位過采樣多位εΔDAC。VS1003電路接線如圖6所示。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些功能組合在一起。本設計使用的是uVision2版本。uVision2集成了C語言編譯器、宏編譯、鏈接/定位、以及HEX文件產(chǎn)生器[1]。圖7 Keil uVision2開發(fā)環(huán)境 系統(tǒng)的軟件設計本系統(tǒng)采用模塊化的編程思想,把整個軟件系統(tǒng)化為多個功能模塊,主程序通過調(diào)用各個子程序來完成各個功能的實現(xiàn)。 軟件總體分析從整體上看,該系統(tǒng)軟件分為三個大的部分: (1)VS1003解碼。主要完成數(shù)字信號的采集、信號濾波等功能。通過調(diào)用各個子程序來完成系統(tǒng)的功能。只要正確寫SPI相關寄存器就能輕松實現(xiàn)控制。設置寄存器“SM_SDINEW為1”使VSl003處于新模式,此時設置SM_SDISHARE為0,控制信號和數(shù)據(jù)信號的傳送將分別采用XCS和XDCS作為同步信號。(2)USB總線的通用接口芯片CH375。本設計中CH375工作在USBHOST模式下,將8位并行數(shù)據(jù)線D0~D7與STC12C5A60S2的P0口相連,實現(xiàn)數(shù)據(jù)與命令的并行傳輸,CH375工作在主機方式MCU通過RD,WR,片選CS、中斷INT和地址線AO的綜合控制,完成與CH375的通訊,通過USB接口實現(xiàn)從U盤讀寫數(shù)據(jù)的功能。(3)LCD12864液晶顯示a)LCD12864引腳功能說明如表1所示。RS,R/W的配合選擇決定控制界面的4種模式如表2所示。當E信號H→L時12864讀取DB端口的數(shù)據(jù)。如表3所示。(4)LCD12864串行連接數(shù)據(jù)傳輸串口模式工作過程:a)串行數(shù)據(jù)傳送共分三個字節(jié)完成。其中,H表示數(shù)據(jù)從LCD到MCU,L表示數(shù)據(jù)從MCU到LCD。其中,H表示數(shù)據(jù)是顯示數(shù)據(jù),L表示數(shù)據(jù)是控制指令。ST7920是12864的控制器,如果使用多個ST7920時,CS被配合使用,CS為高電平有效。b)一個完整的串行傳輸周期有以下部分組成。無關的都補“0”。圖8 LCD12864串行方式數(shù)據(jù)傳輸 CH375軟件系統(tǒng)設計軟件是搭載在硬件上運行的,硬件的資源多少在一定程度上決定了軟件的設計方法和復雜程度。隨著科學的發(fā)展,嵌入式系統(tǒng)復雜度的提