【STM32項目筆記】STM32CubeMX+Keil+Proteus聯合實現LED閃爍


摘要

利用STM32CubeMx配置STM32芯片的功能,然后將配置后的內容生成代碼,並導出成可以使用Keil打開編輯的文件,在Keil中添加控制代碼后,下載到Proteus仿真中,使用仿真觀察代碼執行結果。

     

所需軟件

1) STM32CubeMx

下載地址:https://www.st.com/en/development-tools/stm32cubemx.html

2) Keil

軟件版本:uVision V5.14.2

3) Proteus

軟件版本:8.9 ps2

實現的功能

PA1LED,實現LED閃爍

     

1 STM32CubeMx創建STM32工程文件

STM32CubeMX打開界面如圖1-1所示。

1-1 STM32CubeMX初始界面

     

1.1 創建工程

使用File->New Project創建STM32配置工程。如圖1-2所示,然后彈出如圖1-3所示的MCU型號選擇窗口。

1-2 創建工程

     

1-3 選擇MCU 型號

     

在圖1-3Part Number Search窗口輸入預選擇的型號,本次選擇STM32F103R6(Proteus中包含該IC)。輸入STM32F103R6后彈出如圖1-4所示界面。

1-4 檢索出兩款STM32IC

     

根據封裝不同,檢索出兩種類型STM32F103R6 處理器,選擇LQFP64封裝的在2所示位置雙擊,彈出如圖1-5所示界面。

1-5 創建完成的STM32F103CubeMx 工程

     

1.2 配置芯片參數

需要配置的參數如下:

系統時鍾,下載方式(可選,本次為仿真,可以不使用Debug方式)以及引腳功能。

1.2.1 配置系統下載方式

選擇Categories下的SYS彈出右圖所示的SYS Mode and Configuration界面,在如圖2所示的地方選擇下載Debug方式,本次使用仿真的方式,所以Debug方式可以選擇No Debug。

1-6 配置系統下載方式

1.2.2 配置系統時鍾

選擇Categories下的RCC選擇時鍾源,如圖1-7所示,可選擇的時鍾包括HSE和LSE,由於本次仿真中僅使用HSE時鍾,所以僅對HSE時鍾進行選擇,選擇Crystal/Ceramic Resonator外部時鍾。如圖1-7所示。

1-7 系統時鍾選擇

     

選完時鍾后,進入Clock Configuration界面進行時鍾配置,首先設置外部時鍾源輸入頻率Input Frequency,然后選擇PLL Source Mux的通道,最后雙擊HCLK頻率,然后系統會自動配置成用於期望的時鍾。配置前的時鍾圖如圖1-8所示,配置完成的時鍾圖如圖1-9所示。

1-8 系統時鍾配置

     

1-9 配置后系統時鍾結構

1.2.3 配置GPIO口功能

打開如圖1-10所示的界面,開始配置GPIO口功能,本例程目標是實現LED(連接至PA1)閃爍,所以需要配置PA1為輸出功能。

1-10 GPIO功能配置界面

單擊對應的引腳PA1,然后選擇GPIO模式為GPIO_Output。如圖1-11所示。

1-11 GPIO 功能配置

右擊PA1引腳,選擇Enter User Label,為GPIO分配標識,本次設置為LED01。如圖1-12所示。

1-12 GPIO 標識分配

接下來進入如圖1-13所示的界面配置GPIO引腳詳細參數。單擊黃色箭頭所指PA1,彈出如圖1-14所示界面,進行GPIO詳細參數配置。

1-13 GPIO 配置界面

如圖1-14,將PA1配置為默認輸出高電平,推挽輸出模式,上拉,高速輸出模式,引腳標識為LED01

1-14 GPIO 詳細配置界面

至此,STM32芯片的基本參數已經配置完成了。

     

1.3 輸出配置好的工程

進入如圖1-15所示的Project Manager界面進行輸出配置,如圖1-15所示。

Project Name輸入工程文件名;本次定義為Prj_STM32F103_LED

Project Location輸入工程放置路徑;

Toolchain/IDE選擇預輸出的IDE類型;本次選擇MDK-ARM

Min Verison選擇軟件版本號;V5

1-15 工程輸出配置界面

配置完成的界面如圖1-16所示。

1-16 配置好的輸出配置

Code Generator中選中箭頭所示位置。這樣輸出文件將包括.c和.h文件。

1-17 配置Code Generator

1.4 生成代碼

選擇如圖1-18箭頭所指的GENERATE CODE生成Keil代碼。

1-18 生成代碼

1-19 生成的Keil源代碼

2 Proteus 搭建基於STM32 LED控制電路圖

2.1 創建Proteus工程

打開軟件,然后選擇File->New Project打開如圖2-1所示界面。

圖2-1 新建工程界面

圖2-2 填寫工程名字和路徑

填寫完畢后,點擊Next,進入如圖2-3所示界面,根據設計需要選擇圖紙大小。

2-3

選擇完畢后點擊Next進入如圖2-4所示界面。

2-4

默認,無需設計PCB,所以選擇Next即可,進入如圖2-5所示界面。

2-5

由於使用CubeMX 和Keil聯合對STM32進行仿真,所以無需用Proteus進行開發,故直接點擊Next進入2-6所示界面。

2-6

點擊Finish完成工程創建。

2.2 檢索器件

按照如圖2-7所示的方式添加元器件,首先選擇器件標記,然后單擊P進入Pick Devices界面,然后在Keywords界面輸入要檢索的器件,然后進行選擇。

2-7

2.3 放置器件

圖2-8

按照如圖2-8的方式進行器件的放置操作,在2的位置選中器件,然后在3所示的圖紙窗口單擊即可。

2.4 放置電源

2-9

2-10

2.5 配置STM32F103R6參數

雙擊圖2-10界面所示的STM32F103R6器件,彈出如圖2-11所示界面,在該界面設置相應的參數,其中在Program File添加程序生成的HEX文件,Crystal Frequency設置系統頻率,這里設置為72MHz。

     

     

3 利用Keil添加控制代碼

在Keil中添加代碼需要注意,用戶需要將代碼添加到私有代碼中如圖所示。添加到其他地方,會發生生使用CubeMX更新后,代碼被清除問題。

     

圖3-1

在如圖3-2所示的位置,添加如圖3-2所示的LED電平翻轉代碼。

圖3-2

     

4 仿真結果

     

   

<<Pro_STM32F103_LED - Proteus 8 Professional - Schematic Capture 2020-04-12 08-54-18.mp4>>

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM