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

正文內(nèi)容

基于單片機(jī)的mp3播放器設(shè)計(jì)畢業(yè)設(shè)計(jì)(參考版)

2025-06-07 08:53本頁(yè)面
  

【正文】 。 AT89C51SND1C 從 Flash 中讀取數(shù)據(jù)之后,將 MP3 格式的音樂(lè)在其內(nèi)部進(jìn)行硬件解碼為二進(jìn)制數(shù)據(jù), 之后通過(guò) D/A 轉(zhuǎn)換器 CS4331來(lái)對(duì)這些數(shù)據(jù)進(jìn)行數(shù)模轉(zhuǎn)換,轉(zhuǎn)換成人耳可以接受的音樂(lè)。 在硬件部分, 首先由復(fù)位電路和晶振電路與單片機(jī)構(gòu)成最小系統(tǒng),由最小系統(tǒng)為核心展開(kāi)對(duì)外圍電路的設(shè)計(jì),這樣會(huì)大大減少設(shè)計(jì)電路的難度。有兩種方式可以使得芯片在上電復(fù)位后執(zhí)行 Boot Flash 中的這段程序:一是當(dāng)芯片中的 BLJB 位為 1 時(shí),上電即執(zhí)行這段代碼;二是當(dāng) BLJB位不為 1 時(shí),如果在復(fù)位后芯片檢測(cè)到引腳 ISP 為低時(shí),也會(huì)執(zhí)行這段程序。 //允許中斷 while(1)。 CH375_Init( )。 break。 //釋放當(dāng)前 USB 緩沖區(qū) break。 /* 數(shù)據(jù)返回 ,由計(jì)算機(jī)應(yīng)用程序測(cè)試數(shù)據(jù)是否正確 */ /* */ break。 i length。 /* 向 USB 端點(diǎn) 2 的發(fā)送緩沖區(qū)寫(xiě)入數(shù)據(jù)塊 */ CH375_WR_DAT_PORT( length )。 i ++ ) buffer[ i ] = CH375_RD_DAT_PORT( )。 /* 首先讀取后續(xù)數(shù)據(jù)長(zhǎng)度 */ for ( i = 0。 } case USB_INT_EP2_OUT: //批量端點(diǎn) /端點(diǎn) 2 接收到數(shù)據(jù), OUT 成功 { //從當(dāng)前 USB 中斷的端點(diǎn)緩沖區(qū)讀取數(shù)據(jù)塊 ,并釋放緩沖區(qū) CH375_WR_CMD_PORT( CMD_RD_USB_DATA )。 } case USB_INT_EP0_OUT: { //端點(diǎn) 0 的接收器接收到數(shù)據(jù), OUT 事務(wù)成功,內(nèi)部固件模式時(shí)不需要處理 break。 } case USB_INT_BUS_RESET4: //USB 總線復(fù)位 { break。 } case USB_INT_BUS_RESET2: //USB 總線復(fù)位 { break。 程序代碼如下: include //51 單片機(jī)頭文件 include // CH375 頭文件 unsigned char CH375_RD_DAT_PORT( void ) { return( CH375_DAT_PORT )。其流程圖 如圖 43 所示。 源代碼如下: void PlayPause() { PlayState=!PlayState。 } } 4) Play Pause,播放 /暫停。 //置選曲標(biāo)志位 break。 //如果當(dāng)前播放歌曲不為第一首,則指向上一首 else NowPlaying=NumofSong1。 } break。 MP3MED=0x0f。 //左聲道音量增大一檔 } break。源代碼如下: void previous() //按下“上一首 /音量增大”鍵時(shí)的處理 { switch(CurrentFun){ case VOLUME : //如果當(dāng)前處于音量調(diào)節(jié)功能 { if(MP3VOR0x1f) //當(dāng)前音量沒(méi)有達(dá)到最大時(shí) { MP3VOR+=0x01。 } } 3) Previous,向前。 //置選曲標(biāo)志位 break。 //如果已經(jīng)處于最后一首了,則指向第一首 else NowPlaying++。 } break。 MP3MED=0x0f。 //左聲道音量增大一檔 } break。 源代碼如下: void Next() //按下 *下一首 /音量減小 *鍵時(shí)的處理 { switch(CurrentFun){ //如果當(dāng)前處于音量調(diào)節(jié)功能 case VOLUME : { if(MP3VOR0x00) //當(dāng)前音量沒(méi)有達(dá)到最小時(shí) MP3VOR=0x01。當(dāng)處于“音效( EFFECTION)”狀態(tài)時(shí),則改變音效寄存器的值。根據(jù)所處功能狀態(tài)的不同,按下此鍵時(shí),將進(jìn)行不同的操作,進(jìn)而可以實(shí)現(xiàn)不同的功能。//在選曲 /音量調(diào)節(jié) /音效調(diào)節(jié)三者之間切換 else if(CurrentFun==3) CurrentFun==1。沒(méi)按下一次此鍵,則功能狀態(tài)計(jì)數(shù)器在 1~ 3 之間輪換。 1) Func,功能切換。 //等待中斷再次產(chǎn)生 } MP3 功能按鈕設(shè)計(jì) 當(dāng)執(zhí)行 MP3 程序的時(shí)候,需要通過(guò)按鍵操作來(lái)控制 MP3 歌曲的播放, 當(dāng) 鍵盤(pán)響應(yīng)流程圖如 圖 42 所示。} //如果選曲時(shí),則重新播放當(dāng)前曲目 while(!(MP3STA1amp。ChangeSong=0。 //向 MP3 解碼器數(shù)據(jù)寄存器送入一個(gè)數(shù) while(!PlayState)。} //如果上一次從歌曲中讀取的數(shù)據(jù) //不足 512 時(shí),則結(jié)束本歌曲播放 m=ReadSector(SongName,Page_Buf)。 if(m512) {NowPlaying++。 //等待中斷再次產(chǎn)生 } } //Other MP3 data while(1){ while(MP3STA1amp。} //如果選曲時(shí),則重新播放當(dāng)前曲目 while(!(MP3STA1amp。ChangeSong=0。 //向 MP3 解碼器數(shù)據(jù)寄存器送入一個(gè)數(shù) while(!PlayState)。 //讀取當(dāng)前歌曲的下一個(gè) 512 字節(jié) j=0。i1024。//從當(dāng)前歌曲中讀取 512 字節(jié) if(MP3STA1amp。 其主要程序代碼為: Void playMP3(unsigned char *SongName) { Int i=0,j=0。 當(dāng)鍵盤(pán)位于暫停狀態(tài)時(shí),解碼器暫時(shí)不工作,等待再次按下暫停鍵后繼續(xù)解碼。當(dāng)讀取到的數(shù)據(jù)已經(jīng)不足一扇區(qū)時(shí),結(jié)束當(dāng)前所播放的歌曲,讀取下一首歌曲的數(shù)據(jù);如果 所讀取的數(shù)據(jù) 超過(guò)一扇區(qū),則將數(shù)據(jù)存入另一個(gè)扇區(qū),并讀取這個(gè)扇區(qū)的數(shù)據(jù)。 如果數(shù)據(jù)請(qǐng)求未產(chǎn)生中斷,重新載入數(shù)據(jù)。如果用戶想切換歌曲,則可直接按暫停鍵,這樣此程序函數(shù)就會(huì)提前結(jié)束,進(jìn)入下一首歌曲的播放。在主程序中,如果已經(jīng)處于播放狀態(tài),則調(diào)用 Play MP3 程序播放歌曲,直至播放到最后一首。 圖 39 為鍵盤(pán)控制電路,圖 310 為 LCD 顯示電路。 LCD 采用液晶顯示模塊,可顯示漢字及圖形。用戶在使用播放器時(shí)可以方便地根據(jù)自己的喜好來(lái)選擇歌曲播放或暫停。使用電池供電時(shí),不按任何鍵,則進(jìn)入 MP3 模式。 圖 38 為 CS4331 芯片內(nèi)部結(jié)構(gòu)圖。 SDATA 是位流數(shù)據(jù)輸入, SCLK 是位流時(shí)鐘, LRCK 是聲道選擇時(shí)鐘,其頻率即采樣率。 CS4331 芯片沒(méi)有配置引腳,無(wú)需軟件配置。 圖 37 為 D/A 轉(zhuǎn)換電路圖。同時(shí) AT89C51SND1C 內(nèi)部集成了 MP3 軟件 解碼器,系統(tǒng)不需要外接額外的解碼器。主芯片AT89C51SND1C 內(nèi)部有一個(gè)音頻輸出接口,支持不同格式的音頻數(shù)據(jù)流格式,如 PCM格式和 I2S 格式,該接口可以跟幾乎所有的通用音頻 D/A 轉(zhuǎn)換器相連。 圖 36 AS1117 系統(tǒng)框圖 D/A 轉(zhuǎn)換部分 當(dāng) MP3 或者 WMA 等格式的音樂(lè)文件經(jīng)過(guò)主芯片內(nèi)部解碼后為數(shù)字信號(hào), 而人耳所能識(shí)別的信號(hào)卻為模擬信號(hào),系統(tǒng)利用 CS4331 進(jìn)行轉(zhuǎn)換。 1%的精度范圍內(nèi)。 圖 35 電源電路圖 AS1117 提供完善的過(guò)流保護(hù)和過(guò)熱保護(hù)功能( AS1117 正常工作環(huán)境溫度范圍極寬,為 50℃~ 140℃),確保芯片和電源系統(tǒng)的穩(wěn)定性。 電源部分 電源是整個(gè)播放器的重要組成部分,圖 35 是電源部分的電路,圖中 AS1117 是一款低壓差的線性穩(wěn)壓
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1