ARM开发环境入门

  • 软件安装
  • 一.安装mdk5软件和stm32包.
  • 1.下载安装包(里面包含keil 5 以及 stm32的文件包)
  • 2.点击mdk 5.exe,进入安装页面
  • 3.点击ARM.CMSIS.3.20.4.exe,进入包安装页面
  • 4.点击 Keil.STM32F1xx_DFP.1.0.4.exe,进入包安装页面(如上,以下不做详解)
  • 二.Proteus 电路仿真软件.
  • 1.Proteus 的安装比较简单,按照引导就可以了,我就不多介绍
  • 编译仿真过程
  • 三.完成一个stm32的简单程序的编译.
  • 1.新建工程
  • 2.编译
  • 四.完成一个51程序设计和仿真.
  • 1.编译一个c51程序,此程序是基于c51的定时打铃程序
  • 2.proteus仿真
  • 附录(部分代码,如有需求请私信)
  • 总结


软件安装

一.安装mdk5软件和stm32包.

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

arm架构与编程pdf arm结构与程序开发入门_小程序

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

arm架构与编程pdf arm结构与程序开发入门_#define_02


1).点击next

arm架构与编程pdf arm结构与程序开发入门_arm架构与编程pdf_03


2).打勾,并点击next

arm架构与编程pdf arm结构与程序开发入门_android studio_04


3).修改存储位置

arm架构与编程pdf arm结构与程序开发入门_android studio_05

4).随便更改以上内容

arm架构与编程pdf arm结构与程序开发入门_android studio_06


5).等待安装

arm架构与编程pdf arm结构与程序开发入门_#define_07


6).完成安装

arm架构与编程pdf arm结构与程序开发入门_android studio_08


7).点击0k,关闭窗口

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

arm架构与编程pdf arm结构与程序开发入门_arm架构与编程pdf_09


1).双击安装

arm架构与编程pdf arm结构与程序开发入门_android studio_10


2).看安装路径是否和keil5一致,若是点击next

arm架构与编程pdf arm结构与程序开发入门_#define_11


3).完成

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

1).打开keil 5页面

arm架构与编程pdf arm结构与程序开发入门_android_12


2).打开file,找到licence,注册

arm架构与编程pdf arm结构与程序开发入门_#define_13

二.Proteus 电路仿真软件.

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

arm架构与编程pdf arm结构与程序开发入门_android studio_14


arm架构与编程pdf arm结构与程序开发入门_arm架构与编程pdf_15

arm架构与编程pdf arm结构与程序开发入门_小程序_16


arm架构与编程pdf arm结构与程序开发入门_小程序_17

编译仿真过程

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

1.新建工程

arm架构与编程pdf arm结构与程序开发入门_android_18


1).点击project

arm架构与编程pdf arm结构与程序开发入门_arm架构与编程pdf_19


2).命名project

arm架构与编程pdf arm结构与程序开发入门_arm架构与编程pdf_20


2).选择stM32芯片

arm架构与编程pdf arm结构与程序开发入门_android_21


3).完成

2.编译

arm架构与编程pdf arm结构与程序开发入门_android studio_22

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

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

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

arm架构与编程pdf arm结构与程序开发入门_android studio_23


1).新建工程

arm架构与编程pdf arm结构与程序开发入门_android_24


2).设置工程

arm架构与编程pdf arm结构与程序开发入门_android_25


3).写入程序编译

2.proteus仿真

1).建立工程

arm架构与编程pdf arm结构与程序开发入门_android studio_26


2).设置工程

arm架构与编程pdf arm结构与程序开发入门_android studio_27


3).开始放置元件

arm架构与编程pdf arm结构与程序开发入门_android_28


4).完成仿真

arm架构与编程pdf arm结构与程序开发入门_arm架构与编程pdf_29

arm架构与编程pdf arm结构与程序开发入门_android_30

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

#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的了解产生了固定思维,不利于我们的学习。所以以后要让自己分开来。