freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機的音樂播放器設(shè)計-文庫吧資料

2025-01-24 14:30本頁面
  

【正文】 和照顧。感謝劉大年老師在學(xué)習(xí)、課程設(shè)計上對我的指導(dǎo)平易隨和、治學(xué)認真嚴謹,和他在一起的時光總是充滿歡笑。在他的諄諄教誨和悉心指導(dǎo)下,我的學(xué)術(shù)水平、理論修養(yǎng)和實踐能力才能獲得很大提高。籍此向他們表示衷心的感謝。綜上所述,這種使用微型存儲卡作為存儲介質(zhì)的MP3播放器仍具有良好的發(fā)展勢頭,擁有一定潛力可供挖掘。對于用戶來說,這無疑是一種新意、一種優(yōu)勢,值得去購買、體驗。因此,這種基于SD卡的MP3播放器在現(xiàn)實中,仍然具有一定潛力。 前景與展望MP3播放器在現(xiàn)在市場上已經(jīng)變得非常常見,從這個角度看,MP3的發(fā)展?jié)摿σ呀?jīng)不是很樂觀。到此,基于SD卡的播放器測試完成。根據(jù)程序分析,由于每26ms需要一幀數(shù)據(jù),而按下按鍵會導(dǎo)致程序中斷數(shù)百毫秒,故出現(xiàn)歌曲播放聲音不連續(xù)的情況。然后,進行按鍵測試。第四章 總結(jié) 基于單片機的MP3播放器測試結(jié)果首先,在一張容量為1G的SD卡中存儲了幾首MPWMA格式的歌曲文件,然后,插入自制的電路板中,上電播放。播放過程主要為搜索音樂,找到音樂數(shù)據(jù)位置,讀取數(shù)據(jù),送入VS1003B解碼,判斷文件是否結(jié)束,沒有則再查找下一簇數(shù)據(jù)并讀取數(shù)據(jù),否則,送入結(jié)束數(shù)據(jù)代碼,跳到下一曲。其程序段如圖39所示。這部分程序可以在死循環(huán)中完成。正因為如此,在鍵盤和顯示器初始化過程中,絕對不能有死循環(huán),而其它程序中循環(huán)部分必須保留一定次數(shù),超過這個次數(shù)就跳出循環(huán)并報錯,交給系統(tǒng)處理錯誤,并發(fā)出警告。初始化各個驅(qū)動的順序必須有嚴格規(guī)定,應(yīng)該從鍵盤開始,到顯示器,再到SPI接口初始化,到SD卡和FAT格式初始化,最后是VS1003B的初始化。因此,下面我們就怎樣進行整體設(shè)計做簡要說明。 MP3軟件運行設(shè)計在完成了各種驅(qū)動程序設(shè)計后,就需要對音樂播放流程、界面和操作進行設(shè)計。遵循這個標準,當DREQ變低時,發(fā)送器必須停止發(fā)送新的數(shù)據(jù)[19]。另外,DREQ引腳在VS1003B的FIFO在能夠接受數(shù)據(jù)的時候輸出高電平。在進行初始化設(shè)置以后,就可以進行數(shù)據(jù)送入解碼芯片進行解碼。VS1003B初始化時,需要對模式寄存器、時鐘頻率及倍頻寄存器、音量寄存器進行設(shè)置。圖38 VS1003B寫數(shù)據(jù)時序圖[18]根據(jù)時序圖可以看出:要操作VS1003B,需要一條8為指令,再跟上8位地址,和寫入該地址的16位數(shù)據(jù)。只有當數(shù)據(jù)請求端變高后才能進行數(shù)據(jù)/指令讀寫。一般我們只需要寫,只有在驗證寫入是否成功時,才讀VS1003B內(nèi)部寄存器。其硬件連接方式在第二章已經(jīng)做了說明,此次設(shè)計中使用的是SPI接口,另外還連接了復(fù)位端、數(shù)據(jù)請求端、數(shù)據(jù)端及命令端。當計算出幀大小波特率和采樣率后,我們就可以對MP3文件進行解碼。F區(qū)決定音樂采樣率,而采樣率值則通過表33可以查出。 L2 Layer II。 V2 – MPEG2/。E部分具體含義如表32所示。圖37 MP3幀頭結(jié)構(gòu)A表示幀同步,所有位置位;B表示MPEG音頻版本;C表示音樂層描述;D為保護位;E為位速率索引;F表示采樣頻率索引;G為填充位;I為聲道模式;其余信息與本次設(shè)計關(guān)系不大,暫未使用,這里不做介紹。幀頭長度為4BYTE(32位),幀后面可能有兩個字節(jié)的CRC校驗。MP3文件大體分為三部分:TAG_V2(ID3V2),F(xiàn)rame,TAG_V1(ID3V1)[17]。因此,下面對MP3文件格式做簡略介紹,以方便對VS1003B進行設(shè)置。本次設(shè)計中使用的是解碼芯片VS1003B,那么,編寫VS1003B的驅(qū)動程序就是解碼中關(guān)鍵環(huán)節(jié)。在使用過程中,我們可以編寫一些專門用于計算文件下一簇/扇區(qū)的程序,這樣就可以通過調(diào)用函數(shù)的方法方便地找到自己需要的數(shù)據(jù),判斷文件是否結(jié)束等情況。因此,在讀取到的數(shù)據(jù)名為00H時,就說明文件已經(jīng)結(jié)束,可以不再往后面讀取文件。在知道以上信息后,可以采用下面計算公式進行計算,算出數(shù)據(jù)所在位置。知道以上信息及其含有,我們就可以計算出磁盤數(shù)據(jù)的位置等信息。其內(nèi)部前96個字節(jié)如圖35所示。而在引導(dǎo)區(qū)最重要的部分為前512字節(jié)。其具體結(jié)構(gòu)如圖34所示。磁盤的第一個區(qū)域是系統(tǒng)區(qū),從0面,0磁道,1扇區(qū)開始。在本次設(shè)計中,為了能夠方便地看到SD卡內(nèi)部數(shù)據(jù),我們采用WinHex軟件對SD看內(nèi)部數(shù)據(jù)進行分析。當我們讀取到這些信息時,還需要進行一些相應(yīng)的計算,找出其中的MP3或其它音樂格式文件的數(shù)據(jù)入口地址、結(jié)束地址等,這樣,單片機才能夠獲得相應(yīng)的數(shù)據(jù),并對數(shù)據(jù)進行分析送給解碼芯片解碼。 FAT驅(qū)動程序設(shè)計當讀取到SD卡中的數(shù)據(jù)后,我們還不能直接使用這些數(shù)據(jù),這些數(shù)據(jù)是根據(jù)微軟制定的FAT/NTFS格式排列存放的。當SD卡激活并完成初始化后,就可以對SD卡數(shù)據(jù)進行讀寫了,其讀取數(shù)據(jù)會在歌曲播放過程中經(jīng)常使用,因此,我們可以編寫一個讀函數(shù)。即,在寫入55H返回01H且寫入41H返回00H,則說明是SD卡;否則,寫入01H返回00H,則為MMC卡。因此,我們可以在本次設(shè)計中加入幾條關(guān)鍵性指令,判斷并激活兩種微型存儲卡。在我們平常使用的mini卡中,還包含很多MMC卡。另外,SD卡的數(shù)據(jù)、指令長度為32位,而SPI總線為8位,在使用過程中還需要編寫一些接口函數(shù)以便編寫SD卡控制函數(shù),操作SD卡。在SD卡被激活后,就可以進行初始化操作。在單片機SPI總線初始化完成后,就要對SD卡進行初始化。其具體代碼如圖32所示圖32 SPI總線初始化代碼段在初始化SPI總線時,一般總線設(shè)置為低速模式,因為大多數(shù)器件在其初始化過程中,都不能有太高的速度,否則,很容易造成部分指令不能被接收,導(dǎo)致初始化失敗。 SD卡驅(qū)動程序設(shè)計SD卡使用的是SPI模式,這種總線接口在AVR單片機中可以直接使用其寄存器加以控制。在掃描按鍵時,不用進行過多的處理,處理越多,耗時越多,對輸出的聲音影響也就越大,所以,在掃描程序中,只需要將按鍵值返回即可,不需要進行太多處理。當檢測到3輸入引腳有低電平輸入時,為了防止是干擾,使用軟件延時10ms再次檢測,若仍然為低電平,則說明有鍵按下,讀出鍵值;然后,再將另外3個引腳設(shè)置為輸出低電平,原來的2個引腳設(shè)置為輸入,使用同樣的辦法可以讀出按鍵值。 鍵盤程序設(shè)計鍵盤部分:由于鍵盤在設(shè)計中使用的是2*3的矩陣鍵盤,所以在編寫程序時相對較為麻煩。如圖31所示。首先,我們分別對鍵盤、SD卡、FAT、vs1003b進行驅(qū)動程序設(shè)計,然后,對這些驅(qū)動程序加以排列、組合,做到最優(yōu)啟動順序,最后進行高層人機接口程序的設(shè)計。第三章 軟件設(shè)計 軟件設(shè)計流程前一章介紹了硬件電路的設(shè)計,本章就要根據(jù)相應(yīng)的硬件,進行軟件設(shè)計。但是,在電平轉(zhuǎn)換時使用了較多的電阻實現(xiàn),對系統(tǒng)模型最終大小有一定影響。圖210 vs1003b連接電路自此,基于SD卡的MP3播放器硬件部分設(shè)計全部完成。圖29 vs1003電平轉(zhuǎn)換電路另外,還有第二步中介紹的時鐘、電源以及特殊引腳的連接。主要輸入引腳為數(shù)據(jù)選擇、命令選擇、復(fù)位、時鐘、查詢忙、數(shù)據(jù)輸入。我們?nèi)匀恍枰獙π酒斎胍_進行電平轉(zhuǎn)換。第三步,接口設(shè)計。其它引腳可以根據(jù)其定義進行連接。TEST為測試保留,也應(yīng)該連接到IOVDD上。它的模擬、數(shù)字及I/O口電源是分開的,其也含有SPI接口,可以進行串行通信,硬件復(fù)位等。第二步,管腳分析。芯片內(nèi)部包含MPwma等硬件解碼,還包含放大電路。在本次設(shè)計中,采用了VS1003B。這款芯片應(yīng)該盡可能包含解碼、放大電路。下面這種介紹一下這部分的設(shè)計步驟。如圖27所示。但是,由于AVR單片機的接口標準電壓為5V。在SPI模式下,SD卡只需要接MISO、MOSI、CLK、CS、CLK、Vss、Vcc這7個引腳就可以了。表22 SD卡引腳定義針腳名稱類型1描述1CS/DAT3I/O/PP卡監(jiān)測/數(shù)據(jù)位32CMD/MOSIPP命令/回復(fù)3VssS地4VccS供電電壓5CLKI時鐘6Vss2S地7DAT0/MISOI/O/PP數(shù)據(jù)位08DAT1/IRQI/O/PP數(shù)據(jù)位19DAT2I/O/PP數(shù)據(jù)位21:S:電源供電,I:輸入O:輸出 I/O:雙向 PP:I/O使用推挽驅(qū)動SD卡的總線概念SD卡數(shù)據(jù)傳輸分為SPI模式和SD模式。其中,它們在不同的模式下有不同的定義。因此,我們現(xiàn)在來分析一下其接口及數(shù)據(jù)傳輸模式。同時,我們可以通過設(shè)計模擬其工作特性的硬件引腳,從而達到節(jié)約端口、操作方便的目的。圖27 SPI主從機的連接[10]從圖中可以看出:SPI接口內(nèi)部數(shù)據(jù)全由寄存器控制,在進行數(shù)據(jù)移出的同時也在進行數(shù)據(jù)的移入。而在接收數(shù)據(jù)時,需要在下一個字符移位過程全部結(jié)束前,通過訪問SPI數(shù)據(jù)寄存器讀取當前接受到的字符;否則第一個字節(jié)將會丟失。SPI系統(tǒng)的發(fā)送方向只有一個緩沖器,而在接受方向有兩個緩沖器。圖26 電源電路最后,介紹一下SPI接口及其電路設(shè)計。按鍵電路如圖25所示。當按鍵按下時,REST與地接通變低電平,電路發(fā)生復(fù)位。如圖24所示。圖23 時鐘電路2. 復(fù)位電路的設(shè)計。而在實際大批量生產(chǎn)時可以采用方式一。但是,可以通過軟件延時的方法消除這個問題。石英晶體頻率較穩(wěn)定,抗干擾能力較強。因此,這種方式只適用于對時間不敏感場合,在本次設(shè)計中不能使用。這種電路可以減少晶體振蕩器的使用,但是,會要增加一個電阻和電容。采用此種設(shè)計時要保持XTAL1和XTAL2為空,這樣可以減少MP3體積大小,但是,這種方式下,不能對CKOPT進行編程,且頻率受溫度影響較大。ATmega32單片機時鐘電路可以采用三種設(shè)計方式。 ATmega8l接口介紹與設(shè)計首先,介紹一下時鐘和復(fù)位電路的設(shè)計。注意,端口C (5..4) 為數(shù)字電源, VCC。不使用ADC時,該引腳應(yīng)直接與VCC 連接。持續(xù)時間小于門限時間的脈沖不能保證可靠復(fù)位。RESET:復(fù)位輸入引腳。作為輸入使用時,若內(nèi)部上拉電阻使能,則端口被外部電路拉低時將輸出電流。端口D(PD7..PD0):端口D 為8 位雙向I/O 口,具有可編程的內(nèi)部上拉電阻。門限時間見P 35Table 15 。注意PC6 的氣特性與端口C 的其他引腳不同若RSTDISBL 熔絲位未編程,PC6 作為復(fù)位輸入引腳。在復(fù)位過程中,即使系統(tǒng)時鐘還未起振,端口C 處于高阻狀態(tài)。其輸出緩沖器具有對稱的驅(qū)動特性,可以輸出和吸收大電流。若將片內(nèi)標定RC 振蕩器作為芯片時鐘源,且ASSR 寄存器的AS2 位設(shè)置,PB7..6 作為異步 T/C2 的TOSC2..1 輸入端。通過時鐘選擇熔絲位的設(shè)置, PB6 可作為反向振蕩放大器或時鐘操作電路的輸入端。作為輸入使用時,若內(nèi)部上拉電阻使能,端口被外部電路拉低時將輸出電流。端口B(PB7..PB0)XTAL1/XTAL2/TOSC1/TOSC2:端口B 為8 位雙向I/O 口,具有可編程的內(nèi)部上拉電阻。圖22 ATmega8l引腳圖引腳說明:VCC:數(shù)字電路的電源。 基于SD卡的MP3接口設(shè)計 ATmega8l引腳介紹在進行單片機的接口設(shè)計以前,我們首先來了解并分析一下ATmega32單片機的引腳。從上表我們可以知道:當ATmega8l工作于16MHz時,其最大傳輸速率可以達到16MHz/2=8MHz。使用專門的SPI接口比使用位操作模擬接口時序的方法操作更簡單,效率也更加高。故,ATmega8l單片機符合設(shè)計MP3的系統(tǒng)要求,能夠通過它實現(xiàn)MP3的設(shè)計。 AVR單片機性能接口分析因為ATmega8l單片機在工作在16MHz時能達到16MIPS(即16百萬條指令每秒)的速度,即,這種速度是51系列單片機的12倍。其中,SPI接口通信速度可達到2MB/s,由于本次設(shè)計的SD卡及解碼芯片均含有SPI接口,因此,這種接口給設(shè)計帶來了很大方便。單片機內(nèi)部還含有32KB系統(tǒng)內(nèi)可編程Flash,其可擦寫周期達到10,000次,獨立的鎖定位,可對芯片進行軟件加密以及1KB的EEPROM和2KB的片內(nèi)SRAM。ATmega8l單片機的內(nèi)部資源有先進的RISC指令集、非易失性程序和數(shù)據(jù)存儲器、JTAG接口、特殊功能接口。所有的寄存器都直接與算術(shù)邏輯單元(ALU)相連接,使得一條指令可以在一個時鐘周期內(nèi)同時訪問兩個獨立的寄存器。ATmega8l單片機是基于AVR RISC結(jié)構(gòu)的8位低功耗CMOS微處理器。ATmega8l單片機屬于AVR單片機中配置較高的產(chǎn)品。而51系列單片機大部分指令為雙周期指令,其工作頻率在12MHZ時,每條指令需要2μm,所以,本論文采用AVR系列的ATmega8l單片機,其具有更高的工作性能。其設(shè)計流程如圖21所示。3.通過控制部分,能夠進行上一曲、下一曲的切換等。 論文研究的目標1.能夠完成對SD卡或CF卡的初始化及SD卡中mp3數(shù)據(jù)進行讀取。其與集成芯片相似,需要對其初始化才能正常工作。5.對Mini SD卡的初始化及文件讀寫。對于不同的MP3解碼芯片,其操作、控制字及外圍電路也各不相同,找出性價比高且外圍電路簡單的芯片就顯得比較重要。如果對MP3解碼不夠了解,就可能導(dǎo)致設(shè)計的失敗。在使用MP3解碼芯片解碼時,必然會用到解碼相關(guān)知識。故進行MP3格式的分析可以幫助我們編寫相應(yīng)分析程序,并為控制MP3解碼芯片作出必要的準備。2.分析mp3文件格式。其內(nèi)部數(shù)據(jù)存儲方式及引導(dǎo)區(qū)大小等情況顯得尤其重要。 論文研究的內(nèi)容和目標 論文研究的內(nèi)容1.分析FAT32磁盤文件格式。本系統(tǒng)采用通用單片機處理,對MP3算法做了硬件方式的實時編碼滿足音質(zhì)要求。低成本。本系統(tǒng)提供了SD卡接口,可以方便地訪問外部的移動存儲介質(zhì),這樣就不會有特定的容量限制。此次論文便是根據(jù)這些情況而設(shè)計。 課
點擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1