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

正文內(nèi)容

基于單片機的音樂播放器設(shè)計-wenkub.com

2025-01-15 14:30 本頁面
   

【正文】 339。P39。M39。amp。.39。offset512。tSectorsPerClust。 while(1) { sector=FirstDataSector+(DWORD)(tempclust2)*(DWORD)SectorsPerClust。 if(i==*Count){free(buffer)。V39。A39。W39。 i++。(itemdeExtension[2] == 39。(itemdeExtension[1] == 39。} } else if((itemdeExtension[0] == 39。 *type=2。amp。amp。return 0。)) { CopyDirentruyItem(MusicInfo,item)。)amp。)amp。 (itemdeName[0] != 0xe5) amp。) amp。offset+=32) { item=(struct direntry *)(amp。t++) { if(FAT_ReadSector(FirstDirSector+t,buffer)){free(buffer)。 FAT32_Enable==0)// root directory { buffer=malloc(512)。 cluster = FAT_OpenDir(dir)。 unsigned char t。 //BYTE buff[3]。i++)DestideMDate[i] = SourcedeMDate[i]。i2。i2。 for(i=0。 DestideCHundredth = SourcedeCHundredth。i3。 for(i=0。FileInfo))return 1。 else name[j]=*p++。amp。 j=0。 } p++。 j++。 (*p) = 39。) { if((*p) = 39。j++)name[j]=0x20。ideep1。) { deep++。\\39。 BYTE i,j。 } } return 1。//release tempclust=FAT_NextCluster(tempclust)。 FileInfoOffset = offset。//don39。 (itemdeAttributes != 0x0f)) { for(i=0。 if((itemdeName[0] != 0x00) amp。} for(offset=0。//if failed for(t=0。//release } else//other folders { tempclust=cluster。 FileInfoOffset = offset。//don39。 (itemdeAttributes != 0x0f)) { for(i=0。 if((itemdeName[0] != 0x00) amp。} for(offset=0。//if failed for(t=0。 if((cluster==0) amp。 unsigned char t。 } return (unsigned long)sector。//read fat table / return 0xfff8 when error occured if(FAT32_Enable) { offset=cluster%128。 else offset = cluster/256。}//讀下一簇簇號//Return the cluster number of next cluster of file//Suitable for system which has limited RAMunsigned long FAT_NextCluster(unsigned long cluster){ BYTE buffer[512]。}//讀一個簇中的一個扇區(qū)//read one sector of one cluster, parameter part indicate which sectorunsigned char FAT_LoadPartCluster(unsigned long cluster,unsigned part,BYTE * buffer){ DWORD sector。//根目錄項數(shù) RootDirSectors = (RootDirCount*32)9。 } BytesPerSector = bpbbpbBytesPerSec。//FAT占用的扇區(qū)數(shù) //the sectors number occupied by one fat talbe FirstDirClust = 2。 bsbsJump[0]!=0xEB)//對付沒有bootsect的sd卡 //dead with the card which has no bootsect { return 5。 if(FAT_ReadSector(0,buffer))return 4。//read the bpb sector bs = (struct bootsector710 *)buffer。 pr = (struct partrecord *)((struct partsector *)buffer)psPart。 Capacity = MMC_SD_ReadCapacity()。 struct partrecord *pr = 0。//device writestruct FileInfoStruct FileInfo。BYTE (* FAT_WriteSector)(DWORD,BYTE *)。 // The first Dir sectorDWORD RootDirSectors。 // Bytes per sectorWORD FATsectors。最后,衷心地感謝所有在百忙中抽出寶貴時間來參加論文審閱和答辯的老師。他嚴謹?shù)闹螌W(xué)態(tài)度、對問題深刻的洞察力,也使我獲益良多。參考文獻[1] CECA .Chain Electronic Components Association[OL] . . 2007[2] 沈磊 . 基于ColdFire 和uCLinux 的便攜式多媒體播放器軟件系統(tǒng)的設(shè)計與實現(xiàn) [D] . 上海:上海交通大學(xué) , 2005 : 12[3] 有風(fēng)無雨 歷史不會忘記-索尼Walkman 數(shù)十年回憶 [OL] . ://. , [4] workstar百度百科 MP3 [OL] . ://baike. , 2009 .[5] 麥建邦 百度百科 MP3播放器 [OL] . , [6] 文夢夢 . 回首昨日展望明天 淺談MP3播放器發(fā)展趨勢[J] . PCPOP電腦時尚 , : 19[7] 譚文杰 . 基于USB主機的多媒體播放器的設(shè)計與實現(xiàn) [D] . 廣東:中山大學(xué) , 2007 : 1[8] 陳杰 . 基于ARM平臺的MP3編碼器的實現(xiàn)及其性能優(yōu)化 [D] . 上海:上海交通大學(xué) , 2007 : 1[9] 陳冬云、杜敬倉、任柯燕等 ATmega128單片機開發(fā)原理與指導(dǎo) [M] .北京:機械工業(yè)出版社,:4[10] 2503JAVR10/06 . 8bit AVR Microcontroller with 32K Bytes InSystem Programmable Flash ATmeg32 [S] . Atmel .[11] Official Release . Multimedia Card System Specification [S] . version . MMCA Technical Committee,May 2003 MMCA[12] VLSI Solution . VS1003 PRELIMINARY [S] . Version , 20050607[13] Specification for LCD Module TS16201 [S] . SHENZHEN TECHSTAR ELECTRONICS CO.,LTD[14] SMC1602A LCM 使用說明書 [S] . 長沙太陽人電子有限公司[15] Application Note Secure Digital Card Interface for the MSP430 [S] . Dept. of Electrical and Computer Engineering . Michigan State University, 2004[16] 沈美明 溫冬嬋 編著IBMPC匯編語言程序設(shè)計 [M](第二版) 北京:清華大學(xué)出版社[17] 佚名 MP3文件格式 [EB] . :2[18] 魏廣寅 VS1003MP3/WMA 音頻解碼器 [S] . 貴陽永青儀電科技開發(fā)部[19] VS1003 MP3/WMA AUDIO CODEC 數(shù)據(jù)手冊 [S] . Version , 20050607致謝時光飛逝,快樂、充實、短暫、難忘的大學(xué)生活即將結(jié)束,在這三年半的時間內(nèi),自己的能力在各方面都有很大的提高,取得的這些進步和成績,離不開許多人的幫助和關(guān)心。而且,它在被用作MP3的同時還可以用作存儲器。所有電路及預(yù)期功能基本完成,無異常產(chǎn)生。音量加減鍵能夠正常工作,但是,在按下按鍵時,歌曲出現(xiàn)播放聲音出現(xiàn)斷續(xù)情況。其中,在進行完每一塊數(shù)據(jù)的解碼之后,需要進行一次鍵盤掃描,根據(jù)鍵盤的值,對VS1003B或單片機的相應(yīng)寄存器進行操作,達到控制MP3播放的目的。一旦開始播放音樂,就不需要停下,除非暫停鍵(可設(shè)一標(biāo)志位加以判斷)被按下。采用以上順序,主要是為了能夠在任何一個接口或器件初始化失敗時,在顯示器中能夠給出相應(yīng)的動作,指示哪一部分出錯,用戶應(yīng)該怎樣繼續(xù)往下操作。如果在播放過程中,沒有好的界面及人機接口程序,就會不利于使用者操作,而且,在使用過程中,客戶由于不知道怎樣操作,胡亂按鍵就容易造成其它未知錯誤。此時,VS1003B可獲取至少32Byte的SDI數(shù)據(jù)或一個SCI命令。另外,還需要對音頻寄存器進行設(shè)置,其取值由具體MP3文件幀頭數(shù)據(jù)計算得到,計算過程在MP3分析時已經(jīng)說明,這里不再解釋。其具體時序如圖38所示。VS10003B接口指令為8位,0X2為寫;0X3為讀。表33 采樣率索引表(單位:Hz)BitsMPEG1MPEG20044100220501102501480002400012000103200016000800011ReservedReservedReserved無論幀長度是多少,每幀的播放時間都是26ms;每幀的大小可以通過以下方法計算得出:幀大小=(((MPEGversion==MPEG1?144:72)*比特率)/采樣率)+填充位。L1 Layer I。以上介紹中最重要的為E和F部分。每個MP3數(shù)據(jù)幀又分為幀頭和數(shù)據(jù)部分構(gòu)成。VS1003B有一個硬件復(fù)位引腳,在進行硬件復(fù)位后,還需要進行初始化設(shè)置,和音樂信息相關(guān)的設(shè)置,這樣才能讓其正常工作。圖36 啟動信息結(jié)構(gòu)體在獲取到啟動信息以及數(shù)據(jù)區(qū)等位置關(guān)系以后,就可以讀取自己需要的數(shù)據(jù)了。為了能夠方便地使用這些信息,在設(shè)計中可用如圖36所示的結(jié)構(gòu)體進行賦值,使程序能夠高效的運行。在前512字節(jié)中,前96字節(jié)記錄了系統(tǒng)的詳細信息,這些信息可以幫助我們算出系統(tǒng)區(qū)和數(shù)據(jù)區(qū)各組成部分的位置。系統(tǒng)區(qū)一般用來存放系統(tǒng)存儲和維護的信息,系統(tǒng)區(qū)由三部分組成:(包含磁盤大小、格式、存儲方式等信息);(為文件分配磁盤空間);(包括文件名、磁盤地址和文件狀態(tài))[16]。現(xiàn)在市場上大多數(shù)SD/MMC卡都采用的是FAT32格式,因此,下面我們就開始以FAT32格式為例進行分析。只要需要讀取數(shù)據(jù)時,只需要調(diào)用此函數(shù)就可以獲得所需數(shù)據(jù)。在不知道使用的是什么類型的存儲卡時,可以用一般辦法判斷存儲卡的類型。在開始激活時序時,至少需要先發(fā)送108個初始時鐘,才能夠進行后面的步驟。初始化SD卡,必須先對SD卡進行激活,其激活步驟如圖33所示。因此,在編寫SD卡驅(qū)動程序之前,必須先將單片機的SPI總線初始化。這樣得到的兩組按鍵值可以組合成唯一的一個按鍵值。否是是開始初始化各驅(qū)動程序是否有歌曲否結(jié)束播放一幀數(shù)據(jù)掃描鍵盤一次獲取歌曲信息讀入一幀數(shù)據(jù)歌曲是否結(jié)束下一曲圖31 程序流程圖在完成程序流程圖之后,我們需要分別對各個部分進行程序設(shè)計,下面就分別介紹各種驅(qū)動程序的編寫方法。軟件設(shè)計可以分為自底向上或自頂向下的設(shè)計方法,這里我們采用后者。在設(shè)計中充分考慮了以后的升級擴展等問題。具體電路如圖29所示。根據(jù)第二步中管腳分析結(jié)果。GPIO0需要使用100K歐下拉電阻。其引腳如圖28所示。這是一款專用音頻解碼芯片。第一步,我們必須選擇一款解碼芯片。因此在ISP借口處接入5V工作電壓。在SD模式下速度較快,但是,由于使用引腳過多,而且,在SPI模式下速度已經(jīng)足夠,因此,本次設(shè)計中采用SPI模式。SD卡有9個引腳,它們分別是:VCC、GND、DAT0DATCLK、CMD。其中,還有一個SPI接口使能端口SS,通過這個端口,我們可以控制SPI的使用。即是說,在發(fā)送時一定要等到移位過程全部結(jié)束后,才能對SPI數(shù)據(jù)寄存器執(zhí)行寫操作。因此使用
點擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1