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

正文內(nèi)容

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

2025-08-16 14:14本頁(yè)面

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

  

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