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

正文內(nèi)容

20xx基于單片機(jī)制作mp3播放器畢業(yè)論文(編輯修改稿)

2025-07-03 17:54 本頁面
 

【文章內(nèi)容簡介】 內(nèi)是以頁為單位進(jìn)行存儲的,所以MP3的播放程序初始化就是要把該文件的首地址和頁數(shù)先讀出到CPU中,然后CPU可以根據(jù)如上數(shù)據(jù)進(jìn)行取數(shù)據(jù)工作。第二部分則一直在等待中斷發(fā)生,該程序是與鍵盤結(jié)合起來的,主要用于使用者對播放過程的控制。鍵盤操作對MP3播放過程的控制還包括后退、躍進(jìn)、跳到下一首、音量控制等。因為整個播放過程的鍵盤控制功能比較單一,沒有鍵的復(fù)合操作,所以程序都很容易實現(xiàn)[13]。U盤存儲功能模塊的工作如下:當(dāng)MP3播放器插入到USB接口時,系統(tǒng)執(zhí)行USB通訊功能模塊,該模塊主要用于對flash存儲器內(nèi)的文件數(shù)據(jù)進(jìn)行管理。固件程序是該模塊開發(fā)的主要工作,由于AT89C51SND1C沒有外部中斷引腳,USB中斷沒有中斷向量地址入口,因此該固件程序的框架采用查詢工作方式。因為該系統(tǒng)還要具有U盤的功能,所以存儲器中的文件還要能夠讓計算機(jī)讀寫和識別,也就是所有的文件還要嚴(yán)格滿足計算機(jī)文件系統(tǒng)格式的要求。在所有計算機(jī)文件系統(tǒng)中,F(xiàn)AT是比較常用的一種。一個FAT文件系統(tǒng)卷由4個部分組成:保留區(qū)、FAT區(qū)、根目錄區(qū)、文件和目錄數(shù)據(jù)區(qū)。其中保留區(qū)中的第一個分區(qū)必須是BPB,也稱作“引導(dǎo)扇區(qū)”,因為它含有對文件系統(tǒng)進(jìn)行識別的關(guān)鍵信息,計算機(jī)將以此信息識別存儲器文件格式,因此十分重要[14]。FAT區(qū)存放的是文件分配表。操作系統(tǒng)的存儲空間是按簇來分配的,簇是操作系統(tǒng)分配的最小存儲單元,每個簇在FAT表中占據(jù)一個16位的位置,稱為一個表項。同一個文件的數(shù)據(jù)并不一定存放在存儲區(qū)的一個連續(xù)的區(qū)域內(nèi),往往會分成若干段,像一條鏈子一樣的存放,這種存儲方式稱為文件的鏈?zhǔn)酱鎯Α榱藢崿F(xiàn)文件的鏈?zhǔn)酱鎯?,必須?zhǔn)確地記錄哪些簇已經(jīng)被占用,還必須為每一個已經(jīng)占用的簇指明后繼內(nèi)容的下一個簇的簇號,對于一個文件的最后一個簇,則要指明本簇沒有后繼簇,這些就是由FAT表來存儲的。根目錄區(qū)存放的是目錄項,每個目錄項為32個字節(jié),記錄一個文件或目錄的信息。目錄項所占的空間與目錄項的個數(shù)有關(guān)。文件和目錄數(shù)據(jù)區(qū)是真正存放文件數(shù)據(jù)的位置,所有數(shù)據(jù)都按照以上信息分配存儲的。23第5章 實驗結(jié)果MP3系統(tǒng)軟件調(diào)試步驟:燒寫程序:檢查各個部件是否插好,然后打開Atmel Flip軟件,“Device”選擇AT89C51SND1C,通訊選擇“USB”連接方式,(),隨后就會出現(xiàn)下面的畫面。按下“Start Application”,程序就會出現(xiàn)一個進(jìn)度條提示燒寫過程。等燒寫完成后,畫面左邊的“√”處會變?yōu)榫G色,提示程序已寫入。圖51 Flip程序運行界面燒寫程序后,就可進(jìn)行其他調(diào)試工作。25結(jié) 論MP3為取得較好的壓縮效果而采用相對復(fù)雜的技術(shù),寬帶音頻信號的取樣率也較高(),所以MP3編解碼的運算量和數(shù)據(jù)量都相當(dāng)龐大。MPEG Layer III解碼算法在AT89C51SND1C上驗證通過并獲得較好的效果,在通過優(yōu)化后可流暢播放。由于51內(nèi)核單片機(jī)的性能限制,在緩沖時可能會有停頓。以上內(nèi)容敘述了由AT89C51SND1C構(gòu)成的最小系統(tǒng)的結(jié)構(gòu),具備了便攜式MP3播放器的基本功能。其實AT89C51SND1C還支持LCD顯示和IDE接口,還可以通過對以上接口模塊進(jìn)行擴(kuò)展,構(gòu)成更大更復(fù)雜的系統(tǒng)。參考文獻(xiàn)[1](第4版)[M].北京:北京航空航天大學(xué)出版社,2007[2] Users39。 Guide[Z]. 2002.[3]:應(yīng)用與設(shè)計(第2版)[M].北京:北京航空航天大學(xué)出版社, 2007[4]劉昌華,易逵. 8051單片機(jī)的C語言應(yīng)用程序設(shè)計與實踐[M].北京:國防工業(yè)出版社, 2007[5][M].北京:北京航空航天大學(xué)出版社, 2004[6]Working Draft SCSI Block Commands2(SBC2)標(biāo)準(zhǔn).[S].2004[7](第3版)[M].北京:清華大學(xué)出版社, 2005[8]徐愛鈞,彭秀華. Keil Cx51 [M].北京:電子工業(yè)出版社, 2007[9][M].北京:人民郵電出版社, 2007[10]:一個單片機(jī)工作者的實踐與思考[M].北京:北京航空航天大學(xué)出版社, 2008[11](第2版)[M].北京:人民郵電出版社, 2008[12]張迎新,[M].北京:北京航空航天大學(xué)出版社,1999[13]余永權(quán),Flash單片機(jī)原理及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2003[14]李群芳,[M].北京:電子工業(yè)出版社,2001[15][M].北京:電子工業(yè)出版社,200226大學(xué)本科畢業(yè)設(shè)計論文致 謝在臨近畢業(yè)之際,我還要借此機(jī)會向在這四年中給予我諸多教誨和幫助的各位老師表示由衷的謝意,感謝他們四年來的辛勤栽培。不積跬步何以至千里,各位任課老師認(rèn)真負(fù)責(zé),在他們的悉心幫助和支持下,我能夠很好的掌握和運用專業(yè)知識,并在設(shè)計中得以體現(xiàn),順利完成畢業(yè)論文。同時,在論文寫作過程中,我還參考了有關(guān)的書籍和論文,在這里一并向有關(guān)的作者表示謝意。我還要感謝同組的各位同學(xué)以及我的各位室友,在畢業(yè)設(shè)計的這段時間里,你們給了我很多的啟發(fā),提出了很多寶貴的意見,對于你們幫助和支持,在此我表示深深地感謝!67附 錄 MP3源程序**描 述: ATMEL AT89C51SND1 U盤和MP3播放功能的主函數(shù)**include include include /** 宏定義USB端點中斷的標(biāo)志位 **/define EP2 (0x12) define EP1 (0x11)define EP0 (0x10)define EKB (0x10)/** 宏定義MP3播放功能的標(biāo)志位 **/define SELECTSONG 3define PLAY 1define STOP 0/** 聲明外部函數(shù) **/extern void AtmelUSBInit()。extern void EpEnable()。extern void Ep0()。extern void main_txdone()。extern void main_rxdone()。extern void Flash_Reset(void)。extern void MP3_Init()。extern void PlayInit(unsigned char *SongName)。extern unsigned char GetMP3List(void)。extern void Func()。extern void Next()。extern void Previous()。extern void PlayPause()。extern void PlayMP3(unsigned char *SongName)。extern void KeyBoardInit()。/** 定義MP3播放相關(guān)的變量 **/unsigned char SONG[88] = {39。M39。, 39。O39。, 39。O39。, 39。N39。, 39。 39。, 39。 39。, 39。 39。, 39。 39。, 39。T39。, 39。X39。, 39。T39。}。unsigned char data CurrentFun = SELECTSONG。unsigned char data PlayState = STOP。unsigned char data NowPlaying = 0。unsigned char data NumofSong = 0。unsigned char data MP3InitFlag。void key_interrupt() interrupt 11{ unsigned char i = 200。 EA = 0。 //關(guān)中斷 IEN1 amp。= (~EKB)。 //Enable KeyBoard Interrupt while (i) { i。}i = KBSTA。 //取鍵盤中斷位 switch (i) { //依次處理四個鍵中的某個鍵 case 1 : Func()。 break。 //被按下時的情況 case 2 : Next()。 break。 case 4 : Previous()。 break。 case 8 : PlayPause()。 break。 default : break。 } IEN1 |= EKB。 //Enable KeyBoard Interrupt EA = 1。 //開中斷 return。}void main(){ unsigned char sign。 CKCON|=0x01。 //使能該單片機(jī)的X2模式 Flash_Reset()。 //Flash 芯片復(fù)位 if(P3_0) //此引腳為USB接入檢測端 { //在此將設(shè)備做為U盤處理 printu( MP3 USB Disk \n)。 printu(Entering USB Mode...\n)。 //輸出進(jìn)入U盤功能的信息 AtmelUSBInit()。 //USB寄存器配置函數(shù) EpEnable()。 sign=1。 //使能有關(guān)USB的配置 while(sign) { if (UEPINT amp。 EP0) Ep0()。 if (UEPINT amp。 EP1) main_txdone()。 if (UEPINT amp。 EP2) main_rxdone()。 UEPINT=0。if(KBSTA==8) sign=0。 if(RI) { RI=0。Test()。 } } } printu(Entering MP3 Mode...\n)。 //進(jìn)入MP3播放模式 MP3_Init()。 //MP3初始化 KeyBoardInit()。 //鍵盤初始化 MP3InitFlag = 1。 EA = 1。 //開中斷,鍵盤可以開始工作 P5_3 = 0。 //打開USB燈亮 NumofSong = GetMP3List()。 //得到U盤中的MP3歌曲列表 printuf(Song:%x\n, NumofSong)。 //輸出歌曲總數(shù)信息 if(NumofSong == 0) { printu(There is no MP3 file in USB Disk!\n)。 P5_3 = 1。 //關(guān)閉指示LED }while(1) {if(NumofSong != 0) {if(MP3InitFlag) {PlayInit(amp。SONG[11 * NowPlaying])。MP3InitFlag = 0。} PlayMP3(amp。SONG[11 * NowPlaying])。 //如果處于播放狀態(tài),則播放當(dāng)前歌曲 } if(NowPlaying == NumofSong) { PlayState = STOP。 //全部歌曲播放完了,播放器停止 NowPlaying = 0。 //循環(huán)播放 } P5_3 =~P5_3。 //指示LED閃爍 } }**描 述: ATMEL AT89C51SND1 串口通訊include include define AT89C51SND1 1 //如果使用的是AT89C51SND1char hex[16] = {39。039。, 39。139。, 39。239。, 39。339。, 39。439。, 39。539。, 39。639。, 39。739。, 39。839。, 39。939。, 39。a39。, 39。b39。, 39。c39。, 39。d39。, 39。e39。, 39。f39。}。** 函數(shù)名稱: init_uart** 功能描述: 串口通訊功能初始化** 輸 入: int fre** 輸 出: 無void init_uart(int fre){if AT89C51SND1 if (
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1