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

正文內(nèi)容

基于mp3播放器的設(shè)計(jì)畢業(yè)論文(編輯修改稿)

2024-07-24 18:04 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 化 U 盤成功,返回標(biāo)志 0。當(dāng) CS、RD 和 A0 都為低電平時(shí) CH375 的數(shù)據(jù)可以通過 D0~D7 輸出;當(dāng) CS、WR 和A0 都為低電平時(shí),D0~D7 上的數(shù)據(jù)被寫入 CH375 芯片中;當(dāng) CS 和 WR 都為低電平,A0為高電平時(shí),D0~D7 中的數(shù)據(jù)可以作為命令碼寫入 CH375 中,這樣就實(shí)現(xiàn)了 CH375 對(duì) U盤的讀寫 [5]。其過程為:在 CH375 對(duì) U 盤進(jìn)行讀寫扇區(qū)時(shí),首先送入磁盤讀取命令DIST_READ,然后送入 32 位的扇區(qū)地址,從低字節(jié)開始送入,接著送入要讀取的扇區(qū)數(shù),當(dāng)我們只讀取一個(gè)扇區(qū)時(shí),我們就只送一個(gè)入一個(gè) 1,往下是等待中斷讀取狀態(tài),送入讀數(shù)據(jù)命令再讀數(shù)據(jù)(注:數(shù)據(jù)的第一個(gè)字節(jié)是后面數(shù)據(jù)的長(zhǎng)度,緊接著的才是真正的數(shù)據(jù)) ,寫入繼續(xù)讀數(shù)據(jù)命令,等待中斷獲取狀態(tài) USB_INT_SUCCESS,最后讀取扇區(qū)成功。補(bǔ)充:CH375 的數(shù)據(jù)緩沖區(qū)僅為 64 個(gè)字節(jié),讀取一個(gè)扇區(qū)(512 字節(jié))要讀 8 次,每讀完一次要從 CH375 中送入繼續(xù)讀取的命令,等待 CH375 的數(shù)據(jù)緩沖區(qū)更新為下面的 64 個(gè)字節(jié)后,再次等待中斷,讀取狀態(tài)。寫入 8 次以后,512 個(gè)字節(jié)被寫入到了CH375 中,最后一次繼續(xù)寫命令 DISK_WR_GO,獲得的狀態(tài)碼不再是13USB_INT_DISK_WRITE。 U盤模塊部分容易造成影響的一些問題在 PCB 設(shè)計(jì)中,應(yīng)注意一些細(xì)節(jié)以防對(duì)設(shè)計(jì)造成不必要的影響。例如注意振蕩電路晶體的外殼接地,這樣可以降低電磁輻射,減少外來干擾,并且振蕩電路的電容應(yīng)盡量靠近 CH375,PCB 的走線應(yīng)該盡量短,最好可以在周邊環(huán)繞接地或者敷銅。對(duì)于USB 數(shù)據(jù)線 D+和 D的 PCB 應(yīng)該平行布線,長(zhǎng)度保持差不多 [6]。 諾基亞 5110液晶模塊本設(shè)計(jì)采用諾基亞 5110 液晶顯示,它不僅兼容了諾基亞 3310 液晶,而且在操作上也非常的簡(jiǎn)單。它原本就是一個(gè) LCD 點(diǎn)陣屏,可以顯示 4 行漢字,與主機(jī)通過串口模式相接。當(dāng)然可以用主機(jī)的 SPI 模式,也可以簡(jiǎn)單地模擬 SPI 模式,這對(duì)于很多單片機(jī)來說都是可以做到的。它的傳輸速率是 1602 液晶的四倍,在價(jià)格上也比較便宜,來源也很多。對(duì)本設(shè)計(jì)的需求已經(jīng)遠(yuǎn)遠(yuǎn)可以滿足。設(shè)計(jì)中模塊接口如圖 39 所示。+5VSCKMOID/RTLENG12367890圖 39 諾基亞 5110 液晶接口圖第四章 軟件設(shè)計(jì) 開發(fā)工具介紹本設(shè)計(jì)除了硬件方面的重要性,同時(shí)也應(yīng)該注重軟件。一個(gè)單片機(jī)的使用不僅僅只有硬件,同時(shí)也應(yīng)該有軟件的支持,硬軟結(jié)合才能發(fā)揮其更加強(qiáng)大的作用,在寫匯編程序 CPU 可執(zhí)行的機(jī)器碼可分為手工匯編和機(jī)器匯編這兩種方法。利用匯編軟件變?yōu)闄C(jī)器碼的方式是機(jī)器匯編,在單片機(jī)的匯編軟件歷史上出現(xiàn)較早的有 A51,但隨著技術(shù)的發(fā)展,單片機(jī)開發(fā)技術(shù)也越來越成熟,匯編方式也從匯編語言變成了高級(jí)語言,ICC AVR 這款 AVR 系列單片機(jī)軟件已經(jīng)成為了目前最流行的開發(fā)軟件。ImageCraft 的ICC AVR 是一個(gè)應(yīng)用到了 ANSI 標(biāo)準(zhǔn)的 C 語言來開發(fā)微控制器(MCU)程序的工具。 14ICCAVR 是一個(gè)綜合了編輯器和工程構(gòu)建同體的軟件。在 ICCAVR 編輯器的狀態(tài)窗口中可以很清楚地把編譯出現(xiàn)的錯(cuò)誤顯示出來,當(dāng)用鼠標(biāo)單擊編譯出現(xiàn)的錯(cuò)誤時(shí),光標(biāo)就會(huì)自動(dòng)跳轉(zhuǎn)到編輯窗口中引起錯(cuò)誤的那一行,這樣就省去了煩雜的查錯(cuò)工作 [7]。在編譯程序通過時(shí),還可以直接產(chǎn)生被大多數(shù)編程器所支持 格式文件,用于下載程序到芯片中。對(duì)于 ICCAVR 軟件,在編寫程序的時(shí)候要注意各個(gè)中斷函數(shù)的書寫,還要注意管腳的使用,對(duì)包含的頭文件也應(yīng)該具有一定的了解。 主程序流程圖主程序主要完成系統(tǒng)的初始化、對(duì) SD 卡或者 U 盤數(shù)據(jù)的識(shí)別和讀取,音頻的解碼,還有液晶的顯示、按鍵的操作等,其主程序流程圖如圖 41 所示。開始YNY各模塊初始化讀 U/SD 卡主引導(dǎo)解析文件系統(tǒng)從 U/SD 卡讀取文件名調(diào)用 UNICODE 字庫并顯示解析文件名計(jì)算 MP3 數(shù)據(jù)流首簇地址讀取 1 扇區(qū)的 MP3 數(shù)據(jù)流MP3 數(shù)據(jù)流寫入VS1003 芯片讀完 1 簇?計(jì)算下一簇地址文件是否結(jié)束結(jié)束圖 41 主程序流程圖各模塊初始化后,單片機(jī)識(shí)別 U/SD 卡,再根據(jù) U/SD 卡的主引導(dǎo),通過 FAT 文件系統(tǒng)解析文件名,并調(diào)用 UNICODE 字庫把文件名顯示在諾基亞 5110 液晶上,然后單片機(jī)計(jì)算簇所在的地址,把讀到的文件數(shù)據(jù)流送入到 VS1003 中進(jìn)行解碼,當(dāng)讀完一簇后,則計(jì)算下一次地址,如此便實(shí)現(xiàn)文件的鏈接。15 SD卡的讀流程圖開始端口初始化設(shè)置 SPI 為低速模式CS 置為低電平SD 卡復(fù)位,CMD0CMD1,初始化SPI 高速模式發(fā)送 CMD8,保留Rec=0x01?結(jié)束CMD58,讀 OCR 寄存器至少延時(shí) 74 個(gè)時(shí)鐘周期CMD59,關(guān) CRCCMD16,設(shè)置扇區(qū)大小YN圖 42 SD 讀流程圖SD 卡讀流程中,設(shè)置 SPI 低速模式,把 CS 設(shè)為低電平,即選擇 SD 操作,然后發(fā)送至少 74 個(gè)時(shí)鐘周期,發(fā)送 CMD0 指令,讓 SD 卡復(fù)位,然后延時(shí)稍許,如果檢測(cè)到0X01 則發(fā)送 CMD1 初始化成功,否則不成功,在初始化成功后再發(fā)送 8 個(gè)脈沖,讀取OCR 寄存器把時(shí)鐘送入 SPI 高速,再關(guān)掉校驗(yàn),再發(fā)送 CMD16 就可以讀取扇區(qū)的大小。 SD卡文件系統(tǒng)的結(jié)構(gòu)分析SD 卡內(nèi)的數(shù)據(jù)要在操作系統(tǒng)下被識(shí)別,則需要在 SD 卡上創(chuàng)建操作系統(tǒng)所能識(shí)別的 FAT16/FAT32 文件系統(tǒng)。FAT16/FAT32 文件系統(tǒng)的結(jié)構(gòu)大致可分為分區(qū)引導(dǎo)記錄、文件分配表、文件目錄表和數(shù)據(jù)區(qū) 4 大部分 [8]。在分區(qū)引導(dǎo)記錄中又可分為 BIOS 參數(shù)記錄塊 BPB(BIPS Parameter Block) 、磁盤標(biāo)志記錄表、分區(qū)引導(dǎo)記錄代碼區(qū)和結(jié)束標(biāo)志 55AA 這四塊內(nèi)容。而在 BPB 表中其起始點(diǎn)是在扇區(qū)字節(jié)位移 0bH 處,這段總共占了 25 字節(jié)。緊跟在分區(qū)引導(dǎo)記錄后的是FAT(文件分配表)區(qū),在一些文件系統(tǒng)中存在這樣兩份完全相同的文件分配表 FAT1和 FAT2,如 FAT16/FAT32 文件系統(tǒng)就具有這樣相同的兩個(gè)文件分配表,并且每一份FAT 表所占用空間的大小都可從 BPB 表中查詢得到。簇是一種文件存儲(chǔ)在磁盤上的最小單位,為了防止一個(gè)文件的數(shù)據(jù)并不能完整放在磁盤的一個(gè)連續(xù)區(qū)域內(nèi)的情況發(fā)生,因此一般將磁盤分為若干簇。在文件的鏈?zhǔn)酱鎯?chǔ)中通過 FAT 表記錄文件存儲(chǔ)中簇與簇之間的連接信息,這樣就可以快速地查找文件儲(chǔ)存的地址。在 FAT16 文件系統(tǒng)中 1 個(gè)簇就占有 2 個(gè)字節(jié),F(xiàn)8FH 就是它的起始字節(jié),F(xiàn)FFFH 則是它的終止字節(jié),如果是顯示160000 則意味著這區(qū)未被使用,通過這些明顯的標(biāo)志,則可以快速了解儲(chǔ)存區(qū)的活動(dòng)情況。隨在 FAT 表后的就是文件目錄表 FDT,它在大小上固定占了 32 個(gè)扇區(qū),但一個(gè)扇區(qū)又可容納 16 個(gè)登記項(xiàng),一個(gè)登記項(xiàng)又具有 32 字節(jié)的長(zhǎng)度,具有如此的特征,使其在存儲(chǔ)文件目錄上更具有條理性。接著就是占了磁盤空間大部分的數(shù)據(jù)區(qū) DATA,它主要用來存放文件數(shù)據(jù)。 SD卡文件系統(tǒng)的實(shí)現(xiàn)要實(shí)現(xiàn)對(duì)文件的管理,那么單片機(jī)通過對(duì) SD 卡的讀寫中就可按照 FAT16/FAT32 文件系統(tǒng)的格式對(duì) SD 卡上的數(shù)據(jù)進(jìn)行操作,這樣便可以在 SD 卡上實(shí)現(xiàn)文件的創(chuàng)建、文件的讀寫和文件的刪除等操作。 在 SD卡上創(chuàng)建文件(或目錄)在文件目錄表 FDT 中申請(qǐng)登記項(xiàng)的過程為 SD 卡上創(chuàng)建文件(或目錄)的過程,而在登記項(xiàng)中則包括有文件名、文件長(zhǎng)度和起始簇號(hào)等信息。文件名的大小一般占用 8 個(gè)字節(jié),而長(zhǎng)的文件名則需要用數(shù)組來存放。在需要知道文件的狀態(tài)時(shí),則可根據(jù)文件名的首字節(jié)來判斷該文件的狀態(tài),若出現(xiàn) 00H 則表示該目錄項(xiàng)未被使用,若出現(xiàn) E5H則表示該文件(或目錄)已被刪除。但在創(chuàng)建目錄時(shí),應(yīng)將屬性值設(shè)置為 10H(表示子目錄),文件長(zhǎng)度為 0[9]。 SD卡文件的讀寫操作簇是 SD 卡上文件存取的單位。要讀取 SD 卡上的文件,就必須要用簇來鏈接,通過文件名來鏈接到該文件目錄登記項(xiàng)所在的地址,再用目錄登記項(xiàng)中的起始簇號(hào)來查找到文件在數(shù)據(jù)區(qū) DATA 中第一簇的內(nèi)容和在 FAT 表中找到第二個(gè)簇號(hào),接著又根據(jù)第二個(gè)簇號(hào)再找到第二簇的內(nèi)容和 FAT 表中的第三個(gè)簇。如此進(jìn)行,就能夠根據(jù) FAT 表中的簇號(hào)來讀取全部文件數(shù)據(jù),但在寫文件時(shí)就必須要保證 FAT1 和 FAT2 中內(nèi)容的一致性,即對(duì)兩塊都要進(jìn)行同樣的寫操作 [10]。對(duì)于 FATl6 系統(tǒng)文件,可根據(jù)下面的公式計(jì)算出數(shù)據(jù)起始邏輯扇區(qū)號(hào) [11]: 起始邏輯扇區(qū)=隱藏扇區(qū)數(shù)+1+2*每 FAT 扇區(qū)數(shù)+FDT 扇區(qū)數(shù)+(起始簇號(hào)2)*每簇扇區(qū)數(shù) 實(shí)現(xiàn) SD卡文件的刪除SD 卡文件管理中還有一個(gè)重要的方面,那就是實(shí)現(xiàn)對(duì)文件的刪除。由于刪除文件。并沒有涉及到數(shù)據(jù)區(qū)的操作,那么只須在文件的目錄登記項(xiàng)中進(jìn)行操作 [12]。 U盤文件管理系統(tǒng)U 盤數(shù)據(jù)的儲(chǔ)存同樣也是采用 FAT 文件系統(tǒng)進(jìn)行的,并且可將其儲(chǔ)存空間劃分為五大板塊,即由主引導(dǎo)扇區(qū)(MBR)、DOS 引導(dǎo)區(qū)(DBR)、文件分配表(FAT)、文件目錄表(FDT)和數(shù)據(jù)區(qū)組成。但是 U 盤文件級(jí)子程序庫和大量的固件協(xié)議都能在17CH375 中提供,所以單片機(jī)可以直接調(diào)用子程序來讀寫 U 盤中的文件數(shù)據(jù)。U 盤文件的讀寫方式同樣也是采用扇區(qū)模式進(jìn)行讀寫,USB 存儲(chǔ)設(shè)備中的數(shù)據(jù)和定義其數(shù)據(jù)結(jié)構(gòu)都可以由單片機(jī)自由操作。U 盤通信采用查詢中斷響應(yīng)的方式進(jìn)行,流程如圖 43 所示。開始系統(tǒng)初始化查詢中斷U 盤復(fù)位/加載U 盤是否插入查詢 FAT 系統(tǒng)文件返回播放主程序查詢 U 盤指定文件結(jié)束NNYY圖:43 U 盤讀流程圖單片機(jī)利用查詢中斷方式來識(shí)別有沒 U 的存在,當(dāng) U 盤插進(jìn)來瞬間,CH375 的INT口會(huì)產(chǎn)生一個(gè)低電平的中斷信號(hào)反饋給單片機(jī),等待單片機(jī)把該信號(hào)恢復(fù)為高電平,完成 U 盤的成功接入操作,然后單片機(jī)利用 FAT 系統(tǒng)文件通過 CH375 來查詢 U 盤內(nèi)的 MP3 文件,并將讀到的數(shù)據(jù)流返回主程序送給 VS1003 進(jìn)行解碼,完成對(duì) U 盤的讀操作。18第五章 系統(tǒng)測(cè)試與分析 系統(tǒng)設(shè)計(jì)過程設(shè)計(jì)前準(zhǔn)備工作,認(rèn)真查閱資料,對(duì)比可選方案,最終明確設(shè)計(jì)的方案,同時(shí)也對(duì)一些設(shè)計(jì)中的主要芯片進(jìn)行大概的了解。然后就是購(gòu)買所需器件,以便在畫圖過程中能夠按照元器件來畫出封裝。運(yùn)用專業(yè)的電路設(shè)計(jì)軟件 Altium Designer 來設(shè)計(jì)原理圖,添加相對(duì)應(yīng)的元件封裝后便可成功導(dǎo)入 PCB 圖制作,然后需在 PCB 面板上進(jìn)行線路的布線和元器件的位置擺放,過程中應(yīng)考慮元器件布局的合理性,線路的干擾性等問題。嚴(yán)格遵守地線大于電源線大于信號(hào)線的布線規(guī)則。要制作出電路板,還必須在打印 PCB 圖之后進(jìn)行熱轉(zhuǎn)印,如果轉(zhuǎn)印完畢的銅板線路有斷開或者不清楚的現(xiàn)象,則可用油性墨筆補(bǔ)齊,等油墨干之后采用鹽酸與雙氧水配置的混合液進(jìn)行洗板。洗板后為了減少污染環(huán)境應(yīng)對(duì)廢液進(jìn)行回收。然后對(duì)板進(jìn)行打孔,根據(jù)不同封裝孔的大小采用不同的鉆孔針。隨后要用砂紙擦去銅上的碳粉,涂上用酒精和松香配置的松香水,因?yàn)檫@樣可以幫助焊接錫,防止銅被氧化。最后是焊板,焊接時(shí)間不可太久,以免燒壞芯片或元器件,焊接時(shí)要防虛焊。至此就完成了一塊電路板的制作,接下來就是針對(duì)模塊的調(diào)試。在本次設(shè)計(jì)中,由于 Atmega128 的管腳比較多,對(duì)設(shè)計(jì)者來說印 PCB 也是有一定的難度的,為了節(jié)約成本,做單層板比較經(jīng)濟(jì),雖然系統(tǒng)的跳線多,但是不會(huì)影響性能的實(shí)現(xiàn)。當(dāng)然也可以手工做雙層板,在做雙層板時(shí)要注意手工熱轉(zhuǎn)印時(shí)圖紙上下的對(duì)齊,這樣才能使熱轉(zhuǎn)印后板上的封裝孔對(duì)齊,這也是一種技術(shù)活。一開始,我在設(shè)計(jì)中也用了雙層板,追求的是出板的美觀性,可是經(jīng)過多次熱轉(zhuǎn)印后才能成功,可惜過孔太多,焊接技術(shù)有待提高,故選用了單層板設(shè)計(jì),優(yōu)化了布線。而對(duì)于 VS1003 解碼模塊,由于諸多原因,沒能成功做出手工的模塊板,原因如下:元件布局復(fù)雜,更重的是貼片式,對(duì)于初學(xué)者來說具有一定的難度;做出的板無法正常解碼,影響大。手工版的 VS1003 解碼模塊的布局無法與主板模塊構(gòu)成一個(gè)整體的美觀??偟膩碚f,自身存在焊板技術(shù)不高,PCB 元件布局合理性安排不夠,故所做的 VS1003 解碼板最終失敗,只能選用現(xiàn)買的工業(yè)板模塊或把 PCB 圖發(fā)到加工廠去做成工業(yè)板,這樣可避免手焊的故障。總結(jié):做板需要耐心,需要技巧,在原理圖設(shè)計(jì)過程中需要懂設(shè)計(jì)原理,謹(jǐn)慎檢查,對(duì)焊貼片式芯片時(shí),注意把握電烙鐵融錫的時(shí)間,不能燙太久。 模塊的調(diào)試硬件完成后,接下來就是軟件的編寫與調(diào)試。在程序的編寫過程中,為了規(guī)范程序的書寫,而且考慮到本設(shè)計(jì)的模塊比較多,如果只是用一個(gè) 文件來編寫則程序會(huì)相當(dāng)繁雜,并且不方便錯(cuò)誤的檢查,所以本設(shè)計(jì)程序運(yùn)用了多個(gè) 和 文件,這樣不僅簡(jiǎn)化了程序,并且也方便今后對(duì)該程序的移植,很多高級(jí)工程師都是利用這種程序編程方式。編程過程中利用了一個(gè)工程整體的宏定義,管理著整個(gè)工程。19在調(diào)試的過程中,一開始需要解決主控芯片的熔絲問題,然后開始查找相關(guān)資料大概了解本設(shè)計(jì)的原理,接著從顯示部分開始調(diào)試。一個(gè) MP3 需要看進(jìn)程,就必須用到顯示屏,所以我是從驅(qū)動(dòng) 5110 液晶開始調(diào)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1