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

正文內(nèi)容

基于sd卡的mp3播放器設(shè)計(jì)-在線瀏覽

2025-01-11 05:28本頁面
  

【正文】 器頻率關(guān)系如表 1。 3: SPR1 和 SPR0 為 AVR 單片機(jī)內(nèi)部的 SPI 控制寄存器的 SPI 時(shí)鐘頻率選擇位。此速度完全滿足 MP3 的播放要求。其結(jié)構(gòu)見圖 3。此外,它還可以作為 AD 轉(zhuǎn)換引腳。另外, PC 口在 7 使能 JTAG 后,復(fù)位發(fā)生時(shí), TDI、 TMS、 TCK 的上拉電阻使能。 ATmega32 接口介紹與設(shè)計(jì) 首先,介紹一下時(shí)鐘 和復(fù)位電路的設(shè)計(jì)。本設(shè)計(jì)采用石英晶體振蕩器。具體電路見圖 4。 ATmega32 單片機(jī)與 51 單片機(jī)不同,它使用的是低電平復(fù)位,其連接方法比較固定,其常見接法見圖 5。當(dāng)按鍵按下時(shí), REST 與地接通變低電平,電路發(fā)生復(fù)位。 圖 6 鍵盤接口電路 顯示電路部分采用了 LCD1602,具體的電路如圖 7。 SPI 系統(tǒng)的發(fā)送方向只有一個(gè)緩沖器,在接受方向有兩個(gè)緩沖器。接收數(shù)據(jù)時(shí),需要在下一個(gè)字符移位過程全部結(jié)束前,通過訪問 SPI 數(shù)據(jù)寄存器讀取當(dāng)前接受到的字符;否則第一個(gè)字節(jié)將會(huì)丟失 [10]。從圖 8 可知 SPI 接口內(nèi)部數(shù)據(jù)全由寄存器控制, 在進(jìn)行數(shù)據(jù)移出的同時(shí)也在進(jìn)行數(shù)據(jù)的移入。 圖 8 SPI 主從機(jī)的連接 本設(shè)計(jì)采用 SD 卡作為數(shù)據(jù)存儲(chǔ)介質(zhì),下面分析一下其接口及數(shù)據(jù)傳輸模式:該卡有 9 個(gè)引腳( VCC、 GND、 DAT0DAT CLK、 CMD),在不同的模式下有不同的定義 [11],其定義見表 2。 SPI 模式下SD 卡只需接 MISO、 MOSI、 CLK 等 7 個(gè)引腳,而 ATmega32 單片機(jī)提供了相應(yīng)接口,其標(biāo)準(zhǔn)電壓 為 5V, SD卡的供電及接口標(biāo)準(zhǔn)電壓均為 。 表 2 SD 卡引腳定義 針腳 名稱 類型 1 描述 1 CS/DAT3 I/O/PP 卡監(jiān)測(cè) /數(shù)據(jù)位 3 2 CMD/MOSI PP 命令 /回復(fù) 3 Vss S 地 4 Vcc S 供電電壓 5 CLK I 時(shí)鐘 6 Vss2 S 地 7 DAT0/MISO I/O/PP 數(shù)據(jù)位 0 8 DAT1/IRQ I/O/PP 數(shù)據(jù)位 1 9 DAT2 I/O/PP 數(shù)據(jù)位 2 注 : 1: S:電源供電, I:輸入 O:輸出 I/O:雙向 PP: I/O 使用推挽驅(qū)動(dòng) SD 卡的總線概念 9 圖 9 SD 卡接口電路 下面介紹解碼部分的設(shè)計(jì)步驟。所選芯片應(yīng)包含解碼、放大電路;其次,應(yīng)價(jià)格實(shí)惠、外圍電路簡(jiǎn)單等。 (2) 管腳分析。 使用 VS1003B 還須注意: RX 引腳時(shí)應(yīng)接到 IOVDD 上。 需要使用 100 千歐下拉電阻。根據(jù)管腳分析結(jié)果,對(duì)芯片輸入引腳進(jìn)行電平轉(zhuǎn)換。其主要輸入引腳為數(shù)據(jù)選擇、命令選擇、復(fù)位、時(shí)鐘、查詢忙、數(shù)據(jù)輸入。 10 圖 11 vs1003 電平轉(zhuǎn)換電路 另外,時(shí)鐘、電源以及特殊引腳的連接方式比較固定,且其數(shù)據(jù)手冊(cè)給出了示例,只要根據(jù)時(shí)序設(shè)計(jì)好軟件,便可以實(shí) 現(xiàn)各種功能。 自此,基于 SD 卡的 MP3 播放器硬件部分設(shè)計(jì)全部完成。在實(shí)際生產(chǎn)中可以用貼片電阻代替,這樣就可以大大減小電路板的體積。首先對(duì)鍵盤、 SD 卡、 FAT、vs1003b 設(shè)計(jì)對(duì)應(yīng)的驅(qū)動(dòng)程序,并對(duì)這些驅(qū)動(dòng)程序加以排列、組合以獲得最優(yōu)啟動(dòng)順序,最后設(shè)計(jì)高層人機(jī)接口程序,總體程序流程見圖 13。檢測(cè)到輸入引腳有低電平時(shí),使用軟件延時(shí) 10ms 防止干擾,再次檢測(cè),若仍然為低電平,則說明有鍵按下,讀出鍵值;再將列引腳設(shè)為輸出低電平,行引腳設(shè)為輸入,用同樣的辦法可以讀出鍵值。鍵盤接口可以利用初始化程序進(jìn)行特定定義,掃描過程中程序便可節(jié)約時(shí)間進(jìn)行數(shù)據(jù)的讀寫。LCD1602 液晶顯示器的初始化過程 [13]如下: 15ms; 38H(不檢測(cè)忙標(biāo)志); 5ms; 4. 寫指令 38H(不檢測(cè)忙標(biāo)志); 5. 延時(shí) 5ms; 6. 寫指令 38H(以后每次寫指令、讀 /寫數(shù)據(jù)操作之前否 是 是 開始 初始化各驅(qū)動(dòng)程序 是否有歌曲 否 結(jié)束 播放一幀數(shù)據(jù) 掃描鍵盤一次 獲取歌曲信息 讀入一幀數(shù)據(jù) 歌曲是否結(jié)束 下一曲 圖 13 程序流程圖 12 均需檢測(cè)忙信號(hào)); 7. 寫指令 38H:顯示模式設(shè)置; 08H:關(guān)閉顯示; 9.寫指令 01H:顯示清屏; 06H:顯示光標(biāo)移動(dòng)設(shè)置; 0CH:顯示開及光標(biāo)設(shè)置。編寫SD 卡驅(qū)動(dòng)程序前,須先將單片機(jī)的 SPI 總線初始化。 DDRB amp。 SPCR |= (1 SPE)|(1 MSTR)|(1 SPR1)|(1 SPR0)。 } 一般器件初始化過程中,不能有太高的速度,否則很容易導(dǎo)致初始化失敗。在 MP3 播放過程中,單片機(jī)作為控 13 制中心,還應(yīng)將單片機(jī)設(shè)為主機(jī),其它模塊設(shè)為從機(jī)。其激活步驟如圖 14[15]。另外, SD 卡的數(shù)據(jù)、指令長度為 32 位,SPI 總線為 8 位,使用過程中還需編寫接口函數(shù)以操作 SD 卡 。 日常使用的 mini 卡中包含很多 MMC 卡。故可以在設(shè)計(jì)中加入幾條關(guān)鍵指令,判斷并激活兩種存儲(chǔ)卡。 初始化 SD 卡的最后一步是特殊功能的寫入,如設(shè)置校驗(yàn)位,一次讀寫的數(shù)據(jù)長度等。 FAT驅(qū)動(dòng)程序設(shè)計(jì) 一般 SD 卡中 的數(shù)據(jù)是根據(jù)微軟制定的 FAT/NTFS 格式存放的。 現(xiàn)多數(shù) SD/MMC 卡都采用 FAT32 格式,故本設(shè)計(jì)就以 FAT32 格式為例進(jìn)行分析。一般磁盤都有自己固定的存儲(chǔ)結(jié)構(gòu)。系統(tǒng)區(qū)一般用來存放系統(tǒng)存儲(chǔ)和維護(hù)的信 息,系統(tǒng)區(qū)由三部分組成: (包含磁盤大小、格式、存儲(chǔ)方式等信息); FAT(為文件分配磁盤空間);(包括文件名、磁盤地址和文件狀態(tài)) [16]。 14 本設(shè)計(jì)需要對(duì)引導(dǎo)記錄進(jìn)行詳細(xì)分析,計(jì)算出數(shù)據(jù)位置,找到音樂文件。其中前 96 字節(jié)記錄了系統(tǒng)的詳細(xì)信息,根據(jù)這些信息可以算出系統(tǒng)區(qū)和數(shù)據(jù)區(qū)各組成部分的位置。 圖 16 SD 卡前 96 字節(jié)截圖 圖 16 中各字節(jié)含義如 下:前 3 字節(jié)為跳轉(zhuǎn)指令結(jié)構(gòu); 411 字節(jié)為依賴的系統(tǒng)文件名;第 1 13 字節(jié)為字節(jié)數(shù) /扇區(qū); 14 字節(jié)為扇區(qū)數(shù) /簇; 1 16 字節(jié)為保留扇區(qū)數(shù); 17 字節(jié)為 FAT 數(shù)目; 1 19 字節(jié)為啟動(dòng)入口; 1921 字節(jié)為小卷標(biāo)扇區(qū)數(shù);第 22 字節(jié)為多媒體類型描述(一般為 F8); 2 24 字節(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ū)位置; 5 52 字節(jié)為啟動(dòng)數(shù)據(jù)備份扇區(qū)位置;另外, 8387 字節(jié)為文件系統(tǒng)格式。根據(jù)這些信息用一結(jié)構(gòu)體進(jìn)行賦值。 struct bpb50 { WORD bpbBytesPerSec。 WORD bpbResSectors。 WORD bpbRootDirEnts。 BYTE bpbMedia。 WORD bpbSecPerTrack。 DWORD bpbHiddenSecs。 }。獲取到啟動(dòng)信息以及數(shù)據(jù)區(qū)等位 置關(guān)系后,便可以讀取所需數(shù)據(jù)。下面就對(duì) MP3文 件 格 式 做 簡(jiǎn) 略介 紹 。每個(gè) MP3 數(shù)據(jù)幀又分為幀頭和數(shù)據(jù)部分構(gòu)成。幀頭結(jié)構(gòu)如圖 17。以上介紹中最重要的為 E和 F 部分。 表 4 位速率索引表 Bits V1,L11 V1,L2 V1,L3 V2,L1 V2,L2 V2,L3 0000 Free Free Free Free Free Free 0001 32 32 32 32 32 8(8) 0010 64 48 40 64 48 16(16) 0011 96 56 48 96 56 24(24) 0100 128 64 56 128 64 32(32) 0101 160 80 64 160 80 64(40) 0110 192 96 80 192 96 80(48) 0111 224 112 96 224 112 56(56) 1000 256 128 112 256 128 64(64) 1001 288 160 128 288 160 128(80) 1010 320 192 160 320 192 160(96) 1011 352 224 192 352 224 112(112) 1100 384 256 224 384 256 128(128) 1101 416 320 256 416 320 256(144) 1110 448 384 320 448 384 320(160) 1111 Bad Bad Bad Bad Bad Bad 注: 1:V1 MPEG1。L1Layer I。L3Layer III 2:Free–可以利用的位率 ; Bad–不允許的值 16 在幀頭 B、 C 部分可以查到 MP3 版本及層數(shù),根據(jù) B、 C 的值在上表中可以查出 音樂播放速率。 表 5 采樣率索引表 (單位: Hz) Bits MPEG1 MPEG2 00 44100 22050 11025 01 48000 24000 12020 10 32020 16000 8000 11 Reserved Reserved Reserved 無論幀長度是多少,每幀的播放時(shí)間都是 26ms;每幀的大小可以通過以下方法計(jì)算得出:幀大小 =(((MPEGversion==MPEG1? 144: 72)比特率 )/采樣率 )+填充位。 VS1003B 解碼芯片在設(shè)計(jì)中使用的是 SPI 接口,另外還連接了復(fù)位端、數(shù)據(jù)請(qǐng)求端、數(shù)據(jù)端及命令端。本設(shè)計(jì)只需寫,只有在驗(yàn)證寫入是否成功時(shí),才讀 VS1003B 內(nèi)部寄存器。其具體時(shí)序如圖 18。然后 DREQ 會(huì)變低,直到內(nèi)部完成數(shù) 據(jù)的操作。另外,還需要對(duì)音頻寄存器進(jìn)行設(shè)置,其取值由具體 MP3 文件幀頭數(shù)據(jù)計(jì)算得到,初始化設(shè)置完成后,就可以進(jìn)行數(shù)據(jù)送入解碼芯片進(jìn)行解碼。 另外, DREQ 引腳在 VS1003B 的 FIFO 在能夠接受數(shù)據(jù)的時(shí)候輸出高電平。遵循這個(gè)標(biāo)準(zhǔn),當(dāng) DREQ 變低時(shí),發(fā) 送器必須停止發(fā)送新的數(shù)據(jù) [18]。 MP3軟件運(yùn)行設(shè)計(jì) 完成各種驅(qū)動(dòng)程序設(shè)計(jì)后,需對(duì)音樂播放流程、界面和操作進(jìn)行設(shè)計(jì)。故下面論文就怎樣進(jìn)行整體設(shè)計(jì)做簡(jiǎn)要說明。初始化各個(gè)驅(qū)動(dòng)的順序必須有嚴(yán)格規(guī)定,應(yīng)該從鍵盤開始,到顯示器,再到 SPI 接口初始化,到 SD 卡和 FAT 格式初始化,最后是 VS1003B 的初始化。這部分程序可以在死循環(huán)中完成。其代碼如下。 while(1){ flag=0。 } } MP3 播放過程中,可以先搜索全部音樂,將其放入一全局變量中,然后利用這個(gè)全局變量判斷是否所有音樂已經(jīng)播放完成。其中,在進(jìn)行完每一塊數(shù)據(jù)的解碼之后,需要進(jìn)行一次鍵盤掃描,根據(jù)鍵盤的值,對(duì) VS1003B 或單片機(jī)的相應(yīng)寄存器進(jìn)行操作控制 MP3 的播放。采用這種方法制作電路板有點(diǎn)是:成本低廉、原材料易得、操作簡(jiǎn)單。 熱轉(zhuǎn)印的預(yù)備工作 第一步,準(zhǔn)備熱轉(zhuǎn)印所需的材料。另外還需準(zhǔn)備激光打印機(jī)、電腦各一臺(tái)。 第二步,利用 protel DXP2020 軟件將設(shè)計(jì)好的電路圖編譯并轉(zhuǎn)移到 PCB 圖進(jìn)行布線。將單片機(jī)和音頻解碼芯片制作成單獨(dú)的模塊,防止焊接過程中出現(xiàn)的失誤,導(dǎo)致成 本的大幅度增加,同時(shí)還能降低關(guān)鍵芯片被靜電擊穿的概率。先利用虛擬打印機(jī)將已經(jīng)布線的 PCB 板制作成 PDF 文檔。單片機(jī)模塊打印后效果見圖19, VS1003B 模塊打印后效果圖見圖 20。而大面積的接地覆銅區(qū)是為了降低外界對(duì)石英晶體振蕩器的干擾,提高電路穩(wěn)定性。如果不腐蝕中心銅箔,使用機(jī)器鉆孔時(shí)易讓整個(gè)引腳銅皮脫落以致發(fā)生斷路或無法焊接等問題。首先將 PCB 板按需要裁好并將邊緣突起的毛刺用砂紙或砂輪打磨光滑。在溶液中放入覆銅板,銅皮面向上,用刷子不斷地來回刷洗,將油垢和雜質(zhì)刷掉。最后取出覆銅板,用水清洗后用干凈柔軟的布擦干。將電熨斗溫度調(diào)節(jié)在大概 80176。之間, 首先對(duì)覆銅板進(jìn)行 預(yù) 熱。沒有預(yù)熱時(shí)吸附碳粉能力很差,在揭紙的一刻與轉(zhuǎn)印紙爭(zhēng)奪碳粉時(shí)處于劣勢(shì)會(huì)造成部分線斷開。將打印好的轉(zhuǎn)印紙墨面對(duì)著銅皮置于上面,轉(zhuǎn)印紙要剪掉多余的,留少量的邊,還應(yīng)選用透明膠固定覆銅板和轉(zhuǎn)印紙的位置,防止熨斗運(yùn) 動(dòng)時(shí)發(fā)生滑動(dòng)造成斷線等問題。一般這樣操作 3~5 分鐘即可。可以將整塊板放入水中令其快速冷卻,待到覆銅板達(dá)到常溫時(shí)就可揭開緩慢熱轉(zhuǎn)印紙,完成整個(gè)熱轉(zhuǎn)印過程。將銅皮面向上,不斷均勻搖動(dòng)并觀察,直到腐蝕完成。用鋼絲球?qū)⒏g后的電路板表面上的碳粉擦除 ,并根據(jù) PCB 圖打孔、焊接完成電路板的制作。需要立刻進(jìn)行線路的測(cè)試工作,測(cè)試時(shí)可以利用 protel DXP2020,其有一項(xiàng)功能是將有電氣連接性能的節(jié)點(diǎn)或連線突出顯示。在電路板上電以前還應(yīng)該用萬用表測(cè)試電源線正負(fù)極間電阻,若只有幾十歐姆或者更小,則電路可能存在問題需仔細(xì)檢查。由于 VS1003B 芯片較小各引腳間間距僅為,線寬亦不能超過 ,手工制作、焊接很難實(shí)現(xiàn),故此次設(shè)計(jì)采用市場(chǎng)
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1