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

正文內(nèi)容

基于stc12c5a60s2的mp3播放器設(shè)計本科畢業(yè)設(shè)計(文件)

2025-07-31 10:29 上一頁面

下一頁面
 

【正文】 1 while(VS_DREQ==0)。 //重低音設(shè)置 VS_XDCS=1。 VS1003_WriteByte(0)。 //選中模式寄存器的測試功能 VS_DREQ = 1。 /*啟動正弦測試 */ VS1003_WriteByte(0x53)。 //參數(shù) x用來調(diào)整正弦測試中正弦波的頻率 FsIdx (b7~b5):采樣率表索引 S (b4~b0):正弦波的躍速 頻率 F=Fs X S / 128 VS1003_WriteByte(0x00)。 Delay_ms(200)。 VS1003_WriteByte(0x74)。 VS1003_WriteByte(0x00)。i25。 0x80))。i512。 *buffer++ = SPI_ReadWriteByte(0xff)。 *buffer++ = SPI_ReadWriteByte(0xff)。 *buffer++ = SPI_ReadWriteByte(0xff)。 *buffer++ = SPI_ReadWriteByte(0xff)。 // SPI_SetSpeed(3)。i++) { SPI_ReadWriteByte(0xFF)。 SD 卡應(yīng)答為 0 ? 發(fā)送激活命令 CMD1 進入 SPI 總線方式 結(jié) 束 五邑大學本科畢業(yè)設(shè)計 24 if(retry++ == 200)//可不用該語句 不過這樣一旦 temp!=1 程序就會死在這 { DB_SendString(CMD0 fail ..........\n)。 retry=0。 } }while(temp!=1)。 retry=0。 for(i=0。 *buffer++ = SPI_ReadWriteByte(0xff)。 *buffer++ = SPI_ReadWriteByte(0xff)。 *buffer++ = SPI_ReadWriteByte(0xff)。 *buffer++ = SPI_ReadWriteByte(0xff)。i32。 //清除 SPI 標志位 return SPDAT。 } } MirocSD 卡核心代碼介紹 MirocSD 相關(guān)細節(jié)代碼的設(shè)計 對 MP3 進行順暢的播放猶如木桶原理,既取決于 VS1003 解碼的速度,同時也取決于對 SD 卡的讀取,由于解碼采用硬件的 VS1003,對于目前普遍的歌曲碼率是沒有壓力的,現(xiàn)在的關(guān)鍵 點就在于對 SD卡的讀取速度,所以本設(shè)計采用 STC12C5A60S2 自帶的硬件 SPI功能對 SD 卡進行讀寫,硬件 SPI 的代碼如下: UINT8 SPI_ReadWriteByte(UINT8 dat) { SPDAT = dat。 } //改變正弦頻率測試 void Change_SineTest(UINT8 num) //不知道為何 num=1 時叫了 2次 { UINT8 i。 VS1003_WriteByte(0x00)。 VS1003_WriteByte(0x78)。 VS1003_WriteByte(0x00)。 VS1003_WriteByte(0x6e)。 VS_XCS = 1。 // SPI_SetSpeed(0)。 //關(guān)閉片選 VS1003_WriteByte(0)。 //時鐘設(shè)置,向 3 號寄存器寫入 0x9800 SC_MULT 為 4 SC_ADD 為 3 SC_FREQ 為 0 VS1003_SetVol(200)。 //硬件復(fù)位, XRESET 低電平有效 Delay_ms(100)。 Delay_ms(5)。 VS_SCK=1。 VS_SI=dat1。 VS_SCK=0。 VS_SCK=1。 VS_SI=dat5。 //時鐘的上升沿,位被寫出 VS_SCK=0。 sbit dat0=dat^0。 sbit dat4=dat^4。 VS1003 核心代碼介紹 VS1003 相關(guān)細節(jié)代碼的設(shè)計 對 VS1003 最基本的操作單元是實現(xiàn)發(fā)送一個字節(jié)數(shù)據(jù)的函數(shù),并以此為單元封裝成寫命令和寫數(shù)據(jù)等再上層的函數(shù)接口,其中,正因為各主要的函數(shù)要最終調(diào)用到該寫字節(jié)函數(shù),因此寫字節(jié)函數(shù)的寫的速度 直接影響對 VS1003 操作的效率,若采用一般的寫字節(jié),就是利用 for 循環(huán)將一個字節(jié)進行移位依次寫入的話,其完成一個字節(jié)寫入的速度并不高,大部分時間都是耗在 for 這個循環(huán)的結(jié)構(gòu)體了,而這個結(jié)構(gòu)體我們實現(xiàn)的僅僅是幾行關(guān)于移位的代碼,利用的效率不高,因為 for 本身的循環(huán)就占很大的比例了,若采用匯編完成該寫字節(jié)的實現(xiàn)函數(shù)的話,雖然速度是提高了,但是對于移植以及代碼的統(tǒng)一性并不是適合,本設(shè)計的初衷還是實現(xiàn)全部的 C 代碼最好,最后決定利用 STC12C5A60S2 的位地址來實現(xiàn),將一個要寫入的字節(jié)的 8個 bit 依次分到具有位 尋址的字節(jié)當中,在進行寫入的時候不需要通過移位而是直接一個位一個位的寫入,這樣比移位快多了,同時由于一個字節(jié)也就是寫 8次,次數(shù)并不多,所以取消 for 循環(huán)的調(diào)用,直接采用代碼,具體如下: unsigned char bdata dat。 ⑥ define _WORD_ACCESS。這 五邑大學本科畢業(yè)設(shè)計 17 里設(shè)置其值為 1,使能寫文件操作。有 0 和 1 兩個選擇項。有 0 和 1 兩個值可被選擇,選擇 0 則不使能文件讀操作,選擇 1 則使能讀文件操作,在這里我們選擇 1,使能讀文件操作。其中 和 一般情況下不需要進行改動,需要改動的是 和 。 ③ disk_writep:寫部分扇區(qū),里面只有兩個參數(shù),寫入的數(shù)據(jù)地址 * buff 與第幾個扇區(qū) sc 兩個數(shù)據(jù)。 底層相關(guān)的函數(shù)有: ① disk_initialize:存儲媒介的初始化,一般成功則返回 0,如果用 sd卡的話,初始化、復(fù)位成功后返回零,否則返回 1即可。 ⑦ pf_readdir:讀一個目錄項。 ⑤ pf_lseek:移動讀 /寫指針。 //如果返回 1,則打開失敗 ③ pf_read:讀一個文件。fatfs)) printf(Failed)。 寫函數(shù)只能寫到原來文件的大小,不能擴展大小,不能更新文件時間信息,不能寫只讀文件。支持FAT32,FAT。 Petit FatFS 在 STC12C5A60S2 實現(xiàn)移植 Petit FatFS 簡介 Petit FatFs 是 FatFs 的精簡版,比較適用于低端 8 位單片機 中。 五邑大學本科畢業(yè)設(shè)計 13 本章小結(jié) 本章主要介紹了本設(shè)計的硬件系統(tǒng)總體框架及主要部分硬件模塊的相關(guān)介紹,合理的,協(xié)調(diào)的硬件設(shè)計是本設(shè)計的基礎(chǔ),將各模塊的硬件資源進行有效的整合是一個考 驗,例如利用 MCU 的自帶硬件 SPI 與 SD 卡的 SPI 模式結(jié)合,同時由于 MCU 的引腳有限,盡量的在完成要求下少占用 IO口資源。如圖: 圖 28 按鍵分布 四個按鍵名分別為 prev, next, play, quit。 五邑大學本科畢業(yè)設(shè)計 12 LCD12864 液晶模塊簡介 帶中文字庫的 128X64 是一種具有 4 位 /8 位并行、 2 線或 3 線串行多種接口方式,內(nèi)部含有國標一級、二級簡體中文字庫的點陣圖形液晶顯示模塊;其顯示分辨率為 12864, 內(nèi)置 8192 個 16*16 點漢字,和 128 個 16*8 點 ASCII 字符集 .利用該模塊靈活的接口方式和簡單、方便的操作指令,可構(gòu)成全中文人機交互圖形界面。針腳改為 8pin,電氣性能仍然和 SD 卡兼容,工作電壓依然是 。而 SDA 在 20xx年 3 月 14 日以 TransFlash 卡標準為基礎(chǔ)公布 microSD 的格式,并于 20xx 年 7 月 13 日批準了 microSD 最終的規(guī)格。 SDA對 SD卡的速度用 Class等級來標識,目前主要有 Class2,Class4,和 Class6 三種。 SD 卡表面積和一張郵票差不多,重量只有約 2g。這里我們有必要簡單了解一下 SD 卡。 硬件復(fù)位將使 SCI_VOL 清零(最大音量),而軟件復(fù)位將不改變音量設(shè)置 值。高八位用于設(shè)置左聲道,低八位用于設(shè)置右聲道。復(fù)位后 SPI_HDAT0 和 SPI_HDAT1 將清零。 8) SCI_WRAMADDR( 0x7, RW) 用于設(shè)置 RAM 讀寫的首地址。起始地址在 SCI _WRAMADDR 中進行設(shè)置,且必須先于讀寫 SCI_WRAM。 6) SCI_AUDATA( 0x5, RW) 五邑大學本科畢業(yè)設(shè)計 9 當進行正確的解碼時,該寄存器的值為當 前的采樣率( bit: 151)和所使用的聲道( bit:0)。 5) SCI_DECODE_TIME( 0x4, RW) 解碼時間寄存器。 4) SCI_CLOCKF( 0x3, RW) 在 VS1003 種對該寄存器的操作有別于 VS10x1 和 VS1002。可以根據(jù)個人需要來設(shè)置 SB_AMPLITUDE。 2) SCI_STATUS( 0x1, RW) SCI_STATUS 為 VS1003 的狀態(tài)寄存器,提供 VS1003 當前狀態(tài)信息。 同時置位 SM_ADPCM 和 SM_RESET 將使能 VS1003 的 IMA ADPCM 錄音功能。 ● bit11: SM_SDINEW SM_SDINEW = 1, VS1002 本地模式(新模式)。 ● bit7: SM_PLUSV SM_PLUSV = 1, MP3 + V 解碼使能。 ● bit3: SM _OUTOFWAV SM _OUTOFWAV = 1,停止 WAW 解碼。下面將 VS1003 各寄存器逐一介紹: 1) MODE(地址 0x0; RW,可讀寫) 模式 寄存器在 VS1003 中是一個較為重要的寄存器,其每一位都對應(yīng)著 VS1003 的不同設(shè)置。通 過串行總線控制解碼器。它包含一個高性能,自主產(chǎn)權(quán)的低功耗 DSP 處理器核 VS_DSP4,工作數(shù)據(jù)存儲器,為用戶應(yīng)用提供5KB 的指令 RAM 和 的數(shù)據(jù) RAM。內(nèi)部集成 MAX810 專用復(fù)位電路、 2 路 PWM、 8 路高速 10 位 A/D 轉(zhuǎn)換 (250K/S)、雙串口、特別適用強干擾場合。顯而易見,這種單片機對開發(fā)設(shè)備的要求很低,開發(fā)時間也大大縮短。 MCU 收到用戶的按鍵信息后會根據(jù)不同的指令對對應(yīng)的文件名進行讀取,并將數(shù)據(jù)流直接送到 VS1003 解碼模塊進行解碼,用戶即可通過解碼模塊 VS103的音頻口聽到優(yōu)雅的音樂了,同時, MCU 會將該音頻文件的其他信息顯示到 LCD 上,包括 MP3 文件名,播放時長, 以方便用戶閱覽并后續(xù)的操作,另外,為方便設(shè)計期間對代碼的調(diào)試,也添加了 serial 串口模塊(可裁剪),以方便開發(fā)人員軟件設(shè)計的調(diào)試,可通過設(shè)置宏定義使得開發(fā)期間使能串口打印功能,而當完成調(diào)試 relase 的時候禁止打印功能即可。其提供的函數(shù)接口足以滿足我們對存儲設(shè)備的操作,但由于本設(shè)計所使用的處理器為 STC12C5A60S2,內(nèi)部資源尤其是 RAM 非常有限,且大部分的函數(shù)功能不需要用到,因此采用 Petit FatFs 文件傳統(tǒng), Petit FatFs 是 FatFs 的精簡版,比較適用于低端 8 位單片機中。 ( 5) 文件系統(tǒng)選擇: 對音頻文件的存儲 ,管理,檢索,播放離不開文件系統(tǒng)的支持,而當前對存儲設(shè)備管理的文件系統(tǒng)當屬 FatFS,FatFS 是一個為小型嵌入式系統(tǒng)設(shè)計的通用FAT(File Allocation Table)開源文件系統(tǒng)。常見的 MP3 解碼芯片有 VS100X 系列和 STA01X 系列,由于 VS100X 系列不僅自帶 DAC輸出功能,支持 MP WMA、 WAV、 MIDI 等音頻格式,還具有調(diào)節(jié)音量,高低音等,更為可喜的是具有 MIC 功能。 方案論證 ( 1) 主控芯片選擇: 作為本設(shè)計的核心大腦,主控芯片必須具有能夠富有余力的執(zhí)行整個代碼流程的能力,這在其處理速度上有著硬性要求,照此看來, ARM 系列或者 STM 系列或是不錯的選擇,無論是其強大的處理速度還是豐富的接口,都有比其他處理器有著先天的優(yōu)勢,但對于 MP3
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1