ARM的开发环境入门

嵌入式系统开发 第三周作业

1. 安装mdk5软件和stm32包

    安装mdk5	
    1 按照pdf安装mdk

ARM的开发环境入门_第1张图片
2 离线模式安装pack在这里插入图片描述

ARM的开发环境入门_第2张图片
ARM的开发环境入门_第3张图片
ARM的开发环境入门_第4张图片
其中一个pack,报错翻译为不支持包架构版本“1.4.0”。最大支持的版本是’1.2。请更新到的更新版本,所以如有需要此pack的请自行升级MDK的版本,但对于初学者stm32 pack1.0.4已经足够。

3 mdk5的破解
必须以管理员的身份进入keil否则会添加license错误
进入license management页面复制cid
ARM的开发环境入门_第5张图片
打开keil generic keygen ,之前版本破解日期为2020,改为2032
ARM的开发环境入门_第6张图片
ARM的开发环境入门_第7张图片
破解完成
详细安装请参照https://blog.csdn.net/qq_45264808/article/details/108899662?utm_source=app

2. LED闪烁

https://github.com/2414466154/seven
下载工程文件
ARM的开发环境入门_第8张图片
新建工程
跟工程文件同一目录
ARM的开发环境入门_第9张图片
关闭该界面,不用keil所带的

ARM的开发环境入门_第10张图片
将文件工程名改成stm_led.STM32F103CB.
添加文件
ARM的开发环境入门_第11张图片
我这里有点小问题不能添加文件夹
ARM的开发环境入门_第12张图片
ARM的开发环境入门_第13张图片
然后再C/C++中define中填入USE_STDPERIPH_DRIVER, STM32F10X_MD
ARM的开发环境入门_第14张图片

添加include path。
ARM的开发环境入门_第15张图片

点击output,勾选生成hex
ARM的开发环境入门_第16张图片
ARM的开发环境入门_第17张图片
ARM的开发环境入门_第18张图片

#include "led.h"

void LED_GPIO_Config(void)
{
		GPIO_InitTypeDef GPIO_InitStructure;
	
		RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
	  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;	
		GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;       
		GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
		GPIO_Init(GPIOB, &GPIO_InitStructure); 
}


写点灯代码
在新建一个led.h代码如下

#ifndef __LED_H
#define	__LED_H
 
#include "stm32f10x_gpio.h"
 
#define ON	0
#define OFF	1
 
#define LedControl(a) if(a) GPIO_SetBits(GPIOB,GPIO_Pin_5); else GPIO_ResetBits(GPIOB,GPIO_Pin_5)
 
void LED_GPIO_Config(void);
#endif

main函数代码如下图所示

#include "stm32f10x.h"
#include "led.h"


void Delay(u32 count)
{
		u32 i=0;
		for(;i

结果如下
ARM的开发环境入门_第19张图片
proteus仿真
ARM的开发环境入门_第20张图片

双击 STM32F103R6 芯片,链接 MDK 生成的 .hex 文件:
ARM的开发环境入门_第21张图片
仿真结果如下
ARM的开发环境入门_第22张图片

3.C51程序设计和仿真

     先前已安装,跳过安装步骤
     
     这个根据开发板使用的 CPU 具体的型号来选择,像是普中 51-双核-A6、普中 51-双核-A7、普中 51-双核-A8、HC6800-EM3 V2.2、HC6800-EM3 V2.2C、HC6800-EM3 V3.0 开发板采用的是 STC89C516 芯片,开拓者、HC6800-ES V2.0、普中 51-单核-A2 使用的是 STC89C52 芯片。但实际上在 KEIL C51 软件内找不到这些芯片类型,但我们可以选择 AT89C51 或者 AT89C52,它们都是 51 内核,软件代码兼容。这里选择 AT89C52,具体操作如下。

ARM的开发环境入门_第23张图片

ARM的开发环境入门_第24张图片
点击否
然后编写main.c,如上,生成.hex文件。(keil5无法上述操作,仍旧按照keil4)
ARM的开发环境入门_第25张图片
ARM的开发环境入门_第26张图片

 #include "reg51.h"
void main(void)
{
	P0 = 0x0; //点亮P0端口上的LED灯
}

ARM的开发环境入门_第27张图片
仿真结果如下

ARM的开发环境入门_第28张图片

总结

keyen.exe记得关声音
添加工程时记得添加启动文件
添加路径一定要正确不然会无法找到目录
参考资料
https://blog.csdn.net/qq_41991417/article/details/102594675
https://blog.csdn.net/weixin_43155866/article/details/88429527

你可能感兴趣的:(嵌入式)