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

正文內(nèi)容

應(yīng)用電子技術(shù)專業(yè)畢業(yè)論文-基于stc12c5a60s2與vs1003音頻播放器的研究-資料下載頁

2024-11-12 14:45本頁面

【導(dǎo)讀】隨著電子消費(fèi)產(chǎn)品的快速發(fā)展,音頻播放器在各種場(chǎng)合的需求也日益增長(zhǎng),基于成本、音質(zhì)和功耗的綜合考慮,采用一種基于SPI協(xié)議的解碼。芯片VS1003來實(shí)現(xiàn)音頻解碼功能,處理器選用STC12C5A60S2作為控制MCU,傳送至VS1003進(jìn)行解碼播放,在此VS1003解碼模塊單獨(dú)使用一個(gè)SPI接口,以減少干擾和噪音,提高音質(zhì)。以STC12C5A60S2作為核心控制器,結(jié)合VS1003

  

【正文】 I 模式下并不關(guān)心 CRC 校驗(yàn)的數(shù)據(jù) ,CRC 校驗(yàn)的數(shù)據(jù)可以是兩個(gè) 0xFF。發(fā)送完數(shù)據(jù)后可以連續(xù)讀 SD 儲(chǔ)存卡, 如果讀回的數(shù)據(jù)的低五位是 00101表明寫入的 512個(gè)字節(jié)的數(shù)據(jù)被 SD儲(chǔ)存卡 所接收 ,整個(gè)過程如圖中 58 部分。第三是將數(shù)據(jù)存入 SD 儲(chǔ)存卡 相應(yīng)的 flash存儲(chǔ)單元中 ,這個(gè)過程需要一定時(shí)間 , 在此時(shí)間段 , SD 儲(chǔ)存卡 呈現(xiàn)忙狀態(tài) , 讀 SD 儲(chǔ)存卡 數(shù)據(jù)端數(shù)據(jù)為 00h, 此時(shí)間段需要發(fā)送一定量的時(shí)鐘信號(hào) ; 直到讀 SD 儲(chǔ)存卡 的數(shù)據(jù)端讀回的數(shù)據(jù)是 FFh, 表示數(shù)據(jù)寫入成功 , 拉高 CS 片選 , 插入 8 個(gè)時(shí)鐘信號(hào)。 圖 36 寫扇區(qū)的時(shí)序 電子信息工程系畢業(yè)論文 21 第四章 FAT32 在單片機(jī)上的實(shí)現(xiàn) FAT32 文件系統(tǒng)概述 文件系統(tǒng)在操作系統(tǒng)中體現(xiàn)文件命名、存貯和組織的整體結(jié)構(gòu),由文件、目錄和對(duì)這些項(xiàng)目定位及存取所需的信息組成。 Windows95 OSR2 和 Windows 98開始支持 FAT32 文件系統(tǒng),它是對(duì)早期 DOS 的 FAT16 文 件系統(tǒng)的增強(qiáng),由于文件系統(tǒng)的核心 文件分配表 FAT 由 16 位擴(kuò)充為 32 位,所以稱為 FAT32 文件系統(tǒng)。在一邏輯盤 (硬盤的一分區(qū) )超過 512 兆字節(jié)時(shí)使用這種格式,會(huì)更高效地存儲(chǔ)數(shù)據(jù),減少硬盤空間的浪費(fèi),一般還會(huì)使程序運(yùn)行加快,使用的計(jì)算機(jī)系統(tǒng)資源更少,因此是使用大容量硬盤存儲(chǔ)文件的極有效的系統(tǒng)。本人對(duì) Windows 98 下的FAT32 文件系統(tǒng)做了分析實(shí)驗(yàn),總體上與 FAT16 文件系統(tǒng)變化不大,現(xiàn)將有關(guān)變化部分簡(jiǎn)介如下: (一) FAT32 文件系統(tǒng)將邏輯盤的空間劃分為三部分,依次是引導(dǎo)區(qū) (BOOT區(qū) )、文件分配表區(qū) (FAT 區(qū) )、數(shù)據(jù)區(qū) (DATA 區(qū) )。引導(dǎo)區(qū)和文件分配表區(qū)又合稱為系統(tǒng)區(qū)。 (二) 引導(dǎo)區(qū)從第一扇區(qū)開始,使用了三個(gè)扇區(qū),保存了該邏輯盤每扇區(qū)字節(jié)數(shù),每簇對(duì)應(yīng)的扇區(qū)數(shù)等等重要參數(shù)和引導(dǎo)記錄。之后還留有若干保留扇區(qū)。而 FAT16 文件系統(tǒng)的引導(dǎo)區(qū)只占用一個(gè)扇區(qū),沒有保留扇區(qū)。 (三) 文件分配表區(qū)共保存了兩個(gè)相同的文件分配表,因?yàn)槲募加玫拇鎯?chǔ)空間 (簇鏈 )及空閑空間的管理都是通過 FAT 實(shí)現(xiàn)的, FAT 如此重要,保存兩個(gè)以便第一個(gè)損壞時(shí),還有第二個(gè)可用。文件系統(tǒng)對(duì)數(shù)據(jù)區(qū)的存儲(chǔ)空間是按簇進(jìn)行劃分和管理的,簇是空間分配和回收的基本單位,即一 個(gè)文件總是占用若干個(gè)整簇,文件所使用的最后一簇剩余的空間就不再使用,而是浪費(fèi)掉了。 (四) FAT32 系統(tǒng)一簇對(duì)應(yīng) 8 個(gè)邏輯相鄰的扇區(qū),理論上,這種用法所能管理的邏輯盤容量上限為 16TB(16384GB),容量大于 16TB 時(shí),可以用一簇對(duì)應(yīng)16 個(gè)扇區(qū),依此類推。 FAT16 系統(tǒng)在邏輯盤容量介于 128MB 到 256MB 時(shí),一簇對(duì)應(yīng) 8 個(gè)扇區(qū),容量介于 256MB 到 512MB 時(shí),一簇對(duì)應(yīng) 16 個(gè)扇區(qū),容量介于 512MB 到 1GB 時(shí),一簇對(duì)應(yīng) 32 個(gè)扇區(qū),容量介于 1GB 到 2GB 時(shí),一簇對(duì)應(yīng) 32 個(gè)扇區(qū),超出 2GB 的部分無法使用。顯然,對(duì)于 容量大于 512MB 的邏輯盤,采用 FAT32 的簇比采用 FAT16 的簇小很多,大大減少了空間的浪費(fèi)。 (五) 根目錄區(qū) (ROOT 區(qū) )不再是固定區(qū)域、固定大小,可看作是數(shù)據(jù)區(qū)的一部分。因?yàn)楦夸浺迅臑楦夸浳募捎门c子目錄文件相同的管理方式,一般情況下從第二簇開始使用,大小視需要增加,因此根目錄下的文件數(shù)目不再受最多 512 的限制。 FAT16 文件系統(tǒng)的根目錄區(qū) (ROOT 區(qū) )是固定區(qū)域、固定大小的,是從 FAT 區(qū)之后緊接著的 32 個(gè)扇區(qū),最多保存 512 個(gè)目錄項(xiàng),作為系統(tǒng)區(qū)的一部分。 電子信息工程系畢業(yè)論文 22 (六) 目錄區(qū)中的目錄項(xiàng)變化較多,一個(gè)目錄項(xiàng)仍占 32 字節(jié),可以是文件目錄項(xiàng)、子目錄項(xiàng)、卷標(biāo)項(xiàng) (僅跟目錄有 )、已刪除目錄項(xiàng)、長(zhǎng)文件名目錄項(xiàng)等。目錄項(xiàng)中原來在 DOS 下保留未用的 10 個(gè)字節(jié)都有了新的定義,全部 32 字節(jié)的定義如下: 07 字節(jié) 文件正名。 810 字節(jié) 文件擴(kuò)展名。 11 字節(jié) 文件屬性,按二進(jìn)制位定義,最高兩位保留未用, 0 至 5 位分別是只讀位、隱藏位、系統(tǒng)位、卷標(biāo)位、子目錄位、歸檔位。 1213 字節(jié) 僅長(zhǎng)文件名目錄項(xiàng)用,用來存儲(chǔ)其對(duì)應(yīng)的短文件名目錄項(xiàng)的文件名字節(jié)校驗(yàn)和等。 1415 字節(jié) 24 位二進(jìn)制的文件建立時(shí)間,其中的 高 5 位為小時(shí),次 6位為分鐘。 1617 字節(jié) 16 位二進(jìn)制的文件建立日期,其中的高 7 位為相對(duì)于 1980年的年份值,次 4 位為月份,后 5 位為月內(nèi)日期。 1819 字節(jié) 16 位二進(jìn)制的文件最新訪問日期,定義同 (6)。 2021 字節(jié) 起始簇號(hào)的高 16 位。 2223 字節(jié) 16 位二進(jìn)制的文件最新修改時(shí)間,其中的高 5 位為小時(shí),次 6 位為分鐘,后 5 位的二倍為秒數(shù)。 2425 字節(jié) 16 位二進(jìn)制的文件最新修改日期,定義同 (6)。 1 2627 字節(jié) 起始簇號(hào)的低 16 位。 1 2831 字節(jié) 32 位的文件字節(jié)長(zhǎng)度。 其中第 4 至 8 項(xiàng)為以后陸續(xù)定義的。對(duì)于子目錄項(xiàng),其 12 為零;已刪除目錄項(xiàng)的首字節(jié)值為 E5H。在可以使用長(zhǎng)文件名的 FAT32 系統(tǒng)中,文件目錄項(xiàng)保存該文件的短文件名,長(zhǎng)文件名用若干個(gè)長(zhǎng)文件名目錄項(xiàng)保存,長(zhǎng)文件名目錄項(xiàng)倒序排在文件短目錄項(xiàng)前面,全部是采用雙字節(jié)內(nèi)碼保存的,每一項(xiàng)最多保存十三個(gè)字符內(nèi)碼,首字節(jié)指明是長(zhǎng)文件名的第幾項(xiàng), 11 字節(jié)一般為 0FH, 12 字節(jié)指明類型, 13 字節(jié)為校驗(yàn)和, 2627 字節(jié)為零。 FAT32 文件系統(tǒng)在單片機(jī)上的軟件設(shè)計(jì) FAT32 文件系統(tǒng)您一定不 會(huì)陌生,最多看到它是在 windows 操作系統(tǒng)里,但在一些嵌入式產(chǎn)品 (如手機(jī)、 MP MP4 等 )中,也能看到它的身影。從某種意義上來講, FAT32 文件系統(tǒng)是非常成功的,使用戶可以脫離底層儲(chǔ)存設(shè)備驅(qū)動(dòng),更為方便高效地組織數(shù)據(jù)。給單片機(jī)系統(tǒng)中的大容量存儲(chǔ)器 (如 SD 儲(chǔ)存卡、 CF 卡、硬盤等 )配以 FAT32 文件系統(tǒng),將是非常有意義的。下面就通過程序來了解 FAT32文件系統(tǒng)機(jī)制在單片機(jī)上的實(shí)現(xiàn)原理。 主引導(dǎo)扇區(qū)的數(shù)據(jù)結(jié)構(gòu) 雖然本次設(shè)計(jì)中用的 SD 儲(chǔ)存卡基本只有一個(gè)分區(qū),但是在文件系統(tǒng)初始化電子信息工程系畢業(yè)論文 23 的開始我們必須通過 MBR 獲得分區(qū)表項(xiàng)的數(shù)據(jù),以獲得 CHS、 LBA 參數(shù)以及分區(qū)大小扇區(qū)數(shù),否則就無法知道 SD 儲(chǔ)存卡中的文件系統(tǒng)的起始物理扇區(qū)號(hào)! 在單片機(jī)定義程序如下: struct PartRecord //結(jié)構(gòu)體 :分區(qū)表項(xiàng) { unsigned char Active。 //0x80 表示此分區(qū)有效 unsigned char StartHead。 //分區(qū)的開始頭 unsigned char StartCylSect[2]。 //開始柱面與扇區(qū) unsigned char PartType。 //分區(qū)類型 unsigned char EndHead。 //分區(qū)的結(jié)束頭 unsigned char EndCylSect[2]。 //結(jié)束柱面與扇區(qū) unsigned char StartLBA[4]。 //分區(qū)的第一個(gè)扇區(qū) unsigned char Size[4]。 //分區(qū)的大小 }。 /* 結(jié)構(gòu)體 :主引導(dǎo)記錄扇區(qū) (MBR) MBR 由 446 個(gè)字節(jié)的引導(dǎo)代碼、 64 字節(jié)的主分區(qū) (4 個(gè) )表及兩字節(jié)的簽名 值 55 AA組成 */ struct PartSector //絕對(duì) 0 扇區(qū) { unsigned char PartCode[446]。 //MBR 的引導(dǎo)程序 struct PartRecord Part[4]。 //4 個(gè)分區(qū)記錄 unsigned char BootSectSig0。 unsigned char BootSectSig1。 }。 分區(qū)引導(dǎo)扇區(qū)的數(shù)據(jù)結(jié)構(gòu) 引導(dǎo)扇區(qū)是 FAT32 文件系統(tǒng)的第一個(gè)扇區(qū),也稱為 DBR 扇區(qū),它包含這樣一些文件系統(tǒng)的基本信息: 【 1】 每扇區(qū)字節(jié)數(shù) 【 2】 每簇扇區(qū)數(shù) 【 3】 保留扇區(qū)數(shù) 【 4】 FAT 表個(gè)數(shù) 【 5】 文件系統(tǒng)大小 (扇區(qū)數(shù) ) 【 6】 每個(gè) FAT 表大小 (扇區(qū)數(shù) ) 【 7】 根目錄起始簇號(hào) 電子信息工程系畢業(yè)論文 24 【 8】 其他一些附加信息 在單片機(jī)定義程序如下: struct FAT32_BPB //結(jié)構(gòu)體 :引導(dǎo)扇區(qū) (DBR) { unsigned char BS_jmpBoot[3]。 //跳轉(zhuǎn)指令 unsigned char BS_OEMName[8]。 //文件系統(tǒng)標(biāo)志與版本號(hào) unsigned char BPB_BytesPerSec[2]。 //每扇區(qū)字節(jié)數(shù) unsigned char BPB_SecPerClus[1]。 //每簇扇區(qū)數(shù) unsigned char BPB_RsvdSecCnt[2]。 //保留扇區(qū)數(shù) unsigned char BPB_NumFATs[1]。 //此卷中 FAT 表數(shù) unsigned char BPB_RootEntCnt[2]。 //根目錄最多可容納的目錄 項(xiàng)數(shù) (FAT32 不用 ) unsigned char BPB_TotSec16[2]。 //扇區(qū)總數(shù) (小于 32MB 時(shí)使 用此處,大于 32MB 使用 Totsec32 處存放 ) unsigned char BPB_Media[1]。 //存儲(chǔ)介質(zhì) unsigned char BPB_FATSz16[2]。 //FAT32 為 0 unsigned char BPB_SecPerTrk[2]。 //磁道扇區(qū)數(shù) unsigned char BPB_NumHeads[2]。 //磁頭數(shù) unsigned char BPB_HiddSec[4]。 //FAT 區(qū)前隱扇區(qū)數(shù) unsigned char BPB_TotSec32[4]。 //該卷總扇區(qū)數(shù) unsigned char BPB_FATSz32[4]。 //一個(gè) FAT 表扇區(qū)數(shù) unsigned char BPB_ExtFlags[2]。 //標(biāo)記 unsigned char BPB_FSVer[2]。 //版本號(hào) unsigned char BPB_RootClus[4]。 //根目錄簇號(hào) unsigned char FSInfo[2]。 //保留扇區(qū) FSINFO 扇區(qū)數(shù) unsigned char BPB_BkBootSec[2]。 //通常為 6 unsigned char BPB_Reserved[12]。 //擴(kuò)展用 unsigned char BS_DrvNum[1]。 //設(shè)備號(hào) unsigned char BS_Reserved1[1]。 //未用 unsigned char BS_BootSig[1]。 //擴(kuò)展引導(dǎo)標(biāo)志 unsigned char BS_VolID[4]。 //卷序列號(hào) unsigned char BS_FilSysType[11]。 //卷標(biāo) (ASCII 碼 ) unsigned char BS_FilSysType1[8]。 //FAT32文件系統(tǒng)格式的 ASCII 碼值 電子信息工程系畢業(yè)論文 25 }。 目錄項(xiàng)的數(shù)據(jù)結(jié)構(gòu) 根目錄在文件系統(tǒng)建立時(shí)已被創(chuàng)建,其目的就是存儲(chǔ)目錄或文件的目錄項(xiàng)。每個(gè)目錄項(xiàng)的大小為 32 個(gè)字節(jié)。 在單片機(jī)定義程序如下: struct direntry //結(jié)構(gòu)體 :短文件名目錄項(xiàng) { unsigned char deName[8]。 //文件名 (文件名不足 8 位用 0x02 填 充。 超過 8 位截短,取文件的前六為 字符加上 ~1同名數(shù)值遞增。 如果是 子目錄這擴(kuò)展名用 0x02 填充。 ) unsigned char deExtension[3]。 //擴(kuò)展名 unsigned char deAttributes。 //文件屬性 unsigned char deLowerCase。 //保留 (置零 ) unsigned char deCHundredth。 //文
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1