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

正文內(nèi)容

畢業(yè)設(shè)計(jì)-基于單片機(jī)mp3播放系統(tǒng)設(shè)計(jì)(參考版)

2024-12-06 14:39本頁面
  

【正文】 filepos=0。 } else if(temp==KEY_STOP_CODE) { playstatus=2。 if(playstatus == 1) //playing {vs_set_volume(volume, volume)。 if(playstatus == 0) //pause, mute {vs_set_volume(0xFE, 0xFE)。 貴州大學(xué)本科畢業(yè)論文 (設(shè)計(jì) ) 第 43 頁 if(temp==KEY_PLAY_CODE) { playstatus=(~playstatus) amp。 mp3pos += 32。mp3pos512) { vs1003_SDI_block_write(32, amp。 } while((playstatus==1)amp。 cursector++。 while(filepossize) { if(mp3pos==512) { mp3pos=0。 } void play_music() { Openfile()。 while(1) { play_music()。 } number=n。 while(!znFAT_Open_File(amp。 vs_set_volume(40, 40)。 temp = vs_get_version()。 //設(shè)備號(hào)為 SDCARD, znFAT 依照此設(shè)備號(hào)選擇存儲(chǔ)設(shè)備驅(qū)動(dòng) znFAT_Init()。Init_Arg_SDCARD。 //存儲(chǔ)設(shè)備初始化 UART_Send_Str(SD 卡初始化成功 \n)。 //串口初始化 UART_Send_Str(SD 卡初始化 \n)。 P2M0 = 0xff。 P0M0 = 0xff。 //將 io 口設(shè)置為推挽輸出 P1M1 = 0。 //sbit KEY_REST_PIN = P1^4。 sbit KEY_NEXT_PIN = P1^5。 sbit KEY_PLAY_PIN = P1^7。 sfr P2M1 = 0x95。 sfr P1M1 = 0x91。 //為 STC 單片機(jī)定義 ,系統(tǒng)時(shí)鐘分頻 //為 STC 單片機(jī)的 IO 口設(shè)置地址定義 sfr P0M1 = 0x93。 unsigned char volume=40。 貴州大學(xué)本科畢業(yè)論文 (設(shè)計(jì) ) 第 40 頁 unsigned char temp=0。 //文件系統(tǒng)參數(shù)集合,用于記錄文件系統(tǒng)的重要參數(shù) struct FileInfoStruct FileInfo_MP3。 //設(shè)備號(hào) struct znFAT_Init_Arg *pArg。 //unsigned char keyvalue=0。//文件的當(dāng)前偏移量 unsigned char get_to_keyvalue(void)。//在當(dāng)前扇區(qū)中的位置 unsigned long mp3pos=0。//文件大小 unsigned long cursector=0。 extern unsigned char znFAT_Buffer[]。 unsigned char keyscanf(void)。在此,我也由衷的感謝他們對(duì)我的幫助。 在此,我表示衷心的感謝!感謝指導(dǎo)老師對(duì)我 的諄諄教導(dǎo)!感謝指導(dǎo)老師 耐心的指導(dǎo) 我 的 設(shè)計(jì) !感謝指導(dǎo)老師詳細(xì)的批改我的論文! 能順 利完成 本次 的畢業(yè)設(shè)計(jì),他無論是從理論上還是實(shí)踐上都給我很大的幫助。感謝學(xué)校 能 給我提供一個(gè) 這么 好的學(xué)習(xí)環(huán)境和學(xué)習(xí)基礎(chǔ)設(shè)施,讓我 能 將理論 知識(shí) 能用于實(shí)踐;感謝老師的諄諄教導(dǎo)和鼓勵(lì),讓我學(xué)到專業(yè)知識(shí)的同時(shí)又學(xué)到社會(huì)知識(shí),這有利于我今后 在學(xué)習(xí)和工作中得到不斷的完善和進(jìn)步 。 在此期間我學(xué)到了很多課本上沒有的知識(shí),還自學(xué)了嵌入式系統(tǒng)等等。 當(dāng)然,由于本人的設(shè)計(jì)能力和敘述能力有限,在設(shè)計(jì)的過程中會(huì)有一些不足和論文敘述不到位的 情況, 懇請(qǐng)得到指導(dǎo)老師批評(píng)和教導(dǎo)。 4)采用按鍵模式可對(duì) MP3 系統(tǒng)進(jìn)行操作,讓整個(gè)系統(tǒng)變得人性化,方便對(duì)以后播放 模式進(jìn)行 擴(kuò)展。 2) 采用 SD 卡作為本次設(shè)計(jì)的存儲(chǔ) 模塊,這充分利用了 現(xiàn)代存 儲(chǔ)設(shè)備的功能特性,讓其在可以直接從電腦上下載音樂,同時(shí)也給用戶提供了很大的方便,不用理會(huì)復(fù)雜的原理,只用把 SD 卡插在電腦上即可下載音樂 。再由 按鍵來選 擇歌曲的順序以及模式,使用戶能夠直接和整個(gè)系統(tǒng)進(jìn)行人機(jī)交互 。 這次設(shè)計(jì)讓我更清楚地知道了該設(shè)計(jì)的工作原理。 這樣 做的目的一方面 可以節(jié)約 PCB 板面積, 另一方面也 增加設(shè)計(jì)的美觀。 貴州大學(xué)本科畢業(yè)論文 (設(shè)計(jì) ) 第 36 頁 設(shè)計(jì)總結(jié) 通過這次對(duì)《 基于單片機(jī) MP3 播放系統(tǒng) 設(shè)計(jì) 》的設(shè)計(jì)與制作 過程 ,讓我 更清楚了 該 次設(shè)計(jì)的流程,更加懂得 該 設(shè)計(jì)中各個(gè)電路部分的作用 以及各元件的基本功能 。 按鍵功能測(cè)試,按鍵 1 可使系統(tǒng)正常播放 MP3,按鍵 2 可使系統(tǒng)暫停播放 MP3,按鍵 3 可使系統(tǒng) 播放下一首歌曲,按鍵 4 可使系統(tǒng)播放上一首歌曲,按鍵 5 可增加系統(tǒng)音量,按鍵 6 可減小系統(tǒng)音量。 在以上的過程中,發(fā)現(xiàn) SD 卡不能正常通過初始化,通過檢查才知道正常模式下單片機(jī) I/O 口的電流較小,不能驅(qū)動(dòng) SD 卡,所以才程序中加入了單片機(jī) I/O 口的推挽模式后, SD 卡就能正常工作了 。 2) MCU微控制器電路、 VS1003 模塊電路 、 按鍵部分 以及 SD 卡 的 調(diào)試:接通電源開關(guān),通過連接在 PCB 板 上 的串口和 PC 機(jī) 上的 USB 接口 之間 的下載連接線程序燒入單片機(jī)中, 再 通過 PC 機(jī)上的超級(jí)終端打印信息 。 然后按照設(shè)計(jì)結(jié)構(gòu)電路分別對(duì)各電路結(jié) 構(gòu)進(jìn)行檢測(cè)。 系統(tǒng)的調(diào)試 按照上面的步驟,系統(tǒng)在正常的情況下安裝并焊接完成。 2) 在焊接過程中,要注意焊接的質(zhì)量,避免有空焊、虛焊 、橋接等焊接質(zhì)量問題的 出現(xiàn)。 3)按照系統(tǒng)的安裝圖把元件安裝在電路板上。 1)根據(jù)電路原理圖,去電子市場買好相應(yīng)的元件,并根據(jù)各自元件的封裝,畫好系統(tǒng)的 PCB 圖。圖 是本設(shè)計(jì)的主程序 流程圖: 貴州大學(xué)本科畢業(yè)論文 (設(shè)計(jì) ) 第 33 頁 圖 程序流程圖 圖 主程序設(shè)計(jì)流程圖 貴州大學(xué)本科畢業(yè)論文 (設(shè)計(jì) ) 第 34 頁 第五章 系統(tǒng)的 制作、焊接 與調(diào)試 本章主要介紹了基于單片機(jī)公 MP3 播放系統(tǒng) 的制作、焊接、 調(diào)試及安裝。 VS_XDCS=1。 SPI_WriteByte(0)。 //打開數(shù)據(jù)片選,注意此時(shí) XCS(片選)為高電平, SDI 有效 SPI_WriteByte(0)。 VS_Write_Reg(0x0b,0x00,0x00)。 VS_Write_Reg(0x00,0x08,0x04)。 VS_XRESET=1。 VS_XRESET=0?,F(xiàn)在 介紹主要功能函數(shù): ? VS1003 初始化 void VS_Reset() { VS_XRESET=1。 } VS1003音頻解碼器模塊 VS1003 模塊也是利用軟件模擬 SPI 通信 的, VS1003 有兩種通信接口,其中通過SCI 將控制信息寫入功能寄存器,而通過 SDI 將音頻數(shù)據(jù)送入 VS1003 進(jìn)行解碼。 //SD 卡關(guān)閉片選 SD_spi_write(0xff)。 SD_spi_read()。j++) //將數(shù)據(jù)寫入到數(shù)據(jù)緩沖區(qū)中 { buffer[j]=SD_spi_read()。 //一直讀,當(dāng)讀到 0xfe 時(shí),說明后面的是512 字節(jié)的數(shù)據(jù)了 for(j=0。 //讀塊失敗 } }while(temp!=0)。 //寫入 CMD17 time++。 //返回 0,說明寫扇區(qū)操作成功 } ? 讀扇區(qū) 貴州大學(xué)本科畢業(yè)論文 (設(shè)計(jì) ) 第 30 頁 圖 讀扇區(qū)的時(shí)序 對(duì)應(yīng)的功能函數(shù)為: unsigned char SD_Read_Sector(unsigned long addr,unsigned char *buffer)//從 SD 卡的指定扇區(qū)中讀出 512 個(gè)字節(jié),使用 CMD17( 17號(hào)命令) { ?? unsigned char pcmd[]={0x51,0x00,0x00,0x00,0x00,0xff}。 //關(guān)閉片選 SD_spi_write(0xff)。 //寫塊數(shù)據(jù)失敗 } while(SD_spi_read()!=0xff)。0x1F)!=0x05) //如果返回值是 XXX00101 說明數(shù)據(jù)已經(jīng)被 SD 卡接受了 { SD_CS=1。 //兩個(gè)字節(jié)的 CRC 校驗(yàn)碼,不用關(guān)心 temp=SD_spi_read()。 } SD_spi_write(0xff)。i512。 } SD_spi_write(0xfe)。i100。 //命令寫入失敗 } }while(temp!=0)。 if(time==TRY_TIME) { SD_CS=1。 ...... do { temp=SD_Write_Cmd(pcmd)。 return(0)。 SD_CS=1。//CMD1 寫入失敗 } }while(temp!=0)。 if(time==TRY_TIME) { SD_CS=1。 do { temp=SD_Write_Cmd(pcmd)。 //命令 1 的字節(jié)序列 SD_CS=0。//返回 0,說明復(fù)位操作成功 } ? 初始化 操作 圖 初始化時(shí)序圖 對(duì)應(yīng)功能函數(shù)為: unsigned char SD_Init() //初始化,使用 CMD1(命令 1) { unsigned char time,temp。 //關(guān)閉片選 SD_spi_write(0xff)。//CMD0 寫入失敗 } }while(temp!=0x01)。 if(time==TRY_TIME) { SD_CS=1。 do { 貴州大學(xué)本科畢業(yè)論文 (設(shè)計(jì) ) 第 26 頁 temp=SD_Write_Cmd(pcmd)。 //120 個(gè)時(shí)鐘 } SD_CS=0。i0x0f。 //將 is_init 置為 1 SD_CS=1。 unsigned char pcmd[] = {0x40,0x00,0x00,0x00,0x00,0x95}。 SD 卡的主要功能操作有 ? 復(fù)位操作 貴州大學(xué)本科畢業(yè)論文 (設(shè)計(jì) ) 第 25 頁 圖 復(fù)位時(shí)序圖 74+clock:因?yàn)樵?SD 卡上電初期,電壓的上升過程根據(jù) SD 卡組織的計(jì)算約合 64個(gè) CLK 周期才能到達(dá) SD卡的正常工作電壓他們管這個(gè)叫做 Supply ramp up time,其后的 10 個(gè) CLK 是為了與
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1