STM32F103的流水灯点亮版本1(寄存器地址操作)


一、STM32最小系统核心板(STM32F103C8T6)简介

在这里插入图片描述
F1XX片上资源/外设:
在这里插入图片描述
最小系统电路:
在这里插入图片描述
系统结构:
在这里插入图片描述

二、用Proteus 设计一个STM32最小系统板+LED流水灯实验原理图,仿真运行

2.1Keil编写程序生成hex文件

点击project,选择new μvision project,创建工程,点击保存,点击保存。芯片选择STM32F103C8;
在这里插入图片描述
在这里插入图片描述
确定相关设置,点击OK;
编写程序,进行编译生成hex文件;
在这里插入图片描述

2.2Proteus设计原理图,导入hex文件,进行仿真调试

创建新工程,搭建电路;
在这里插入图片描述
导入hex文件,进行仿真调试:
在这里插入图片描述
在这里插入图片描述

三、以 STM32最小系统核心板(STM32F103C8T6)+面板板+3只红绿蓝LED 搭建电路,使用GPIOA、GPIOB、GPIOC这3个端口控制LED灯,轮流闪烁,间隔时长1秒

3.1keil编写程序,生成hex文件、

宏定义用来存放STM寄存器映射:

#define PERIPH_BASE           ((unsigned int)0x40000000)//AHB
#define APB2PERIPH_BASE       (PERIPH_BASE + 0x10000)
#define GPIOA_BASE            (APB2PERIPH_BASE + 0x0800)
//GPIOA_BASE=0x40000000+0x10000+0x0800=0x40010800,该地址为GPIOA的基地址
#define GPIOB_BASE            (APB2PERIPH_BASE + 0x0C00)
//GPIOB_BASE=0x40000000+0x10000+0x0C00=0x40010C00,该地址为GPIOB的基地址
#define GPIOC_BASE            (APB2PERIPH_BASE + 0x1000)
//GPIOC_BASE=0x40000000+0x10000+0x1000=0x40011000,该地址为GPIOC的基地址

程序代码如下:

#define GPIOB_BASE 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值