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

正文內(nèi)容

基于單片機(jī)的音樂播放器設(shè)計(jì)-在線瀏覽

2025-03-07 14:30本頁面
  

【正文】 時(shí)不夠精確。方式三,采用石英晶體振蕩器。只是,啟動(dòng)時(shí)頻率穩(wěn)定性較差。綜上,本次設(shè)計(jì)中可以采用方式三。具體電路如圖23所示。ATmega8l單片機(jī)與51單片機(jī)不同,它使用的是低電平復(fù)位,其連接方法比較固定,本次設(shè)計(jì)中我們采用一般接法。圖24 復(fù)位電路剛上電時(shí),由于電容C5的作用,REST引腳會(huì)保持一段時(shí)間的低電平,使電路復(fù)位,然后,緩慢變高,使電路進(jìn)入正常工作狀態(tài)。3,按鍵電路。圖25 按鍵電路4,電源電路。因此使用AMS1117進(jìn)行降壓,電源電路如圖26所示。這是本次設(shè)計(jì)的最重要的接口,它工作性能的好壞直接影響到本次設(shè)計(jì)的成敗。即是說,在發(fā)送時(shí)一定要等到移位過程全部結(jié)束后,才能對(duì)SPI數(shù)據(jù)寄存器執(zhí)行寫操作。其數(shù)據(jù)傳遞過程如圖27所示。其中,還有一個(gè)SPI接口使能端口SS,通過這個(gè)端口,我們可以控制SPI的使用。在本次設(shè)計(jì)中,我們采用SD卡作為數(shù)據(jù)存儲(chǔ)介質(zhì)。SD卡有9個(gè)引腳,它們分別是:VCC、GND、DAT0DATCLK、CMD。其具體定義如表22所示。在SD模式下速度較快,但是,由于使用引腳過多,而且,在SPI模式下速度已經(jīng)足夠,因此,本次設(shè)計(jì)中采用SPI模式。而ATmega32單片機(jī)也提供了相應(yīng)的接口。因此在ISP借口處接入5V工作電壓。圖27 SD卡接口電路解碼作為MP3必不可少的部分,它的設(shè)計(jì)也關(guān)系著整個(gè)設(shè)計(jì)的成敗。第一步,我們必須選擇一款解碼芯片。其次,要求價(jià)格實(shí)惠、外圍電路簡(jiǎn)單等。這是一款專用音頻解碼芯片。其體積較小,外圍電路也比較簡(jiǎn)單。其引腳如圖28所示。圖28 VS1003B引腳圖[12]根據(jù)數(shù)據(jù)手冊(cè)中提供的信息,要成功運(yùn)用VS1003B這款芯片,還必須注意:當(dāng)不使用RX引腳時(shí)應(yīng)接到IOVDD上。GPIO0需要使用100K歐下拉電阻。未使用功能可不進(jìn)行連接。根據(jù)第二步中管腳分析結(jié)果。這里我們?nèi)匀徊捎秒娮璺謮旱姆绞?。具體電路如圖29所示。由于使用的是成熟的音頻解碼芯片,硬件連接方式比較固定,且其數(shù)據(jù)手冊(cè)給出了示例,不需要太多自行設(shè)計(jì)部分,只要根據(jù)時(shí)序設(shè)計(jì)好軟件,便可以實(shí)現(xiàn)各種功能。在設(shè)計(jì)中充分考慮了以后的升級(jí)擴(kuò)展等問題。在實(shí)際生產(chǎn)中可以用貼片電阻代替,這樣就可以大大減小電路板的體積。軟件設(shè)計(jì)可以分為自底向上或自頂向下的設(shè)計(jì)方法,這里我們采用后者。為了能夠明確我們具體所需的驅(qū)動(dòng)程序設(shè)計(jì),下面我們先將設(shè)計(jì)的總體程序流程圖確定下來。否是是開始初始化各驅(qū)動(dòng)程序是否有歌曲否結(jié)束播放一幀數(shù)據(jù)掃描鍵盤一次獲取歌曲信息讀入一幀數(shù)據(jù)歌曲是否結(jié)束下一曲圖31 程序流程圖在完成程序流程圖之后,我們需要分別對(duì)各個(gè)部分進(jìn)行程序設(shè)計(jì),下面就分別介紹各種驅(qū)動(dòng)程序的編寫方法。必須先將其中的2個(gè)設(shè)置為輸出低電平,另外3個(gè)引腳設(shè)置為輸入。這樣得到的兩組按鍵值可以組合成唯一的一個(gè)按鍵值。對(duì)于鍵盤接口的設(shè)置,可以利用一初始化程序,將接口進(jìn)行一種定義,這樣,在掃描過程中程序可以節(jié)約更多的時(shí)間進(jìn)行數(shù)據(jù)的讀寫。因此,在編寫SD卡驅(qū)動(dòng)程序之前,必須先將單片機(jī)的SPI總線初始化。在MP3播放過程中,用單片機(jī)作為控制中心,所以,在設(shè)置時(shí)還應(yīng)該將單片機(jī)設(shè)為主機(jī),其它模塊作為從機(jī)。初始化SD卡,必須先對(duì)SD卡進(jìn)行激活,其激活步驟如圖33所示。初始化時(shí),我們必須進(jìn)行一下設(shè)置:;,這里我們選擇關(guān)閉校驗(yàn)位,因?yàn)樵赟D卡使用過程中會(huì)有數(shù)據(jù)起始標(biāo)志位等,而且SD卡在低速模式下,本身讀寫出錯(cuò)的可能性不大。在開始激活時(shí)序時(shí),至少需要先發(fā)送108個(gè)初始時(shí)鐘,才能夠進(jìn)行后面的步驟。這兩種卡的使用指令基本相同,唯一的差別是激活時(shí)的最后幾條指令。在不知道使用的是什么類型的存儲(chǔ)卡時(shí),可以用一般辦法判斷存儲(chǔ)卡的類型。圖33 SD卡激活步驟[15]在初始化SD卡完成后,需要對(duì)本次設(shè)計(jì)中需要使用的一些特殊功能進(jìn)行設(shè)計(jì),如是否需要校驗(yàn)位,一次讀寫的數(shù)據(jù)長(zhǎng)度為多少等。只要需要讀取數(shù)據(jù)時(shí),只需要調(diào)用此函數(shù)就可以獲得所需數(shù)據(jù)。其中,在磁盤的開始區(qū)域存放的是磁盤系統(tǒng)的相關(guān)信息。現(xiàn)在市場(chǎng)上大多數(shù)SD/MMC卡都采用的是FAT32格式,因此,下面我們就開始以FAT32格式為例進(jìn)行分析。每張磁盤都有自己固定的存儲(chǔ)結(jié)構(gòu)。系統(tǒng)區(qū)一般用來存放系統(tǒng)存儲(chǔ)和維護(hù)的信息,系統(tǒng)區(qū)由三部分組成:(包含磁盤大小、格式、存儲(chǔ)方式等信息);(為文件分配磁盤空間);(包括文件名、磁盤地址和文件狀態(tài))[16]。引導(dǎo)記錄FAT目錄系統(tǒng)文件用戶文件系統(tǒng)區(qū)數(shù)據(jù)區(qū)圖34 系統(tǒng)區(qū)和數(shù)據(jù)區(qū)組織圖本次設(shè)計(jì)中,需要對(duì)引導(dǎo)記錄進(jìn)行詳細(xì)分析,計(jì)算出數(shù)據(jù)位置,找到音樂文件。在前512字節(jié)中,前96字節(jié)記錄了系統(tǒng)的詳細(xì)信息,這些信息可以幫助我們算出系統(tǒng)區(qū)和數(shù)據(jù)區(qū)各組成部分的位置。圖35 SD卡前96字節(jié)截圖在圖35中,每個(gè)字節(jié)含有為:前3字節(jié)為跳轉(zhuǎn)指令結(jié)構(gòu);411字節(jié)為依賴的系統(tǒng)文件名;第113字節(jié)為字節(jié)數(shù)/扇區(qū);14字節(jié)為扇區(qū)數(shù)/簇;116字節(jié)為保留扇區(qū)數(shù);17字節(jié)為FAT數(shù)目;119字節(jié)為啟動(dòng)入口;1921字節(jié)為小卷標(biāo)扇區(qū)數(shù);第22字節(jié)為多媒體類型描述(一般為F8);224字節(jié)為扇區(qū)數(shù)/小卷標(biāo)FAT;226字節(jié)為扇區(qū)數(shù)/磁道;27字節(jié)為頭字節(jié)數(shù);2932字節(jié)為隱藏扇區(qū)數(shù);第3336字節(jié)為磁盤總扇區(qū)數(shù);3740為扇區(qū)數(shù)/FAT;41字節(jié)為擴(kuò)展標(biāo)志位;4244字節(jié)為磁盤版本號(hào);4548字節(jié)為啟動(dòng)目錄的第一簇;4950啟動(dòng)信息扇區(qū)位置;552字節(jié)為啟動(dòng)數(shù)據(jù)備份扇區(qū)位置;另外,8387字節(jié)為文件系統(tǒng)格式;其余信息在本次設(shè)計(jì)中暫未用到。為了能夠方便地使用這些信息,在設(shè)計(jì)中可用如圖36所示的結(jié)構(gòu)體進(jìn)行賦值,使程序能夠高效的運(yùn)行。FAT表起始地址=(隱藏扇區(qū)數(shù)+保留扇區(qū)數(shù))*字節(jié)數(shù)/扇區(qū)目錄區(qū)起始地址=FAT表起始地址+FAT數(shù)目*扇區(qū)數(shù)/FAT*字節(jié)數(shù)/扇區(qū)+啟動(dòng)目錄首簇*扇區(qū)數(shù)/簇*字節(jié)數(shù)/扇區(qū)第一個(gè)數(shù)據(jù)扇區(qū)地址=目錄區(qū)起始地址+目錄簇?cái)?shù)*扇區(qū)數(shù)/簇*字節(jié)數(shù)/扇區(qū)目錄區(qū)的大小是不固定,其大小會(huì)根據(jù)文件的多少而進(jìn)行調(diào)整,只有在一個(gè)文件目錄后不存在其它文件,才說明已經(jīng)不含有其它文件。圖36 啟動(dòng)信息結(jié)構(gòu)體在獲取到啟動(dòng)信息以及數(shù)據(jù)區(qū)等位置關(guān)系以后,就可以讀取自己需要的數(shù)據(jù)了。 VS1003B驅(qū)動(dòng)程序設(shè)計(jì)設(shè)計(jì)MP3最重要環(huán)節(jié)之一是音頻解碼,解碼質(zhì)量直接關(guān)系到播放效果。VS1003B有一個(gè)硬件復(fù)位引腳,在進(jìn)行硬件復(fù)位后,還需要進(jìn)行初始化設(shè)置,和音樂信息相關(guān)的設(shè)置,這樣才能讓其正常工作。MP3文件是由幀構(gòu)成,幀是MP3文件最小組成單位。每個(gè)MP3數(shù)據(jù)幀又分為幀頭和數(shù)據(jù)部分構(gòu)成。幀頭數(shù)據(jù)結(jié)構(gòu)如圖37所示。以上介紹中最重要的為E和F部分。表32 位速率索引表BitsV1,L11V1,L2V1,L3V2,L1V2,L2V2,L30000FreeFreeFreeFreeFreeFree000132323232328(8)0010644840644816(16)0011965648965624(24)010012864561286432(32)010116080641608064(40)011019296801929680(48)01112241129622411256(56)100025612811225612864(64)1001288160128288160128(80)1010320192160320192160(96)1011352224192352224112(112)1100384256224384256128(128)1101416320256416320256(144)1110448384320448384320(160)1111BadBadBadBadBadBad1:V1 MPEG1。L1 Layer I。 L3 Layer III2:Free – 可以利用的位率;Bad – 不允許的值在幀頭B、C部分可以查到MP3版本及層數(shù),根據(jù)B、C的值在上表中可以查出音樂播放速率。表33 采樣率索引表(單位:Hz)BitsMPEG1MPEG20044100220501102501480002400012000103200016000800011ReservedReservedReserved無論幀長(zhǎng)度是多少,每幀的播放時(shí)間都是26ms;每幀的大小可以通過以下方法計(jì)算得出:幀大小=(((MPEGversion==MPEG1?144:72)*比特率)/采樣率)+填充位。在對(duì)MP3格式做簡(jiǎn)要介紹后,下面就對(duì)VS1003B解碼芯片做一些重要說明。VS10003B接口指令為8位,0X2為寫;0X3為讀。在每次讀寫數(shù)據(jù)后,數(shù)據(jù)請(qǐng)求端會(huì)變低表示忙。其具體時(shí)序如圖38所示。然后,DREQ會(huì)變低,直到內(nèi)部完成數(shù)據(jù)的操作。另外,還需要對(duì)音頻寄存器進(jìn)行設(shè)置,其取值由具體MP3文件幀頭數(shù)據(jù)計(jì)算得到,計(jì)算過程在MP3分析時(shí)已經(jīng)說明,這里不再解釋。由于軟件復(fù)位不會(huì)改變這些寄存器的值,我們?cè)谶M(jìn)行歌曲切換時(shí)可以進(jìn)行軟件復(fù)位,這樣,在進(jìn)行歌曲切換時(shí)可以不用進(jìn)行其它復(fù)雜操作,直接進(jìn)行軟件復(fù)位就可以了。此時(shí),VS1003B可獲取至少32Byte的SDI數(shù)據(jù)或一個(gè)SCI命令。根據(jù)這個(gè)信息,我們?cè)趯?duì)VS1003B芯片大量寫入音樂數(shù)據(jù)時(shí),可以一次性寫入32字節(jié),這樣就可以大大提高數(shù)據(jù)輸入的效率,讓音樂播放更為流暢。如果在播放過程中,沒有好的界面及人機(jī)接口程序,就會(huì)不利于使用者操作,而且,在使用過程中,客戶由于不知道怎樣操作,胡亂按鍵就容易造成其它未知錯(cuò)誤。首先,程序需要對(duì)系統(tǒng)進(jìn)行初始化。采用以上順序,主要是為了能夠在任何一個(gè)接口或器件初始化失敗時(shí),在顯示器中能夠給出相應(yīng)的動(dòng)作,指示哪一部分出錯(cuò),用戶應(yīng)該怎樣繼續(xù)往下操作。在初始化各驅(qū)動(dòng)程序完成后,需要進(jìn)入主程序,播放SD卡中的音樂。一旦開始播放音樂,就不需要停下,除非暫停鍵(可設(shè)一標(biāo)志位加以判斷)被按下。圖39 主程序段代碼在MP3播放過程中,可以先搜索全部音樂,將其放入一全局變量中,然后,利用這個(gè)全局變量判斷是否所有音樂已經(jīng)播放完成。其中,在進(jìn)行完每一塊數(shù)據(jù)的解碼之后,需要進(jìn)行一次鍵盤掃描,根據(jù)鍵盤的值,對(duì)VS1003B或單片機(jī)的相應(yīng)寄存器進(jìn)行操作,達(dá)到控制MP3播放的目的。音樂播放成功,無任何異常產(chǎn)生。音量加減鍵能夠正常工作,但是,在按下按鍵時(shí),歌曲出現(xiàn)播放聲音出現(xiàn)斷續(xù)情況。進(jìn)行歌曲切換、暫停/播放按鍵測(cè)試時(shí),一切正常,無任何異常。所有電路及預(yù)期功能基本完成,無異常產(chǎn)生。但是,微型存儲(chǔ)卡技術(shù)卻在飛速發(fā)展,而且,將存儲(chǔ)卡與MP3相結(jié)合的技術(shù)卻并不樂觀,因?yàn)樵谶@方面字庫處理的方法還需要得到提升,當(dāng)SD/MMC卡更換后,怎樣才能讓漢字字庫保持不變很難辦到,即使這樣處理了,卻不得不在MP3內(nèi)部再加一塊存儲(chǔ)器存儲(chǔ)字庫,這樣,產(chǎn)品在成本上增加了,這也是基于SD卡的MP3不能快速發(fā)展的原因。而且,它在被用作MP3的同時(shí)還可以用作存儲(chǔ)器。由于它本身的小巧,還可以嵌入車載系統(tǒng)、家庭娛樂系統(tǒng)等設(shè)備中,如果能在這些方面加以應(yīng)用,這種基于SD卡的MP3播放器還有很大潛力可供挖掘。參考文獻(xiàn)[1] CECA .Chain Electronic Components Association[OL] . . 2007[2] 沈磊 . 基于ColdFire 和uCLinux 的便攜式多媒體播放器軟件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [D] . 上海:上海交通大學(xué) , 2005 : 12[3] 有風(fēng)無雨 歷史不會(huì)忘記-索尼Walkman 數(shù)十年回憶 [OL] . ://. , [4] workstar百度百科 MP3 [OL] . ://baike. , 2009 .[5] 麥建邦 百度百科 MP3播放器 [OL] . , [6] 文夢(mèng)夢(mèng) . 回首昨日展望明天 淺談MP3播放器發(fā)展趨勢(shì)[J] . PCPOP電腦時(shí)尚 , : 19[7] 譚文杰 . 基于USB主機(jī)的多媒體播放器的設(shè)計(jì)與實(shí)現(xiàn) [D] . 廣東:中山大學(xué) , 2007 : 1[8] 陳杰 . 基于ARM平臺(tái)的MP3編碼器的實(shí)現(xiàn)及其性能優(yōu)化 [D] . 上海:上海交通大學(xué) , 2007 : 1[9] 陳冬云、杜敬倉、任柯燕等 ATmega128單片機(jī)開發(fā)原理與指導(dǎo) [M] .北京:機(jī)械工業(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] . 長(zhǎng)沙太陽人電子有限公司[15] Application Note Secure Digital Card Interface for the MSP430 [S] . Dept. of E
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1