proteus用C语言实现LED闪烁,【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

实现的功能

PA1接LED,实现LED闪烁

1 STM32CubeMx创建STM32工程文件

STM32CubeMX打开界面如图1-1所示。

0f3adb6043a2a65cccb9d4b707440aeb.png

图1-1 STM32CubeMX初始界面

1.1 创建工程

使用File->New Project创建STM32配置工程。如图1-2所示,然后弹出如图1-3所示的MCU型号选择窗口。

296383a359489bb6e9c062b70a547c10.png

图1-2创建工程

3936ed888bbc11243f225f07b16b6794.png

图1-3选择MCU型号

在图1-3的Part Number Search窗口输入预选择的型号,本次选择STM32F103R6(Proteus中包含该IC)。输入STM32F103R6后弹出如图1-4所示界面。

25c9e80ea389b9774473f1f5fcb81586.png

图1-4检索出两款STM32IC

根据封装不同,检索出两种类型STM32F103R6处理器,选择LQFP64封装的在2所示位置双击,弹出如图1-5所示界面。

64fc3b454e42818caafad3b90a5db858.png

图1-5创建完成的STM32F103CubeMx 工程

1.2 配置芯片参数

需要配置的参数如下:

系统时钟,下载方式(可选,本次为仿真,可以不使用Debug方式)以及引脚功能。

1.2.1 配置系统下载方式

选择Categories下的SYS弹出右图所示的SYS Mode and Configuration界面,在如图2所示的地方选择下载Debug方式,本次使用仿真的方式,所以Debug方式可以选择No Debug。

11418f3f20f47969a5b156247ae49394.png

图1-6配置系统下载方式

1.2.2 配置系统时钟

选择Categories下的RCC选择时钟源,如图1-7所示,可选择的时钟包括HSE和LSE,由于本次仿真中仅使用HSE时钟,所以仅对HSE时钟进行选择,选择Crystal/Ceramic Resonator外部时钟。如图1-7所示。

24baf4d286e783e1023af68589bff729.png

图1-7系统时钟选择

选完时钟后,进入Clock Configuration界面进行时钟配置,首先设置外部时钟源输入频率Input Frequency,然后选择PLL Source Mux的通道,最后双击HCLK频率,然后系统会自动配置成用于期望的时钟。配置前的时钟图如图1-8所示,配置完成的时钟图如图1-9所示。

c65c78ac4aa30b580f4c5d8126e4b691.png

图1-8系统时钟配置

e3788f54ef258de5706a5afea63050ac.png

图1-9配置后系统时钟结构

1.2.3 配置GPIO口功能

打开如图1-10所示的界面,开始配置GPIO口功能,本例程目标是实现LED(连接至PA1)闪烁,所以需要配置PA1为输出功能。

9ab406a57a5136b9ce7e358d6c7c877b.png

图1-10 GPIO功能配置界面

单击对应的引脚PA1,然后选择GPIO模式为GPIO_Output。如图1-11所示。

20580623468ae0f33a1caade969d13fd.png

图1-11 GPIO功能配置

右击PA1引脚,选择Enter User Label,为GPIO分配标识,本次设置为LED01。如图1-12所示。

5ec04dac4d582154553c55cfa6e5062c.png

图1-12 GPIO标识分配

接下来进入如图1-13所示的界面配置GPIO引脚详细参数。单击黄色箭头所指PA1,弹出如图1-14所示界面,进行GPIO详细参数配置。

46048246049973b74e70323ea622212b.png

图1-13 GPIO配置界面

如图1-14,将PA1配置为默认输出高电平,推挽输出模式,上拉,高速输出模式,引脚标识为LED01。

51da90cb5d1a55609805ea186a41afa7.png

图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

f66bf0210f926dd3ab788c6facccf6b8.png

图1-15工程输出配置界面

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

595aff94316af963344a3942a90a682a.png

图1-16配置好的输出配置

Code Generator中选中箭头所示位置。这样输出文件将包括.c和.h文件。

efa9ea0b3c432eca1074a46ddb832521.png

图1-17配置Code Generator

1.4 生成代码

选择如图1-18箭头所指的GENERATE CODE生成Keil代码。

e7204c3c39fb3794352b10e657463c94.png

图1-18生成代码

accef35c63e9dad44a9b24c3c10fc643.png

图1-19生成的Keil源代码

2 Proteus 搭建基于STM32 LED控制电路图

2.1 创建Proteus工程

