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

正文內(nèi)容

基于單片機(jī)的mp3播放器設(shè)計(jì)畢業(yè)設(shè)計(jì)-資料下載頁(yè)

2025-01-16 14:07本頁(yè)面
  

【正文】 ChangeSong=1。 //置選曲標(biāo)志位 break。 } default:break。 } }3) Previous,向前。此鍵的功能與Next正好相對(duì)應(yīng)。源代碼如下:void previous() //按下“上一首/音量增大”鍵時(shí)的處理{ switch(CurrentFun){ case VOLUME : //如果當(dāng)前處于音量調(diào)節(jié)功能 { if(MP3VOR0x1f) //當(dāng)前音量沒有達(dá)到最大時(shí) { MP3VOR+=0x01。 //右聲道音量增大一檔 MP3VOL+=0x01。 //左聲道音量增大一檔 } break。 } case EFFECTION: //如果處于音效調(diào)節(jié)功能 { If(MP3BAS0x1d){ //增加重音效果 MP3BAS+=7。 MP3MED=0x0f。 MP3TRE=7。 } break。 case SELECTSONG : //如果處于MP3選曲功能 { if(NowPlaying0)NowPlaying。 //如果當(dāng)前播放歌曲不為第一首,則指向上一首 else NowPlaying=NumofSong1。 //如果當(dāng)前已經(jīng)到達(dá)第一首,則指向最后一首 ChangwSong=1。 //置選曲標(biāo)志位 break。 } default:break。 } }4) Play Pause,播放/暫停。每當(dāng)按下此鍵時(shí),改變一下播放狀態(tài),配合在MP3播放函數(shù)中對(duì)此狀態(tài)的判斷,可以實(shí)現(xiàn)MP3播放過程中的暫停。源代碼如下: void PlayPause() { PlayState=!PlayState。 //按一下播放鍵時(shí),改變播放狀態(tài) } USB通信功能程序設(shè)計(jì)USB通信功能模塊用于對(duì)Flash存儲(chǔ)器內(nèi)的文件進(jìn)行管理,實(shí)現(xiàn)MP3文件的下載,由于AT89C51SND1C沒有外部中斷引腳,USB中斷沒有中斷向量地址入口,USB驅(qū)動(dòng)程序采用中斷查詢工作方式。其流程圖如圖43所示。在USB控制器使用前,首先對(duì)其進(jìn)行初始化,然后在主程序中循環(huán)讀取USB斷電中斷寄存器,當(dāng)查詢到有中斷產(chǎn)生時(shí)則進(jìn)入到相應(yīng)的中斷處理程序,開始設(shè)備配置和數(shù)據(jù)傳輸。程序代碼如下:include //51單片機(jī)頭文件 include // CH375頭文件unsigned char CH375_RD_DAT_PORT( void ) { return( CH375_DAT_PORT )。 }void CH375_Init( ) { switch ( InterruptStatus ) { case USB_INT_BUS_RESET1: //USB總線復(fù)位 { break。 } case USB_INT_BUS_RESET2: //USB總線復(fù)位 { break。 } case USB_INT_BUS_RESET3: //USB總線復(fù)位 { break。 } case USB_INT_BUS_RESET4: //USB總線復(fù)位 { break。 } case USB_INT_EP0_SETUP: { //端點(diǎn)0 的接收器接收到數(shù)據(jù),SETUP 事務(wù)成功,內(nèi)部固件模式時(shí)不需要處理 break。 } case USB_INT_EP0_OUT: { //端點(diǎn)0 的接收器接收到數(shù)據(jù),OUT 事務(wù)成功,內(nèi)部固件模式時(shí)不需要處理 break。 } case USB_INT_EP0_IN: { //端點(diǎn)0 的發(fā)送器發(fā)送完數(shù)據(jù),IN 事務(wù)成功,內(nèi)部固件模式時(shí)不需要處理 break。 } 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 )。 length = CH375_RD_DAT_PORT( )。 /* 首先讀取后續(xù)數(shù)據(jù)長(zhǎng)度 */ for ( i = 0。 i length。 i ++ ) buffer[ i ] = CH375_RD_DAT_PORT( )。 //接收數(shù)據(jù)包 /* 測(cè)試數(shù)據(jù)正確性,將接收到的命令包數(shù)據(jù)返回給PC機(jī) */ CH375_WR_CMD_PORT( CMD_WR_USB_DATA7 )。 /* 向USB端點(diǎn)2的發(fā)送緩沖區(qū)寫入數(shù)據(jù)塊 */ CH375_WR_DAT_PORT( length )。 /* 首先寫入后續(xù)數(shù)據(jù)長(zhǎng)度,回傳剛接收到的數(shù)據(jù)長(zhǎng)度 */ for ( i = 0。 i length。 i ++ ) CH375_WR_DAT_PORT( buffer[ i ] )。 /* 數(shù)據(jù)返回,由計(jì)算機(jī)應(yīng)用程序測(cè)試數(shù)據(jù)是否正確 */ /* */ break。 } case USB_INT_EP2_IN: //批量端點(diǎn)/端點(diǎn)2發(fā)送完數(shù)據(jù),IN成功 { CH375_WR_CMD_PORT( CMD_UNLOCK_USB )。 //釋放當(dāng)前USB緩沖區(qū) break。 } default: { CH375_WR_CMD_PORT( CMD_UNLOCK_USB )。 break。 } } } main( ) { Delay50ms( )。 CH375_Init( )。 //對(duì)CH375/CH372初始化 EA = 1。 //允許中斷 while(1)。 }開始初始化USB時(shí)鐘讀取中斷寄存器狀態(tài)是否有端點(diǎn)產(chǎn)生中斷中斷寄存器清零相應(yīng)的中斷服務(wù)子程序是否、否圖43 USB通信功能程序流程圖5 結(jié)論本次設(shè)計(jì)我采用的是AT89C51SND1C單片機(jī)為核心展開對(duì)MP3播放器的設(shè)計(jì),在AT89C51SND1的64KFlash中,其中地址在F000~FFFF的區(qū)域?yàn)?K字節(jié)的Boot Flash,這部分程序是出廠時(shí)已經(jīng)固化的Boot Loader代碼,它使用DFU(設(shè)備固件升級(jí))協(xié)議來更新芯片F(xiàn)lash存儲(chǔ)器中的用戶程序。有兩種方式可以使得芯片在上電復(fù)位后執(zhí)行Boot Flash中的這段程序:一是當(dāng)芯片中的BLJB位為1時(shí),上電即執(zhí)行這段代碼;二是當(dāng)BLJB位不為1時(shí),如果在復(fù)位后芯片檢測(cè)到引腳ISP為低時(shí),也會(huì)執(zhí)行這段程序。在輸入程序時(shí),AT89C51SND1自帶USB接口,可對(duì)Flash進(jìn)行在線編程,不需要硬件燒寫器就可以下載目標(biāo)代碼到芯片中,這樣大大的降低了這次畢業(yè)設(shè)計(jì)的成本。在硬件部分,首先由復(fù)位電路和晶振電路與單片機(jī)構(gòu)成最小系統(tǒng),由最小系統(tǒng)為核心展開對(duì)外圍電路的設(shè)計(jì),這樣會(huì)大大減少設(shè)計(jì)電路的難度。,而外接電源為5V,因此,要在設(shè)計(jì)中加上可調(diào)輸出電源電路部分,在設(shè)計(jì)中我采用AS1117低壓差線性穩(wěn)壓器,它還具有完善的過流保護(hù)和過熱保護(hù)功能,可以很好的保護(hù)電路;在D/A轉(zhuǎn)換電路部分,我選用CS4331將解碼后的數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào)。AT89C51SND1C從Flash中讀取數(shù)據(jù)之后,將MP3格式的音樂在其內(nèi)部進(jìn)行硬件解碼為二進(jìn)制數(shù)據(jù), 之后通過 D/A 轉(zhuǎn)換器CS4331來對(duì)這些數(shù)據(jù)進(jìn)行數(shù)模轉(zhuǎn)換,轉(zhuǎn)換成人耳可以接受的音樂。CS4331 在改善音頻質(zhì)量,降低信噪比等方面都很好,可以減少信號(hào)的失真。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1