区块链技术博客
www.b2bchain.cn

Proteus仿真实验之STM32流水灯

这篇文章主要介绍了Proteus仿真实验之STM32流水灯的讲解,通过具体代码实例进行16211 讲解,并且分析了Proteus仿真实验之STM32流水灯的详细步骤与相关技巧,需要的朋友可以参考下https://www.b2bchain.cn/?p=16211

本文实例讲述了2、树莓派设置连接WiFi,开启VNC等等的讲解。分享给大家供大家参考文章查询地址https://www.b2bchain.cn/7039.html。具体如下:

目录

  • Proteus仿真——STM32流水灯
    • 1.创建工程
    • 2.配置实验所需元件
    • 3.进入keil 5中生成hex文件
    • 4.STM32的配置
    • 5.实验结果

Proteus仿真——STM32流水灯

1.创建工程

1.点击创建新工程,输入工程名、安装路径。

Proteus仿真实验之STM32流水灯
2.选择从选中的模板中创建原理图(DEFAULT)

Proteus仿真实验之STM32流水灯
3.选择不创建PCB布版设计

Proteus仿真实验之STM32流水灯
4.选择创建固件项目,其中:系列选择Cortex-M3,Controller选择STM32F103R6,点击下一步,然后创建成功

2.配置实验所需元件

1.创建项目完成后就如下图所示,显示出自己所选的型号,STM32F103R6,系统并以配置好电源,连接电路如下,我们选用C0-C7端口,总共8个,如下图所示:
Proteus仿真实验之STM32流水灯

3.进入keil 5中生成hex文件

Proteus仿真实验之STM32流水灯
2.程序代码如下(程序实现要求:8个led灯依次闪烁,然后8个灯同时闪烁8次,依次重复)

/*main.c*/  #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; 		   	  }  	} } 

Proteus仿真实验之STM32流水灯

4.STM32的配置

1.双击stm32f103r6芯片,然后进入Program File 选择刚才生成的hex文件,并配置Crystal Frequency改成8M(设置晶振为8M)

Proteus仿真实验之STM32流水灯

5.实验结果

GIF演示如下:
Proteus仿真实验之STM32流水灯

本文转自互联网,侵权联系删除Proteus仿真实验之STM32流水灯

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » Proteus仿真实验之STM32流水灯
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们