Proteus + MDK 시뮬레이션 실행 stm32 프로그램

요약:

이 기사에서는 keil5 및 Proteus를 사용하여 stm32 프로그램 실행을 시뮬레이션하여 램프의 주기적 변화를 실현하는 방법을 소개합니다.

1. MDK 프로젝트 구성

1 단계 : Keil5를 열고 프로젝트 만들기

step2 : 실현으로 준비한 시작 기능에 따라 프로젝트를 구성합니다.

3 단계 : 헤더 파일 읽기 경로 포함

내가 추가 한 경로를 볼 수 있습니다.

step3 : 출력 설정 변경

== 16 진 파일을 생성하려면 출력을 확인해야합니다.

4 단계 : 주요 기능 만들기

주요 기능에 의해 실현되는 기능은 하나의 조명, 4 개의 조명, 8 개의 조명이 순환되는 것입니다.

#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<16;i++)
	  {
    
    
			if(i%2==0)
		  {
    
    	
				delay_ms(99000);
				GPIOC->BRR=0x000000f0;
				delay_ms(99000);
				GPIOC->BSRR=0x000000f0;
			}
			else
			{
    
    	
				delay_ms(99000);
				GPIOC->BRR=0x0000000f;
				delay_ms(99000);
				GPIOC->BSRR=0x0000000f;
			}
	  }
		//八个灯循环亮
		for(i=0;i<8;i++)
	  {
    
    
				delay_ms(99000);
				GPIOC->BRR=0x000000ff;
				delay_ms(99000);
				GPIOC->BSRR=0x000000ff;
				delay_ms(99000);
				GPIOC->BRR=0x000000ff;
				delay_ms(99000);
				GPIOC->BSRR=0x000000ff;
		}
				
	}

}

모든 구성이 완료되면 16 진수 파일이 생성되고 다음 단계는 proteus 프로젝트를 빌드하는 것입니다.


2. Proteus 프로젝트 구축

1 단계 : 소프트웨어를 열고 새 프로젝트를 만듭니다.

이 프로세스에서 다음을 제외하고 펌웨어 프로젝트 인 Cortex-M3, STM32F103R6을 생성하도록 선택하고 나머지는 기본값입니다.

step2 : 부품 추가 및 회로 연결

step3 : 마이크로 컨트롤러를 클릭합니다.

노트:

  • 첫 번째 단계에서 생성 된 .hex 파일을 선택합니다.
  • 다음과 같이 구성을 설정하십시오.

step3 : 다음과 같이 실행 시작


셋, 요약

이번에는 keil과 proteus의 시뮬레이션을 통해 keil의 프로젝트 파일 구성 프로그래밍에 익숙하고 stm32 프로그램을 실행하는 proteus 시뮬레이션에도 익숙합니다. 시뮬레이션은 우리 연구에 정말 유용하며 시뮬레이션을 통해 많은 실제 오류를 피할 수 있습니다. proteus와 keil의 시뮬레이션에 익숙해지는 것이 정말 중요합니다.

추천

출처blog.csdn.net/lee_goi/article/details/109551927