Proteus仿真之点亮LED

# Proteus仿真之点亮LED

本示例演示如何使用Proteus仿真软件配合STM32F103C8T6微控制器(Blue Pill开发板常见型号)点亮LED。

# 一、新建Proteus工程

1.打开Proteus,新建工程命名为01-LED,文件路径根据实际设置。 2.窗口右下角默认按NEXT选项,直到出现FINISH,生成工程。


# 二、硬件操作步骤

元件清单

元件 型号/参数
微控制器 STM32F103C8T6
LED 普通LED即可
限流电阻 100Ω-1kΩ

1.搜索STM32,我们这里使用STM32F103C8为仿真芯片。 2.搜索LED,选取任意颜色的发光二极管。 3.搜索RES,选取电阻,后续可双击电阻更改任意阻值。 4.点击左边栏终端,这里可以调出电源POWER和地GROUND等端口,点击并拖出电源。

电路连接

  • LED正极 → 限流电阻 → PA0(或其他GPIO)
  • LED负极 → GND 5.按照图示连接元器件,注意区分二极管方向。 6.双击电阻R1,将阻值更改为适合值,实际搭建电路可使用1k欧的电阻,这里为了后续仿真的点灯效果将阻值改为100欧。 7.双击STM32芯片,点击文件夹装载代码。 8.进入工程文件的Debug文件夹,载入代码的hex文件。 9.点击Proteus界面左下角运行按键。 10可以看到黄色LED灯被成功点亮,实验成功。

# 软件实现

# 1. Keil MDK代码

#include "stm32f10x.h"

void delay_ms(uint32_t ms) {
    for(uint32_t i =0; i<ms*1000; i++);
}

int main(void) {
    // 启用GPIOA时钟
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);

    // 配置PA0为推挽输出
    GPIO_InitTypeDef GPIO_InitStruct;
    GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0;
    GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOA, &GPIO_InitStruct);

    while(1) {
        GPIO_SetBits(GPIOA, GPIO_Pin_0);  // LED亮
        delay_ms(500);
        GPIO_ResetBits(GPIOA, GPIO_Pin_0); // LED灭
        delay_ms(500);
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

# 2. Proteus仿真注意事项

  1. 添加HEX文件
    • 将Keil生成的hex文件加载到STM32F103C8T6的Program File属性中。
  2. 调试(可选)
    • 可通过配置Debug工具查看寄存器状态。

# 预期效果

LED将以500ms间隔闪烁。仿真时建议:

  • 添加示波器/逻辑分析仪观察GPIO波形。
  • 通过截图记录仿真结果。

扩展建议:可尝试用PWM调节LED亮度或实现流水灯效果。