基于stm32简单程序:LED流水灯

1、新建工程项目及文件

1.1 新建工程

1.1.1点击新建一个项目
打开keil5新建项目
在这里插入图片描述
1.1.2选择工程项目存放路径
这里放在自己喜欢的文件夹中并取名为ledss
在这里插入图片描述

点击保存
1.1.3选取stm32型号
在这里插入图片描述

选择STM32F103RB
点击OK
1.1.4选择软件构件
按照序号选择即可
在这里插入图片描述
点击OK工程创建完成

1.2 新建文件

1.2.1新建文件
在这里插入图片描述
在菜单栏File中点击New即可
1.2.2写入代码

#include "stm32f10x.h"

GPIO_InitTypeDef GPIO_InitStructure;
void delay_ms(uint32_t ms)
{
	uint32_t i_cnt,j_cnt;
	for(i_cnt=0;i_cnt<3000;i_cnt++);
	for(j_cnt=0;j_cnt<ms;j_cnt++);
	
}
uint32_t i;
int main(void)
{
  
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);

	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
	GPIO_Init(GPIOC, &GPIO_InitStructure);

	GPIOC->BSRR=0xff;
	while (1)
	{
	  for(i=0;i<8;i++)
	  {
		delay_ms(99000);
		GPIOC->BRR=(1<<i);  
		  
		delay_ms(99000);
		GPIOC->BSRR=(1<<i);
	  }
	  for(i=0;i<8;i++)
	  {
		  delay_ms(99000);
		  GPIOC->BRR=0x000000ff;
		  
		  delay_ms(99000);
		  GPIOC->BSRR=0x000000ff;
		  
	  }

	}
}

(此处代码参照博客

1.2.3将文件加入工程项目再编译
加入文件
在这里插入图片描述
在这里插入图片描述

点击编译
在这里插入图片描述
显示没有错误之后
点击 Options for Target

按照顺序设置生成hex文件
在这里插入图片描述
再次编译即可在保存的文件夹里看到有hex文件生成

2、新建protues电路

2.1 新建工程

2.1.1新建工程
在这里插入图片描述
2.1.2更改工程名以及储存路径
在这里插入图片描述

之后一直点击下一步直到
在这里插入图片描述
按照如图选择配置即可

2.2 选择元器件

2.2.1 打开元器件库选择要用的元器件
在这里插入图片描述

2.2.2找到元器件并添加
添加如下元器件
在这里插入图片描述

2.3 连接元器件

按照如图连接元器件
在这里插入图片描述

3、导入文件并仿真

在这里插入图片描述
点击运行
在这里插入图片描述

4.总结

用Proteus仿真可以很有效的检验代码的正确性。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值