ARM开发环境入门

软件安装

一.安装mdk5软件和stm32包.

1.下载安装包(里面包含keil 5 以及 stm32的文件包)

在这里插入图片描述

2.点击mdk 5.exe,进入安装页面

在这里插入图片描述
1).点击next

在这里插入图片描述
2).打勾,并点击next
在这里插入图片描述
3).修改存储位置

在这里插入图片描述

4).随便更改以上内容

在这里插入图片描述
5).等待安装
在这里插入图片描述
6).完成安装
在这里插入图片描述
7).点击0k,关闭窗口

3.点击ARM.CMSIS.3.20.4.exe,进入包安装页面

在这里插入图片描述
1).双击安装
在这里插入图片描述
2).看安装路径是否和keil5一致,若是点击next
在这里插入图片描述
3).完成

4.点击 Keil.STM32F1xx_DFP.1.0.4.exe,进入包安装页面(如上,以下不做详解)

1).打开keil 5页面
在这里插入图片描述
2).打开file,找到licence,注册
在这里插入图片描述

二.Proteus 电路仿真软件.

1.Proteus 的安装比较简单,按照引导就可以了,我就不多介绍

在这里插入图片描述
在这里插入图片描述

扫描二维码关注公众号,回复: 12099387 查看本文章

在这里插入图片描述
在这里插入图片描述

编译仿真过程

三.完成一个stm32的简单程序的编译.

1.新建工程

在这里插入图片描述
1).点击project
在这里插入图片描述
2).命名project在这里插入图片描述
2).选择stM32芯片
在这里插入图片描述
3).完成

2.编译

在这里插入图片描述

4).这是网络上找的流水灯程序,编译运行就可以了

四.完成一个51程序设计和仿真.

1.编译一个c51程序,此程序是基于c51的定时打铃程序

在这里插入图片描述
1).新建工程
在这里插入图片描述
2).设置工程
在这里插入图片描述
3).写入程序编译

2.proteus仿真

1).建立工程
在这里插入图片描述
2).设置工程
在这里插入图片描述
3).开始放置元件
在这里插入图片描述
4).完成仿真
在这里插入图片描述在这里插入图片描述

附录(部分代码,如有需求请私信)

#include<reg52.h>
#define w_second 0x80 //ÃëдÈëµØÖ·
#define w_minute 0x82 //·ÖдÈëµØÖ·
#define w_hour   0x84 //ʱдÈëµØÖ·
#define w_day    0x86 //ÈÕдÈëµØÖ·
#define w_month  0x88 //ÔÂдÈëµØÖ·
#define w_week   0x8a //ÐÇÆÚдÈëµØÖ·
#define w_year   0x8c //ÄêдÈëµØÖ·
#define r_second 0x81 //Ãë¶Á³öµØÖ·
#define r_minute 0x83 //·Ö¶Á³öµØÖ·
#define r_hour   0x85 //ʱ¶Á³öµØÖ·
#define r_day    0x87 //ÈÕ¶Á³öµØÖ·
#define r_month  0x89 //Ô¶Á³öµØÖ·
#define r_week   0x8b //ÐÇÆÚ¶Á³öµØÖ·
#define r_year   0x8d //Äê¶Á³öµØÖ·
#define w_wp     0x8e //Ö¸ÁîдÔÊÐí¶ËµØÖ·
#define uchar unsigned char
uchar table[]=

{
    
    0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//7¶ÎÊýÂë¹Ü±àÂë
uchar second;  // ÃëÖ¸Õë
uchar minute;  //  ·ÖÖ¸Õë
uchar hour;    //  ʱָÕë
uchar day;    // ÈÕÖ¸Õë
uchar month;   // ÔÂÖ¸Õë
uchar week;    //  ÐÇÆÚÖ¸Õë
uchar year;    //   ÄêÖ¸Õë
uchar cc;   
uchar h_clock,m_clock,h,m;   
sbit change=P1^0; // Ñ¡Ôñ°´Å¥
sbit ok=P1^2;    // È·¶¨¸ü¸Ä°´Å¥
sbit crrect=P1^1;  //  ¸ü¸Ä°´Å¥
sbit look=P1^3;   // ʱ¼äºÍÄêÔÂÈղ鿴Çл»°´Å¥
sbit clock=P1^4; //ÄÖÖÓÉ趨
sbit ce=P3^2;   //  ds1302 Ƭѡ¶Ë
sbit sclk=P3^0;   //  ds1302 ʱ¿Ø¶Ë
sbit io=P3^1;   //  ds1302 ´®¿Ú¶Ë
sbit clock_beef=P3^7; //·äÃùÆ÷¿ØÖƶË
sbit clock_button=P1^5;  //ÄÖÖÓÆôÍ£°´Å¥
void write_ds1302(uchar addr,uchar dat) //д³ÌÐò

总结

通过此次试验,我对stm32有了更加深刻的认识,由于之前有c51的开发经验,对stm32的了解产生了固定思维,不利于我们的学习。所以以后要让自己分开来。

猜你喜欢

转载自blog.csdn.net/nsnsnbabsb/article/details/108950067