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

正文內(nèi)容

基于stm32的便攜式音樂播放器設(shè)計(jì)畢業(yè)設(shè)計(jì)說明書(參考版)

2024-08-29 14:14本頁面
  

【正文】 其總線拓?fù)淇驁D如圖 58 所示。 VDD:VDD 是 SD 卡的電源供應(yīng)線。 CLK:時(shí)鐘是從主機(jī)到卡的信號(hào), CLK 通過 push pull 模式工作。 W 和 H 分別是 LCD 顯示屏 X軸 和 Y軸上的象素點(diǎn)總數(shù); (xlcd, ylcd)為觸點(diǎn)映射到 LCD 顯示屏上的像素點(diǎn)坐標(biāo)。根據(jù)式( 51)計(jì)算出觸摸屏中心點(diǎn)坐標(biāo)),( yx oo 。 本設(shè)計(jì)采用四點(diǎn)定位法,其方法如下。 圖 57 觸摸按鍵功能流程 圖 觸摸屏的坐標(biāo)原點(diǎn)、標(biāo)度和 LCD 的坐標(biāo)原點(diǎn)、標(biāo)度不一樣,且電阻式觸摸屏的坐標(biāo)原點(diǎn)通常不在有效點(diǎn)觸區(qū)內(nèi)。 圖 55 基于 FSMC 接口的 16 位 TFT 接口初始化 圖 56 LCD 的控制器驅(qū)動(dòng)流程 開始 結(jié)束 結(jié)束 開始 指定坐標(biāo)畫點(diǎn) 及顏色設(shè)置 設(shè)置窗口 建立坐標(biāo) 初始化 XTP2046 設(shè)置復(fù)用模式 設(shè)置輸出模式最大速度 背光控制 使能 FSMC 接口時(shí)鐘 顯示字符 寄存器讀取 寫入字符 控制一個(gè)字符范圍 桂林電子科技 大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 共 58 頁第 21 頁 由于顯示設(shè)備 LCD 具有觸摸控制功能,所以本次課題設(shè)計(jì)采用觸摸控制以實(shí)現(xiàn)設(shè)計(jì)課題的任務(wù)功能 ,即實(shí)現(xiàn)歌曲播放的快進(jìn)和快退功能。 TFT 顯示驅(qū)動(dòng) 本次設(shè)計(jì)的 LCD 觸摸屏 的驅(qū)動(dòng)包含基于 FSMC 接口的 16 位 TFT 接口初始化、 LCD的控制器 XPT2046 的初始化、屏幕坐標(biāo)的建立、 窗 口的建立、指定坐標(biāo)畫點(diǎn)及其顏色的設(shè)置、 ASCII 字符的寫入、字符顏色的控制 、控制器寄存器的讀取、顯示字符串 。需要倍頻 是考慮到電磁兼容性,如果外部直接提供一個(gè) 72MHz 的晶振,太高的振 蕩頻率可能會(huì)給制作電路板帶來一定的難度,分頻是因?yàn)?STM32 既有高速外設(shè)又有低速外設(shè),各種外設(shè)的工作頻率不盡相同,如同 pc 機(jī)上的南北橋,把高速設(shè)備和低速設(shè)備分開來管理。 PCLK2:外設(shè)時(shí)鐘,由 APB2 預(yù)分頻器輸出得到,最大頻率為 72MHz,提供給掛載在 APB2 總線上的外設(shè)。它的存在可以保證在處理器休眠時(shí),也能夠采樣到中斷和跟蹤休眠時(shí)間,它與 HCLK 互相同步。 HCLK:由 AHB 預(yù)分頻器直接輸出得到,他是高速總線 AHB 的時(shí)鐘信號(hào),提供給存儲(chǔ)器、 DMA 及 cortex 內(nèi)核,是 cortex 內(nèi)核運(yùn)行的時(shí)鐘, cpu 主頻就是這個(gè)信號(hào),它的大小與 STM32 運(yùn)算速度、數(shù)據(jù)存取速度密切相關(guān)。 SYSCLK:系統(tǒng)時(shí)鐘, STM32 大部分器件的來源。 GPIO 外設(shè)是掛載在 APB2 總線上的 APB2 時(shí)鐘是 APB2 預(yù)分頻器的輸出,而 APB2預(yù)分頻器的時(shí)鐘來源于 AHB 預(yù)分頻器后的時(shí)鐘,均設(shè)置為不分頻,所以 GPIO 外設(shè)時(shí)鐘也就為 72MHz。 匯到 SYSCLK, SYSCLK 進(jìn)過 AHB 預(yù)分頻器,分頻后再輸入到其它外設(shè)。通過這個(gè)開關(guān) ,可以選擇 HSI、 PLLCLK 或者 HSE 作為 SYSCLK,本次設(shè)計(jì)選擇PLLCLK 作為 SYSCLK,即 72MHz。 8MHz 時(shí)鐘遇到開關(guān) PLLSRC,我們可以選擇其輸出,輸出為外部高速時(shí)鐘( HSE)或是內(nèi)部高速時(shí)鐘( HSI),這里選擇輸出為 HSE,接著遇到鎖相環(huán) PLL,具有倍頻作用,這里可以輸入倍頻因子,倍頻因子設(shè)定為 9 倍頻,即經(jīng)過 PLL 之后,時(shí)鐘從原來的 8MHZ的 HSE 變?yōu)?72MHz 的 PLLCLK。 對(duì)于 高速外部時(shí)鐘 ,其時(shí)鐘流程如下: 從左端的 OSC_IN、 OSC_OUT 開始,這兩個(gè)引腳分別接到外部晶振的兩端 。 低速外部時(shí)鐘( LSE):一外部晶振做時(shí)鐘源,主要提供給實(shí)時(shí)時(shí)鐘模塊,一般采用。 所以, STM32 具有四個(gè)時(shí)鐘源: 高速外部時(shí)鐘( HSE):以外部晶振做時(shí)鐘源,晶振頻率范圍可取 416MHz,本次使用 8MHz,的晶振。 從芯片角度來說,時(shí)鐘源分為內(nèi)部時(shí)鐘和外部時(shí)鐘源,內(nèi)部時(shí)鐘是芯片內(nèi)部 RC 振蕩器產(chǎn)生的,啟振較快,所以時(shí)鐘在芯片剛上電的時(shí)候,默認(rèn)使用內(nèi)部高速時(shí)鐘。時(shí)鐘源 這個(gè)圖說明了 STM32 時(shí)鐘走向,從圖的左邊開始,從時(shí)鐘源一步步分配到外設(shè)時(shí)鐘。 STM32 整體時(shí)間系統(tǒng)如圖 54 所示。 STM32 時(shí)鐘系統(tǒng) STM32 芯片為了實(shí)現(xiàn)低功耗,設(shè)計(jì)了一個(gè)功能完善但卻非常復(fù)雜的時(shí)鐘系統(tǒng)。 圖 53 控制 LED 燈框圖 桂林電子科技 大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 共 58 頁第 18 頁 對(duì)于 GPIO 端口,沒個(gè)端口有 16 個(gè)引腳,每個(gè)引腳的模式有寄存器的四個(gè)位控制,每四位又分為兩位控制引腳配置( CNFy[1:0]) ,兩位控制引腳的模式及最高速度( MODEy[1:0]),其中 y 表示第 y 個(gè)引腳。即對(duì)于 GPIOA 和 GPIOB他們有一組互不相干的寄存器,如控制 GPIOA 的寄存器名為 GPIOA_CRL、GPIOA_CRH,而控制 GPIOB 則是不同的,被命名為 GPIOB_CRL、 GPIOB_CRH。 ( 4) 鎖定寄存器:設(shè)置某鎖定引腳后,就不能修改其配置。 ( 2) 數(shù)據(jù)寄存器:保存 GPIO 的輸入電平或?qū)⒁敵鲭娖健Mㄟ^查找《 STM32 手冊(cè)》得 GPIO相關(guān)配置器描述如圖 52,圖中的 7 個(gè)寄存器可分為以下四類。在STM32 芯片上, I/O 引腳可以被軟件設(shè)置成各種不同的功能,如輸入或輸出,所以被稱為 GPIO,而 GPIO 引腳又分被為 GPIOA、 GPIOB、 GPIOE 五組,每組端口分為 0 至15,共 16 個(gè)不同引腳 。本次設(shè)計(jì)通過配置 GPIO 寄存器來控制 LED 燈的亮滅,以驗(yàn)證 STM32 芯片驅(qū)動(dòng)程序的正確與否。 文件:這個(gè)文件包含了 ,是用來配置使用了什么外設(shè)的頭文件,用這個(gè)頭文件可以很方便的增加或刪減上面 drive 目錄下的外設(shè)驅(qū)動(dòng)函數(shù)庫,如 gpio、 rcc、 spi、 usart 的外設(shè)庫函數(shù)。 在庫目錄 Project/STM32F10x_Stdperiph_Template 目錄下,存放了官方的一個(gè)庫工程模板,我們?cè)趲旖⒁粋€(gè)完整的工程時(shí)還需要添加這個(gè)目錄下的 、 這三個(gè)文件??偟膩碚f,啟動(dòng)文件的作用是: ( 1) 初始化堆棧指針 SP。 Library 文件夾下幾種不同的啟動(dòng)文件,本次使用的STM32F103VET6 有 64KRAM,512KROM,屬于高密度產(chǎn)品,所以選擇該文件 。 和 文件:這是 ST 公司針對(duì)每個(gè) STM32 外設(shè)而編寫的庫函數(shù)文件,屬于 CMSIS 的設(shè)備外設(shè)函數(shù),其中 ppp 表示外設(shè)名稱。所有處理器廠商都會(huì)對(duì)內(nèi)存的操作封裝成一個(gè)宏,即我們通常說的寄存器, 并且把這些實(shí)現(xiàn)封裝成一個(gè)系統(tǒng)文件,包含在相應(yīng)的開發(fā)環(huán)境中。 文件在實(shí)現(xiàn)系統(tǒng)時(shí)鐘時(shí)要用到 PLL,這就需要操作寄存器,寄存器都是通過存儲(chǔ)器映射的方式來訪問的,因此該文件包含 這個(gè)頭文件 。通過 M3 核的核內(nèi)寄存器來對(duì) 8MHz 的時(shí)鐘進(jìn)行倍頻 、分頻,或者使用芯片內(nèi)部的時(shí)鐘。 文件:該文件可用于屏蔽不同編譯器的差異,但最重要的時(shí)該文件中包含了 ,它是獨(dú)立于處理器之外的,主要作用是提供一些新類型的定義。使用時(shí)將 Library 文件下的庫函數(shù)文件添加到工程中。 STM32 的庫就是按照 CMSIS 的標(biāo)準(zhǔn)建立。 ( 2) 設(shè)備外設(shè)訪問層:提供了片上的核外外設(shè)的地址和中斷定義,主要由芯片生產(chǎn)商提供。為了解決不同芯片廠商生產(chǎn)的 Cortex 微控制器軟件的兼容性問題, ARM 與芯片廠商建立了 CMSIS 標(biāo)準(zhǔn)。 但 ARM 公司不生產(chǎn)芯片,只做技術(shù)授權(quán)。相對(duì)于庫開發(fā)的方式,直接配置方式產(chǎn)生的代碼會(huì)相對(duì)減少,但因?yàn)?STM32 有充足的資源,權(quán)衡庫開發(fā)的優(yōu)勢(shì)與不足,本次設(shè)計(jì)采用庫開發(fā)方式實(shí)現(xiàn)寄存器的配置。 對(duì)于 STM32,因?yàn)橥庠O(shè)資源豐富,帶來的必然是寄存器的數(shù)量和復(fù)雜度的增加,這是如果直接配置則開發(fā)速度慢、程序可讀性差。 STM32 庫是有 ST 公司針對(duì) STM32 提供的函數(shù)接口,即 API( Application Program Interface) ,開發(fā)者可調(diào)用這些函數(shù)接口來配置 STM32 的寄存器,使使用者得于脫離最底層的寄存器操作,有開發(fā)快速,易于閱讀,維護(hù)成本低等優(yōu)點(diǎn)。由此就可以獲得該文件的數(shù)據(jù)了。繼續(xù)看看下一個(gè)簇號(hào): 內(nèi)容為 0x0FFFFFFF,說明文件放置結(jié)束。此時(shí)第二個(gè)簇的地址 :0xF6000+( 042) *08*0x200=0xF8000。 通過起始簇號(hào)計(jì)算得到起始簇的地址: 0xF6000(根目錄區(qū)地址) +( 032)*08*0x200=0xF7000(第一個(gè)簇開始地址)這里 03 減去的 02 的意思是因?yàn)榇靥?hào)都是從2 開始的。根據(jù)前面的數(shù)據(jù),每個(gè)簇放 8 個(gè)扇區(qū),每個(gè)扇區(qū) 512 個(gè)字節(jié),那么一個(gè)簇的空間就是 4096 字節(jié)了,即 4KB。 77 2D 00 00(偏移地址 3CH,長度 4):文件長度 2D77就是 11639字節(jié)。 58 39 (偏移地址 32H,長度 2):文件最后訪問日期。 20(偏移地址 2BH,長度 1):文件屬性, 00000000(讀寫 ); 00000001(只讀 ); 00000010(隱藏 ); 00000100(系統(tǒng) ); 00001000(卷標(biāo) ); 00010000(子目錄 ); 00100000(歸檔 )。 桂林電子科技 大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 共 58 頁第 13 頁 圖 46 根目錄中的數(shù)據(jù) 54 45 53 54 20 20 20 20(偏移地址 20H,長度 8):文件名 TEST(空缺部分是空格 )。具體含義分別如下。根據(jù)前面得到的根目錄地址 0xF6000,通過軟件查看它的內(nèi)容如圖 46所示。找出這些地址后,可以很方便的找到數(shù)據(jù)。根目錄區(qū)的起始地址為 0x7D400+0x78C00=0xF6000,如圖 45 所示。 FAT1 表的起始地址的為 0x4800,如圖 43 所示。根據(jù)啟動(dòng)區(qū)、 FAT FAT根目錄、數(shù)據(jù)區(qū)的次序,可以依次計(jì)算出它們的地址。 桂林電子科技 大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 共 58 頁第 12 頁 C6 03(偏移地址 24H,長度 2):每個(gè) FAT占用的扇區(qū)數(shù),轉(zhuǎn)換一下,為 03C6。那么就可以知道下面的 FAT1區(qū)的開始的地址就是: 0x24*200( 每個(gè)扇區(qū)的字節(jié)數(shù)) =0x4800。但是這個(gè)值不能使每個(gè)簇超過 32KB。 08(偏移地址 0DH,長度 1):表示每個(gè)簇有 8個(gè)扇區(qū)。表示的意思是,該磁盤每個(gè)扇區(qū)有 512個(gè)字節(jié)。 4D 53 44 4F 53 35 2E 30: 廠商標(biāo)志和 dos版本號(hào),這里是 。其中,帶下劃線或點(diǎn)線部分為有用內(nèi)容,具體含義依次如下。 表 41 文件目錄表各字段定義 FAT32 文件目錄項(xiàng) 32 個(gè)字節(jié)的定義 字節(jié)偏移量 字?jǐn)?shù)量 定義 0~ 7 8 文件名 8~ 10 3 擴(kuò)展名 11 1 屬性字節(jié) 0x00 (讀寫 ) 0x01 (只讀 ) 0x02 (隱藏 ) 0x04 (系統(tǒng) ) 0x08 (卷標(biāo) ) 0x10 (子目錄 ) 0x20 (歸檔 ) 12 1 系統(tǒng)保留 13 1 創(chuàng)建時(shí)間的 10 毫秒位 14~ 15 2 文件創(chuàng)建時(shí)間 16~ 17 2 文件創(chuàng)建日期 18~ 19 2 文件最后訪問時(shí)間 20~ 21 2 文件起始簇號(hào)的高 16 位 22~ 23 2 文件的最近修改時(shí)間 24~ 25 2 文件的最近修改日期 26~ 27 2 文件起始簇號(hào)的低 16 位 28~ 31 4 表示文件的長度 桂林電子科技 大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 共 58 頁第 11 頁 FAT 文件系統(tǒng)的讀取操作 一般硬盤的數(shù)據(jù)結(jié)構(gòu)是按圖 41而建立的。 DATA 區(qū):該數(shù)據(jù)區(qū)存放文件的內(nèi)容, SD 卡所占用的空間絕大部分為此部分。因此,目錄占用空間的大小并不等同于其下所有數(shù)據(jù)的大小,但也不等于 0,通常占很 小的空間。 FTD 區(qū):該區(qū)的內(nèi)容為文件目錄表, FAT 文件系統(tǒng)的一個(gè)重要思想是把目錄(文件夾)當(dāng)作一個(gè)特殊的文件來處理, FAT32 甚至將根目錄當(dāng)作文件處理。 FAT桂林電子科技 大學(xué)畢業(yè)設(shè)計(jì)(論文)報(bào)告用紙 共 58 頁第 10 頁 表記錄了每個(gè)文件的位置和區(qū)域,是一種鏈?zhǔn)浇Y(jié)構(gòu), FAT 以 “F8 FF FF 0F FF FF FF FF”這樣的 8 個(gè)字節(jié)為表頭,用以表示 FAT 表的開始,后面的數(shù)據(jù)每四個(gè)字節(jié)為一個(gè)簇項(xiàng)(從第 2 簇開始),用來標(biāo)記下一個(gè)簇所在的位置, 這樣每個(gè)位置都存儲(chǔ)了下一個(gè)簇,只要按著這個(gè)表走,就可以找到文件的所有內(nèi)容。 FAT 區(qū):稱為文件分配表( FAT 表),一般一個(gè)卡上會(huì)存在 2 個(gè) FAT 表,一個(gè)用作備份,一個(gè)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1