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的文件包)
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 的安装比较简单,按照引导就可以了,我就不多介绍
编译仿真过程
三.完成一个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的了解产生了固定思维,不利于我们的学习。所以以后要让自己分开来。