打开软件,然后选择File->New Project打开如图2-1所示界面。

59f3150676384392e221f0724d47980f.png

图2-1 新建工程界面

cf76e2ae9a3a4c72662221988cb52842.png

图2-2 填写工程名字和路径

填写完毕后,点击Next,进入如图2-3所示界面,根据设计需要选择图纸大小。

972f43ec2c792c9a367742b5dc14030e.png

图2-3

选择完毕后点击Next进入如图2-4所示界面。

4df83f4ca6cf9f7b1f0d45f8bbd4aea1.png

2-4

默认,无需设计PCB,所以选择Next即可,进入如图2-5所示界面。

46ee1a355fa67b33cda75f7f1987994a.png

2-5

由于使用CubeMX 和Keil联合对STM32进行仿真,所以无需用Proteus进行开发,故直接点击Next进入2-6所示界面。

3c789066c669fada33060653a9db5b31.png

2-6

点击Finish完成工程创建。

2.2 检索器件

按照如图2-7所示的方式添加元器件,首先选择器件标记,然后单击P进入Pick Devices界面,然后在Keywords界面输入要检索的器件,然后进行选择。

9341db22683f878f58818eb674f3ebda.png

2-7

2.3 放置器件

f28dfbd28830784977a60c2c8e16d30a.png

图2-8

按照如图2-8的方式进行器件的放置操作,在2的位置选中器件,然后在3所示的图纸窗口单击即可。

2.4 放置电源

cd0b1d9fab53c9319002c288d581fc41.png

2-9

818d5f61c99dc749688153439b17dea7.png

2-10

2.5 配置STM32F103R6参数

双击图2-10界面所示的STM32F103R6器件,弹出如图2-11所示界面,在该界面设置相应的参数,其中在Program File添加程序生成的HEX文件,Crystal Frequency设置系统频率,这里设置为72MHz。

63a9d2e5e0b31a084e970649f843b3b4.png

3 利用Keil添加控制代码

在Keil中添加代码需要注意,用户需要将代码添加到私有代码中如图所示。添加到其他地方,会发生生使用CubeMX更新后,代码被清除问题。

9b00889f7f71f2c73c4c94843fbd770f.png

图3-1

在如图3-2所示的位置,添加如图3-2所示的LED电平翻转代码。

11b839adb366f09ceb70fab8b93cb169.png

图3-2

4 仿真结果

<>

b739ec46bb5c46d9c0aa4ce35ba1ea56.png

关于找一找教程网

本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。

本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。

[【STM32项目笔记】STM32CubeMX+Keil+Proteus联合实现LED闪烁]http://www.zyiz.net/tech/detail-126046.html

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你好!对于研究STM32CubeMXKeil5和Proteus仿真软件的使用,我可以为你提供一些基本的指导和信息。 首先,STM32CubeMX是一个用于配置和初始化STM32微控制器的工具。它可以帮助你生成基于HAL库或LL库的C代码框架,并提供图形界面来配置各种外设和引脚设置。你可以使用它来快速生成初始化代码,并且可以将生成的代码导入到Keil5开发环境中进行进一步的开发和编程。 Keil5是一种集成开发环境(IDE),用于编写、编译和调试嵌入式系统的软件。它支持多种编程语言,包括C和汇编语言,可以与STM32CubeMX无缝集成。你可以使用Keil5编写STM32的应用程序,并通过调试器进行调试和测试。 Proteus是一种电子电路仿真软件,可以用于仿真和验证电路设计。它支持多种微控制器模型,包括STMicroelectronics的STM32系列。你可以在Proteus中创建STM32的电路图,并进行仿真以验证你的设计是否正常工作。 以下是一些使用这些工具的基本步骤: 1. 使用STM32CubeMX配置和生成代码。打开STM32CubeMX,选择你的目标STM32微控制器型号,然后通过图形界面配置外设和引脚设置。完成配置后,生成初始化代码并导出到Keil5。 2. 在Keil5中导入生成的代码。打开Keil5,创建一个新项目,选择正确的目标设备型号,并将生成的代码导入到项目中。然后可以在Keil5中进行编写、编译和调试。 3. 在Proteus中创建电路图并进行仿真。打开Proteus,创建一个新的电路图,并选择正确的STM32微控制器模型。然后,将所需的外设和电路元件添加到电路图中,并连接它们。完成后,可以运行仿真以验证电路是否按预期工作。 希望以上信息对你有所帮助!如果你对任何具体的问题或进一步的指导有兴趣,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值