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

正文內(nèi)容

基于stm32的便攜式音樂播放器設(shè)計畢業(yè)設(shè)計說明書-資料下載頁

2024-08-25 14:14本頁面

【導(dǎo)讀】MP3也越來越受大眾的青睞。根據(jù)消費(fèi)者的愛好需求,各種多功能的MP3層出不窮,其盡可能的吸收照相機(jī)、手機(jī)等電子產(chǎn)品的其它功能。本次系統(tǒng)設(shè)計采用ARM. Cortex-M3內(nèi)核的STM32F103VET6作為微控制器、SD卡作為存儲介質(zhì)、VS1003作為。本次設(shè)計的重點(diǎn)是了解FAT文件系統(tǒng)的構(gòu)造、其中,STM32F103系列集成了低功耗、IO資源多、通信接口多、體積小、機(jī)交互更為簡便、程序編寫更為簡潔。關(guān)鍵字:STM32F103VET6;SD卡;VS1003解碼芯片;TFT彩晶屏;便攜式音樂播放器。

  

【正文】 : ( 1) 初始化堆棧指針 SP。 ( 2) 初始化程序計數(shù)器指針 PC; ( 3) 設(shè)置堆棧的大小; ( 4) 設(shè)置異常向量表的入口地址; ( 5) 配置外部 SRAM 作為數(shù)據(jù)寄存器: ( 6) 設(shè)置 C 庫的分支入口 _main。 在庫目錄 Project/STM32F10x_Stdperiph_Template 目錄下,存放了官方的一個庫工程模板,我們在庫建立一個完整的工程時還需要添加這個目錄下的 、 這三個文件。 文件:是專門用來編寫中斷服務(wù)函數(shù)的,在修改前,這個文件已經(jīng)定義了一些系統(tǒng)異常的接口,其它普通中斷服務(wù)函數(shù)有我們自己添加,而這些中斷服務(wù)函數(shù)的接口可以在啟動文件中找到。 文件:這個文件包含了 ,是用來配置使用了什么外設(shè)的頭文件,用這個頭文件可以很方便的增加或刪減上面 drive 目錄下的外設(shè)驅(qū)動函數(shù)庫,如 gpio、 rcc、 spi、 usart 的外設(shè)庫函數(shù)。 STM32 程序 測試 當(dāng)建立好工程并添加了上述函數(shù)后,接下來的便是測試芯片引腳功能。本次設(shè)計通過配置 GPIO 寄存器來控制 LED 燈的亮滅,以驗證 STM32 芯片驅(qū)動程序的正確與否。 想要控制 LED 燈,當(dāng)然是通過控制 STM32 芯片的 I/O 引腳電平的高低來實(shí)現(xiàn)。在STM32 芯片上, I/O 引腳可以被軟件設(shè)置成各種不同的功能,如輸入或輸出,所以被稱為 GPIO,而 GPIO 引腳又分被為 GPIOA、 GPIOB、 GPIOE 五組,每組端口分為 0 至15,共 16 個不同引腳 。因此,控制 LED 的步驟如下: 桂林電子科技 大學(xué)畢業(yè)設(shè)計(論文)報告用紙 共 58 頁第 17 頁 ( 1) GPIO 端口引腳多 選定需要控制的特定引腳 ( 2) GPIO 功能如此豐富 配置需要特定的功能 ( 3) 控制 LED 的亮和滅 設(shè)置 GPIO 輸出電壓的高低 要控制 GPIO 口,就要涉及到控制相關(guān)的寄存器。通過查找《 STM32 手冊》得 GPIO相關(guān)配置器描述如圖 52,圖中的 7 個寄存器可分為以下四類。 ( 1) 配置寄存器:選定 GPIO 的特定功能,最基本的如,選擇作為輸入或者輸出接口。 ( 2) 數(shù)據(jù)寄存器:保存 GPIO 的輸入電平或?qū)⒁敵鲭娖健? ( 3) 為控制寄存器:設(shè)置某引腳的數(shù)據(jù)位 1 或 0,控制輸出電平。 ( 4) 鎖定寄存器:設(shè)置某鎖定引腳后,就不能修改其配置。 圖 52 GPIO 寄存器描述 關(guān)于寄存器名稱上標(biāo)號 x 的意義,如: GPIOx_CRL、 GPIOx_CRH,這個 x 的取值可以是 A 到 E,表示這些寄存器也是跟 GPIO 一樣,也是分組的。即對于 GPIOA 和 GPIOB他們有一組互不相干的寄存器,如控制 GPIOA 的寄存器名為 GPIOA_CRL、GPIOA_CRH,而控制 GPIOB 則是不同的,被命名為 GPIOB_CRL、 GPIOB_CRH。 實(shí)現(xiàn)控制 LED 燈亮滅的思路框圖如圖 53 所示。 圖 53 控制 LED 燈框圖 桂林電子科技 大學(xué)畢業(yè)設(shè)計(論文)報告用紙 共 58 頁第 18 頁 對于 GPIO 端口,沒個端口有 16 個引腳,每個引腳的模式有寄存器的四個位控制,每四位又分為兩位控制引腳配置( CNFy[1:0]) ,兩位控制引腳的模式及最高速度( MODEy[1:0]),其中 y 表示第 y 個引腳。配置 GPIO 引腳模式的一共有兩個寄存器,CRH 是高寄存器,用來配置高 8 位引腳: pin8pin15,如果要配置 pin0pin7 引腳,則要在 CRL 中進(jìn)行配置。 STM32 時鐘系統(tǒng) STM32 芯片為了實(shí)現(xiàn)低功耗,設(shè)計了一個功能完善但卻非常復(fù)雜的時鐘系統(tǒng)。普通的 MCU,一般只要配置好 GPIO 的寄存器,就可以使用了,但 STM32 還有一個步驟,就是開啟外設(shè)時鐘。 STM32 整體時間系統(tǒng)如圖 54 所示。 圖 54 STM32 時鐘樹 amp。時鐘源 這個圖說明了 STM32 時鐘走向,從圖的左邊開始,從時鐘源一步步分配到外設(shè)時鐘。 桂林電子科技 大學(xué)畢業(yè)設(shè)計(論文)報告用紙 共 58 頁第 19 頁 從時鐘頻率來說,分為高速時鐘和低速時鐘,高速時鐘是提供給芯片主體的主時鐘,而低速時鐘 只是提供給芯片中的 RTC(實(shí)時時鐘),及獨(dú)立看門狗使用。 從芯片角度來說,時鐘源分為內(nèi)部時鐘和外部時鐘源,內(nèi)部時鐘是芯片內(nèi)部 RC 振蕩器產(chǎn)生的,啟振較快,所以時鐘在芯片剛上電的時候,默認(rèn)使用內(nèi)部高速時鐘。而外部時鐘信號是由外部的晶振輸入的,在精度和穩(wěn)定性上都有很大優(yōu)勢,所以上電之后再經(jīng)由軟件配置,轉(zhuǎn)而采用外部時鐘信號。 所以, STM32 具有四個時鐘源: 高速外部時鐘( HSE):以外部晶振做時鐘源,晶振頻率范圍可取 416MHz,本次使用 8MHz,的晶振。 高速內(nèi)部時鐘( HSI):有內(nèi)部 RC 振蕩器產(chǎn)生,頻率為 8MHz,但不穩(wěn)定。 低速外部時鐘( LSE):一外部晶振做時鐘源,主要提供給實(shí)時時鐘模塊,一般采用。 低速內(nèi)部時鐘( LSI):有內(nèi)部 RC 振蕩器產(chǎn)生,也主要提供給實(shí)時模塊,頻率大約為 40KHz。 對于 高速外部時鐘 ,其時鐘流程如下: 從左端的 OSC_IN、 OSC_OUT 開始,這兩個引腳分別接到外部晶振的兩端 。 8MHz 的時鐘遇到了第一個分頻器 PLLXTPRE 在這個寄存器中,可以通過寄存器配置,選擇它的輸出時鐘可以是對輸入時鐘的二分頻或不分頻,本次設(shè)計選擇部分頻,所以經(jīng)過 PLLXTPRE 后還是 8MHz 的時鐘。 8MHz 時鐘遇到開關(guān) PLLSRC,我們可以選擇其輸出,輸出為外部高速時鐘( HSE)或是內(nèi)部高速時鐘( HSI),這里選擇輸出為 HSE,接著遇到鎖相環(huán) PLL,具有倍頻作用,這里可以輸入倍頻因子,倍頻因子設(shè)定為 9 倍頻,即經(jīng)過 PLL 之后,時鐘從原來的 8MHZ的 HSE 變?yōu)?72MHz 的 PLLCLK。 緊接著遇到一個開關(guān) SW,經(jīng)過這個開關(guān)之后就是 STM32 的系統(tǒng)時鐘( SYSCLK)了。通過這個開關(guān) ,可以選擇 HSI、 PLLCLK 或者 HSE 作為 SYSCLK,本次設(shè)計選擇PLLCLK 作為 SYSCLK,即 72MHz。 PLLCLK 在輸入到 SW 之前,還流向了 USB 預(yù)分頻器,這個預(yù)分頻器的輸出為 USB的外設(shè)時鐘( USBCLK)。 匯到 SYSCLK, SYSCLK 進(jìn)過 AHB 預(yù)分頻器,分頻后再輸入到其它外設(shè)。如輸出到稱為 HCLK、 FCLK 的時鐘,還直接輸出到 SDIO 外設(shè)作為 SDIOCLK 時鐘、存儲控制器 FSMC 的 FSMCCLK 時鐘。 GPIO 外設(shè)是掛載在 APB2 總線上的 APB2 時鐘是 APB2 預(yù)分頻器的輸出,而 APB2預(yù)分頻器的時鐘來源于 AHB 預(yù)分頻器后的時鐘,均設(shè)置為不分頻,所以 GPIO 外設(shè)時鐘也就為 72MHz。 HCLK、 FCLK、 PCLK PCLK2 時鐘 來源及作用如下 桂林電子科技 大學(xué)畢業(yè)設(shè)計(論文)報告用紙 共 58 頁第 20 頁 從時鐘樹的分析,經(jīng)過一系列的倍頻、分頻后得到幾個與設(shè)計密切相關(guān)的的時鐘。 SYSCLK:系統(tǒng)時鐘, STM32 大部分器件的來源。主要有 AHB 預(yù)分頻器分配到各個部件。 HCLK:由 AHB 預(yù)分頻器直接輸出得到,他是高速總線 AHB 的時鐘信號,提供給存儲器、 DMA 及 cortex 內(nèi)核,是 cortex 內(nèi)核運(yùn)行的時鐘, cpu 主頻就是這個信號,它的大小與 STM32 運(yùn)算速度、數(shù)據(jù)存取速度密切相關(guān)。 FCLK:同樣由 AHB 預(yù)分頻器輸出得到,是內(nèi)核的 “自由運(yùn)行時鐘 ”, “自由 ”表現(xiàn)在 它不來自時鐘 HCLK,因此在 HCLK 時鐘停止時它也急需工作。它的存在可以保證在處理器休眠時,也能夠采樣到中斷和跟蹤休眠時間,它與 HCLK 互相同步。 PCLK1:外設(shè)時鐘,由 APB1 預(yù)分頻器輸出得到,最大頻率為 36MHz,提供給掛載在 APB1 總線上的外設(shè)。 PCLK2:外設(shè)時鐘,由 APB2 預(yù)分頻器輸出得到,最大頻率為 72MHz,提供給掛載在 APB2 總線上的外設(shè)。 為什么 STM32 的時鐘系統(tǒng)如此復(fù)雜,有倍頻、分頻及一系列的外設(shè)時鐘的開關(guān)。需要倍頻 是考慮到電磁兼容性,如果外部直接提供一個 72MHz 的晶振,太高的振 蕩頻率可能會給制作電路板帶來一定的難度,分頻是因為 STM32 既有高速外設(shè)又有低速外設(shè),各種外設(shè)的工作頻率不盡相同,如同 pc 機(jī)上的南北橋,把高速設(shè)備和低速設(shè)備分開來管理。最后,每個外設(shè)配備上外設(shè)時鐘的開關(guān),當(dāng)不使用某個外設(shè)時,可以把 特定的外設(shè)時鐘關(guān)閉,從而降低 STM32 的整體功耗。 TFT 顯示驅(qū)動 本次設(shè)計的 LCD 觸摸屏 的驅(qū)動包含基于 FSMC 接口的 16 位 TFT 接口初始化、 LCD的控制器 XPT2046 的初始化、屏幕坐標(biāo)的建立、 窗 口的建立、指定坐標(biāo)畫點(diǎn)及其顏色的設(shè)置、 ASCII 字符的寫入、字符顏色的控制 、控制器寄存器的讀取、顯示字符串 。其流程圖如 5 56 所示。 圖 55 基于 FSMC 接口的 16 位 TFT 接口初始化 圖 56 LCD 的控制器驅(qū)動流程 開始 結(jié)束 結(jié)束 開始 指定坐標(biāo)畫點(diǎn) 及顏色設(shè)置 設(shè)置窗口 建立坐標(biāo) 初始化 XTP2046 設(shè)置復(fù)用模式 設(shè)置輸出模式最大速度 背光控制 使能 FSMC 接口時鐘 顯示字符 寄存器讀取 寫入字符 控制一個字符范圍 桂林電子科技 大學(xué)畢業(yè)設(shè)計(論文)報告用紙 共 58 頁第 21 頁 由于顯示設(shè)備 LCD 具有觸摸控制功能,所以本次課題設(shè)計采用觸摸控制以實(shí)現(xiàn)設(shè)計課題的任務(wù)功能 ,即實(shí)現(xiàn)歌曲播放的快進(jìn)和快退功能。 其軟件控制如圖 57 所示。 圖 57 觸摸按鍵功能流程 圖 觸摸屏的坐標(biāo)原點(diǎn)、標(biāo)度和 LCD 的坐標(biāo)原點(diǎn)、標(biāo)度不一樣,且電阻式觸摸屏的坐標(biāo)原點(diǎn)通常不在有效點(diǎn)觸區(qū)內(nèi)。因此必須進(jìn)行坐標(biāo)變換。 本設(shè)計采用四點(diǎn)定位法,其方法如下。 假設(shè) ABCD 分別為觸摸屏對應(yīng) LCD 四個頂點(diǎn)的坐標(biāo)點(diǎn),分別觸擊這四點(diǎn),得到四組坐標(biāo)值: ),( yxaa、 ),( yxbb、 ),( yxcc、 ),( yxdd。根據(jù)式( 51)計算出觸摸屏中心點(diǎn)坐標(biāo)),( yx oo 。 4 xxxxx dcbao ???? ( 51) 設(shè) )(),( yyyyxxxxcdabcdab yx ??????????,則可得觸點(diǎn)坐標(biāo)公式: 22HhyyWWxxyyxxolcdolcd?????????? ( 52) 式( 52)中, x 和 y 分別為觸點(diǎn)在 x 工作面和 y 工作面上產(chǎn)生的電壓數(shù)字量的測量值,可通過采樣得到; (x, y)反映了觸點(diǎn)在觸摸屏上的坐標(biāo)。 W 和 H 分別是 LCD 顯示屏 X軸 和 Y軸上的象素點(diǎn)總數(shù); (xlcd, ylcd)為觸點(diǎn)映射到 LCD 顯示屏上的像素點(diǎn)坐標(biāo)。 開始始 控制 文件 地址的跳變 結(jié) 束 將數(shù)字信號 傳輸至主機(jī) 將電壓變化 模數(shù)轉(zhuǎn)換 采集指定 坐標(biāo)電壓變化 設(shè)定按鍵及功能 建立坐標(biāo) 設(shè)置窗口 重新播放 桂林電子科技 大學(xué)畢業(yè)設(shè)計(論文)報告用紙 共 58 頁第 22 頁 SD 卡讀取驅(qū)動 SD 卡總線拓?fù)? 本次設(shè)計將 SD 卡至于 SD 模式下進(jìn)行主從機(jī)通訊, SD 總線 有 6 根通訊線和 3 根電源供應(yīng)線: CMD:命令線是雙向信號線,主機(jī)和卡通過 push pull 模式工作。 CLK:時鐘是從主機(jī)到卡的信號, CLK 通過 push pull 模式工作。 DAT[0: 3]:數(shù)據(jù)線是雙向信號線,主機(jī)和卡通過 push pull 模式工作。 VDD:VDD 是 SD 卡的電源供應(yīng)線。 VSS[0: 1]: VSS 是兩 根地線。 其總線拓?fù)淇驁D如圖 58 所示。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1