MDK 开发环境与 Proteus 仿真软件,实验二。

这篇博客介绍了如何使用MDK开发环境和Proteus软件进行STM32单片机的LED灯实验。从创建工程、选择启动文件到编写程序(包括LED的头文件和源文件),再到编译与下载步骤,详细阐述了整个流程。特别提到了STM32F103R6小容量芯片的选择和晶振频率的设置。
摘要由CSDN通过智能技术生成

工程

开发环境的使用-以点亮 LED灯为例

1、拷贝一个工程模板到相应文件夹。

2、在工程文件夹内几个文件夹:User、Project、Doc、Drivers、Libraries,如下图所示。

在这里插入图片描述

文件夹 说明
Doc 说明书,程序功能、版本、修改记录
Drivers 各个接口的初始化文件及头文件、启动代码
Libraries 库函数及核函数
Project 工程项目名称、输出
User 主程序及应用程序

启动代码是一段和硬件相关的汇编代码。是必不可少的!启动代码主要作用如下:

  • 1)堆栈(SP)的初始化;
  • 2)初始化程序计数器(PC);
  • 3)设置向量表异常事件的入口地址;
  • 4)调用main函数。

ST公司提供了3个启动文件给我们,分别用于不同容量的STM32芯片,这三个文件是:

文件 适用范围
startup_stm32f10x_ld.s ld.s适用于小容量产品;
startup_stm32f10x_md.s md.s适用于中等容量产品;
startup_stm32f10x_hd.s hd.s适用于大容量产品;

这里的容量是指FLASH 的大小。
判断方法如下:
小容量:FLASH≤32K
中容量: 64K≤FLASH≤128K
大容量:256K≤FLASH

Proteus提供的CM3内核的STM32系列单片机有STM32F103R6,其FLASH容量为32KB,属于小容量产品,所以选择startup_stm32f10x_ld.s 作为启动文件。

创建工程(示例)

使用Keil。
最上方选项栏里选择工程(project)选择新的工程。

在这里插入图片描述

选择一个路径创建一个文件夹,此处的文件夹名为test。

在这里插入图片描述

选择你的内核。

在这里插入图片描述

点击ok。

在这里插入图片描述

ok。
这样你就会得到。

在这里插入图片描述

添加工程

此处我就不再自己创建新的工程,而是采用现成的工程来演示。

将所需要的工程拷贝到一个路经合适的位置,点击下面的图标打开。

在这里插入图片描述

这样你就能得到:

在这里插入图片描述

接下来选择任意一个文件夹右键。
你会看到:

在这里插入图片描述

选择 Manage Project Items…

在这里插入图片描述

这样你就可以管理你的文件和文件夹,你可以选择上面的选项来新建文件夹或者添加新文件或删除它们。

编写程序

以点亮 LED 灯为例,如图所示。

在这里插入图片描述

由图可以看出, LED 分别连接 MCU 的 PC0 引脚。在 I/O 引脚为低电平时 LED 灯点亮。
首先编写 LED 头文件,以宏定义定义 LED 的相关参数,命名为 bsp_led.h,
代码如下:

#ifndef __BSP_LED_H
#define __BSP_LED_H
#include "stm32f10x.h"
/// LED 硬件配置
#define LED_NUM 1 ///< 设置 LED 的数量, 该驱动最多允许 16 个 LED 灯
#define LED_LEVEL 0 ///< 0, 低电平点亮 LED. 1, 高电平点亮 LED
#define LED0_PORT GPIOC /* GPIO 端口 */
#define LED0_CLK RCC_APB2Periph_GPIOC /* GPIO 端口时钟 */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值