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

正文內(nèi)容

基于stc12c5a60s2的mp3播放器設(shè)計本科畢業(yè)設(shè)計(編輯修改稿)

2025-07-20 21:11 本頁面
 

【文章內(nèi)容簡介】 SK SanDiSK于1999年 年8月共同推出,并成立了SDA(SD Association, SD協(xié)會),共同來推廣SD標(biāo)準(zhǔn)。 SD卡的數(shù)據(jù)傳輸和物理規(guī)范由MMC發(fā)展而來,其尺寸和MMC相近,為24mm32mm。對比MMC卡為24mm32mm,相比SD卡略厚,顯然有更多的堆疊空間。SD卡表面積和一張郵票差不多,重量只有約2g。SD卡具備串行和隨機(jī)存取能力,可通過優(yōu)化速度的串行接口訪問,數(shù)據(jù)傳輸可靠。因此Secure Digital這個命名就有“安全數(shù)碼 安全數(shù)碼”的意思。SD卡通過9Pin接口與相應(yīng)讀寫設(shè)備連接,由于采用NAND閃存介質(zhì)而不易損壞,讀寫數(shù)據(jù)、格式化都比較方便,被MP3,數(shù)碼相機(jī)、游戲機(jī)等多種設(shè)備廣泛采用。SDA對SD卡的速度用Class等級來標(biāo)識,目前主要有Class2,Class4,和Class6 三種。主要以寫入速度來區(qū)別不同的Class:Class2表示寫入速度大于或等于2MB/s,Class4表示寫入速度大于或等于4MB/s,Class6表示寫入速度大于或等于6MB/s,SD卡內(nèi)部結(jié)構(gòu)和實物圖意圖如下: 圖25 SD卡分布及外觀 SD卡雖然得到了廣泛的采用,但由于手機(jī)越來越小,性能越來越高,內(nèi)部留給存儲卡的空間也越來越少。同時,一些別的領(lǐng)域也需要體積更小的存儲卡產(chǎn)品。面對這樣的情況SandiSK開發(fā)出了TFlash微型存儲卡,后來更名為TransFlash卡。而SDA在2005年3月14日以TransFlash卡標(biāo)準(zhǔn)為基礎(chǔ)公布microSD的格式,并于2005年7月13日批準(zhǔn)了 microSD最終的規(guī)格。并被MOTOROLA率先應(yīng)用在手機(jī)產(chǎn)品上。因為這樣的關(guān)系,至今microSD也被人們叫為T Flash卡或TF卡。MicroSD卡的尺寸為15mm*11mm*1mm,確實是指甲蓋那么大。針腳改為8pin,電氣性能仍然和SD卡兼容。MicroSD卡發(fā)售時一般會附帶轉(zhuǎn)接卡,通過轉(zhuǎn)接卡可作為標(biāo)準(zhǔn)SD卡使用。其大小和實物如下: 圖26 Micro SD卡外觀及卡槽 為兼容SD卡和MicroSD卡,本設(shè)計采用SD卡接口作為PCB封裝,實際存儲煤質(zhì)為MicroSD卡,通過轉(zhuǎn)接卡實現(xiàn)轉(zhuǎn)換。另外,MicroSD有兩種讀寫模式,分別為SD模式和SPI模式,其針腳定義是不一樣的,如圖: 圖27 SD卡與Micro SD卡的Pin分布 由于STC12C5A60S2引腳有限且自帶硬件SPI功能,所以本設(shè)計采用MicroSD卡的SPI模式。 LCD12864液晶模塊簡介 帶中文字庫的128X64是一種具有4位/8位并行、2線或3線串行多種接口方式,內(nèi)部含有國標(biāo)一級、二級簡體中文字庫的點陣圖形液晶顯示模塊;其顯示分辨率為12864, 內(nèi)置8192個16*16點漢字,和128個16*、方便的操作指令,可構(gòu)成全中文人機(jī)交互圖形界面??梢燥@示84行1616點陣的漢字. 。由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點陣液晶顯示模塊相比,不論硬件電路結(jié)構(gòu)或顯示程序都要簡潔得多,且該模塊的價格也略低于相同點陣的圖形液晶模塊。 按鍵控制電路簡介 人機(jī)交互肯定離不開輸入系統(tǒng),由于采用LCD12864作為界面而非彩屏特用的觸摸屏功能,所以本設(shè)計采用簡單的按鍵作為輸入系統(tǒng)模塊,過多或過少的按鍵數(shù)量都影響用戶對產(chǎn)品的體驗效果,太少了雖操作簡單,但同時能實現(xiàn)或體驗的功能也少,按鍵數(shù)量多了雖給予用戶更多的功能選擇,但由于按鍵太多用戶時間操作效果不佳,所以本設(shè)計折中,采用四個按鍵,每個按鍵實現(xiàn)一種或多種功能以實現(xiàn)一鍵多用的復(fù)用功能。如圖: 圖28 按鍵分布 四個按鍵名分別為prev,next,play,quit。其中在主菜單界面時,prev為選擇上一級菜單,next為選擇下一級菜單,play表示進(jìn)入,而quit由于在最頂層菜單所以無效。當(dāng)進(jìn)入一級菜單后(以進(jìn)入音樂菜單為例,其它類似),prev為選擇上一首歌曲,next為選擇下一首歌曲,play表示播放,quit表示返回主菜單,當(dāng)鍵值為play時進(jìn)入播放MP3狀態(tài),此時prev表示快退,next表示快進(jìn),play表示暫停,quit表示返回上一級菜單。當(dāng)然對于其他菜單會依據(jù)菜單的實際功能而設(shè)置按鍵對應(yīng)的功能。 本章小結(jié)本章主要介紹了本設(shè)計的硬件系統(tǒng)總體框架及主要部分硬件模塊的相關(guān)介紹,合理的,協(xié)調(diào)的硬件設(shè)計是本設(shè)計的基礎(chǔ),將各模塊的硬件資源進(jìn)行有效的整合是一個考驗,例如利用MCU的自帶硬件SPI與SD卡的SPI模式結(jié)合,同時由于MCU的引腳有限,盡量的在完成要求下少占用IO口資源。本設(shè)計之處原打算將SD卡和VS1003的SPI都用MCU的硬件SPI,通過不同的片選信號來選擇具體要驅(qū)動哪塊模塊,但考慮到MCU的驅(qū)動能力及兩模塊對電平的不同要求,以及SD卡更需要硬件SPI,而VS1003本身具有強(qiáng)大的解碼效率,所以VS1003采用普通IO口來模擬SPI。第3章 系統(tǒng)軟件原理及概述 系統(tǒng)軟件總體流程介紹 開 始 掛載文件系統(tǒng)pf_mount(amp。fatfs)初始化硬件SPI SPI_Init()掛載成功 ? 初始化串口 Uart_Init() Y顯示界面UI初始化MirocSD卡 MirocSD_Init() Y N是否有鍵按下 ??初始化LCD12864 LCD12864_Init() 結(jié) 束 初始化VS1003 VS1003_Init() 圖31 系統(tǒng)軟件流程圖整體軟件啟動流程如上圖所示,程序一開始先對各模塊進(jìn)行初始化,經(jīng)過一系列初始化后開始初始化Petit FatFS也即搭載該文件系統(tǒng),然后進(jìn)入主菜單界面,接著是個死循環(huán),不斷的等待用戶鍵入值,且去執(zhí)行相應(yīng)的功能同時顯示到界面上實現(xiàn)與用戶互動,例如當(dāng)鍵入音樂菜單時,系統(tǒng)會讀取MirocSD卡所有的MP3文件,并顯示到界面一邊用戶的后續(xù)操作。 Petit FatFS在STC12C5A60S2實現(xiàn)移植 Petit FatFS 簡介 Petit FatFs 是FatFs的精簡版,比較適用于低端8位單片機(jī)中??梢杂迷谛AM的單片機(jī)中,RAM可以小于扇區(qū)的RAM(512bytes)中。 Features: (1)Very small RAM consumption (44 bytes work area + certain stack). (2)Very small code size (2K4K bytes). (3)Supports FAT32. (4)Single volume and Single file. (5)File write function with some restrictions. 看最后一條,寫函數(shù)有一些限制。如果不用于寫操作的話,這個文件系統(tǒng)是個不錯的選擇,RAM與ROM消耗都很少,用keil編譯的話會消耗250字節(jié)左右的??臻g。支持FAT32,FAT。本設(shè)計目前暫不用寫操作。同時,官方介紹的限制:只能掛載一個設(shè)備。Petit FatFs不能創(chuàng)建文件,只能對已存在的文件進(jìn)行操作。寫函數(shù)只能寫到原來文件的大小,不能擴(kuò)展大小,不能更新文件時間信息,不能寫只讀文件。Petit FATFs能夠在不同的單片機(jī)平臺上運行,具有良好的層次結(jié)構(gòu),其層次結(jié)構(gòu),如下圖: 圖32 Petit FATFS 框架圖應(yīng)用層位于最頂層,它提供供了以下幾個函數(shù): ① pf_mount :為Petit FATFs模塊注冊或者卸載一塊工作區(qū)域,它包括了設(shè)備的初始化()、文件系統(tǒng)的設(shè)置(FAT3FAT)等,是Petit FATFs能夠工作的前提,在調(diào)用其他應(yīng)用層函數(shù)前應(yīng)先調(diào)用此函數(shù)。一般用法是: FATFS fatfs。 ///定義一個文件系統(tǒng)對象 if(pf_mount(amp。fatfs)) printf(Failed)。 //如果返回1,則掛載失敗, ② pf_open:打開一個已經(jīng)存在的文件,在對文件進(jìn)行讀操作和移動讀寫指針前,首先應(yīng)該調(diào)用該函數(shù)。打開的文件必須是已存在的。一般用法是: if(pf_open() ) printf(Failed)。 //如果返回1,則打開失敗 ③ pf_read:讀一個文件。函數(shù)的三個參數(shù)分別表示讀出數(shù)據(jù)存放的地址,讀出數(shù)據(jù)的大小,反回真正讀出的char數(shù)據(jù)的大小。 ④ pf_write:寫一個文件。函數(shù)的三個參數(shù)分別表示寫入的數(shù)據(jù)存放的地址,要寫入的數(shù)據(jù)的大小,返回真正寫入的char數(shù)據(jù)的大小。 ⑤ pf_lseek:移動讀/寫指針。參數(shù)表示從第幾個數(shù)據(jù)開始操作。 ⑥ pf_opendir:打開一個目錄。第一個參數(shù)表示指向空白目錄結(jié)構(gòu),第二個表示指向一個已存在的目錄名。 ⑦ pf_readdir:讀一個目錄項。使用者在使用應(yīng)用層函數(shù)時只需調(diào)用即可無須理會 Petit FATFs的內(nèi)部結(jié)構(gòu)以及復(fù)雜的FAT 協(xié)議。 中間層Petit FATFs 包含了FAT 的讀寫協(xié)議,和最底層 Low Level Disk I/O完全分離,所以一般不用修改。 Low Level Disk I/O位于最底層,它不是 Petit FATFs 模塊的一部分,需要根據(jù)不同的單片機(jī)和不同的存儲媒介進(jìn)行編寫,是移植過程中最重要的一部分。底層相關(guān)的函數(shù)有: ① disk_initialize:存儲媒介的初始化,一般成功則返回0,如果用sd卡的話,初始化、復(fù)位成功后返回零,否則返回1即可。 ② disk_readp :讀部分扇區(qū),里面的參數(shù)* dest, 存放數(shù)據(jù)的地址。sector,讀的第幾個扇區(qū), sofs,從扇區(qū)平移多少位 。count 讀出的數(shù)據(jù)個數(shù)。 ③ disk_writep:寫部分扇區(qū),里面只有兩個參數(shù),寫入的數(shù)據(jù)地址* buff與第幾個扇區(qū)sc兩個數(shù)據(jù)。但在編寫這個程序的時候要注意,由于FatFs內(nèi)部調(diào)用函數(shù)的需要,必須按照以下的順序來,當(dāng) buff 指向一個空指針,當(dāng)sc 不為0 時,則表示對這個扇區(qū)的寫操作進(jìn)行初始化;當(dāng)sc 為0 時,則表示對這個扇區(qū)的寫操作進(jìn)行結(jié)束操作;當(dāng) buff 指向一個內(nèi)存緩沖區(qū),則是進(jìn)行正常的讀寫。 移植流程 Petit FATFs是一個可配置的文件系統(tǒng),使用者可以根據(jù)需要進(jìn)行相應(yīng)的裁剪。 Petit FATFs 提供了5 個程序文件,分別是 、 、 。 一般情況下不需要進(jìn)行改動,需要改動的是 。 disk_initialize 、disk_readp 和disk_writep ,這三個函數(shù)已經(jīng)在上面講過,這里只需將這三個函數(shù)寫在 。配置的工作主要在 。 里面我們需要配置的有: ① define _USE_READ 。有0 和1 兩個值可被選擇,選擇 0 則不使能文件讀操作,選擇1 則使能讀文件操作,在這里我們選擇 1,使能讀文件操作。 ② define _USE_DIR。為1 時使能打開一個目錄和讀一個目錄項操作,為 0 時則不使能相應(yīng)操作,因為我們只測試文件的讀/寫操作,所以設(shè)置其值為 0。 ③ define _USE_LSEEK。有 0 和1 兩個選擇項。1 時使能移動讀/寫指針操作,為 0 時則禁止。 ④ define _USE_WRITE。為 1 時使能寫文件操作,為 0 時禁止寫文件操作。這里設(shè)置其值為1,使能寫文件操作。 ⑤ define _FS_FAT32。為 0 時僅支持FAT16 文件系統(tǒng),為1 時支持 FAT32 文件系統(tǒng)。FAT32 文件系統(tǒng)是FAT16 文件系統(tǒng)的升級,而且現(xiàn)在 SD 卡在出廠時一般都默認(rèn)被格式化為FAT32 文件系統(tǒng),所以設(shè)置其值為 1。 ⑥ define _WORD_ACCESS。有0 和1 兩個值可被選擇。為 0 時選擇字節(jié)尋址方式,為1 時選擇字尋址方式,一般都置1。 到這里Petit FATFs 文件系統(tǒng)的移植過程完成。 VS1003核心代碼介紹 VS1003相關(guān)細(xì)節(jié)代碼的設(shè)計 對VS1003最基本的操作單元是
點擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1