新手小白尝试STM32与51单片机的简单编译

    科技2022-08-19  108

    STM32与51单片机的简单编译

    一、MDK5软件和STM32包的安装二、STM32实现LED灯的闪烁1.工程的建立2.编译例程 三、51单片机实现LED灯的闪烁

    声明:新手入门不成熟体验,仅作记录和提交作业,不具备教程水平

    一、MDK5软件和STM32包的安装

    点击mdk_410安装程序Next 自行设置Name和E-mail,记得一定不要用中文以及特殊符号,然后点Next等待安装 最后点击 Finish 即可完成安装 随后,MDK 会自动弹出 Pack Installer 界面 本来应该是在这里下载安装包,但是无法连接,加上我自己有安装包所以选择直接在文件夹中双击安装ARM.CMSIS.3.20.4.pack 和 Keil.STM32F1xx_DFP.1.0.4.pack 这两个安装包,即可让 MDK5.10 支持 STM32F103 的开发

    二、STM32实现LED灯的闪烁

    1.工程的建立

    先准备一个空白文件夹

    打开Keil建立一个新工程放在刚刚建立的文件夹里 选择STM32芯片 接下来是因为我第一次建立尝试后续出错然后看到大佬的解释才知道的点,建立工程记得不要手快就点OK了,记得勾选这三个然后再点击OK,这样工程就建好了

    2.编译例程

    建立好工程后,新建文件,在文本框中随便输一些,在这我为了试试编译输入了一个main函数,然后以.c文件保存 把这个文件加入工程

    这里我试了试编译连接,除了返回值的警告没有别的问题 然后就输入代码,这里由于我刚入门,这次只是学习安装和简单的使用,所以具体用于测试的代码我借鉴了一位id为farsight1的大佬的代码,以防侵权我就不贴在这儿了,有兴趣的可以去看看最简单的STM32入门教程----闪烁LED 然后就是编译建立

    三、51单片机实现LED灯的闪烁

    用Proteus连电路

    用keil写代码

    #include"reg51.h" #define uchar unsigned char #define uint unsigned int sbit LED=P1^0; void DelayMS(uint x) { uchar i; while(x--) {for(i=120;i>0;i--); } } void main() { while(1) { LED=~LED; delay(100); } }

    记得生成.hex文件

    仿真

    Processed: 0.008, SQL: 9