STC32单片机开发环境搭建指南

        自去年起,STC推出了51内核的32位单片机,但是单纯的51内核已经驾驭不了32位总线了。因此STC32单片机才用的是251内核,多了一个2,使得底层指令从111条扩充到了268条,这或许意味着以后的STC单片机会有更广大的想象空间?

        也因此,STC32的开发环境与传统的51有着些许的不同。简单的来说,就是需要C251版本的Keil进行代码编译,并且新建工程的时候需要多配置一些选项。

1、Keil的下载(可与C51和MDK共存)

先去Keil的官网,点击“下载”,选择C251的版本并下载(填信息的界面乱填就行,不过要填满)

以下是官网链接

Keil Product Downloads

填完信息并点击提交之后,在下面这个界面点击C251V560.EXE 下载即可

上面是讲述下载的方法,学会以后各个版本就都会下载了,下面提供懒人链接

 直接下载的链接:

https://www.keil.com/fid/zux5y6wdb3mj1wdcruw19rytew3om1a96b0pd1/files/eval/c251v560.exe

 

2、Keil的安装

点击刚下载的文件就能够安装了,基本只需要无脑的下一步就行,需要注意的点有两个:

(1)安装路径

(2)版本冲突

安装路径是在下面这个界面选择的,一般就是默认路径,不过你要是之间装MDK或者C51的时候选了其他路径,就要修改到对应的路径,因为这样子就能共存了。

(共存的实现方法是:Keil的安装包会自动在安装路径下建一个文件夹,把这个版本的文件就放在这个文件夹下面,所以你去文件管理器的对应文件夹下面会发现有ARM、C51、C251之类的文件夹)

而版本冲突的问题是这样的:会出现以下弹窗,我的解决办法是全部都选择“Skip”跳过就好了 

3、下载烧录程序ISP

去STC官网,在右侧的栏目里面下载ISP软件就行了。不过要注意的是,不要下载精简版,因为精简版把添加单片机型号文件以及范例程序的功能阉割了。

STC官网:(有很多资料,有空可以下载看看)

http://stcmcudata.com/

懒人下载链接:(版本可能不是最新的)

http://www.stcmcudata.com/STCISP/stc-isp-15xx-v6.91.zip

解压后就能使用了

4、添加单片机型号到Keil

先说一个小技巧,打开ISP之后,连接上板子,然后点击左下角的检测选项,然后给板子复位,这样子ISP软件会自动选择好对应的单片机型号,这样子选型号很方便。

然后找到Keil仿真设置,点这个添加型号,要选择的路径就是刚刚装Keil的路径。 

5、新建空工程

打开Keil,在Project中选择新建项目选项,选择好一个文件夹,并起好名字之后,就选择单片机型号。在下面这个界面里,先切换到STC MCU的选项,再在下边选择到STC32型号。

然后就是右键新建一个main.c了

然后就可以编写代码了 (看似结束了,实则并没有)

6、空工程的完善

让我们再次回到STC的官网,去下载32的芯片手册,仔细翻一下就会发现,手册里是有搭建工程的章节的。对于STC16和STC32都是采用的C251内核,都需要注意这些配置选项:

(1)CPU Mode : 选择Source251模式             (一般自动选择)

(2)Memory Model:选择XSmall模式               (设小了资源不能充分利用,大了效率低)

(3)Code Rom Size:选择Large模式                (一般自动选择)

(4)勾选给上:4 Byte On-chip Code Rom         (和硬件设计匹配,或许运算会加速?)

技巧:你可以在ISP软件里下载资料,如下图:

 这里只举出最重要的几个设置,其他的可以去看芯片手册。

7、编写和编译

我就简单的写了个点灯的代码。具体代码如下:

#include <STC32G.H>

void delay(void);

int main()
{
	while(1)
	{
		P3 = 0x00;
		delay();
		P3 = 0xff;
		delay();
	}
}

void delay(void)
{
	int i = 1000 , j = 0 ;
	
	while ( i-- )
	{
		j = 1000;
		while ( j-- );
	}
}

简单解释一下,因为STC家的单片机基本都是利用串口1(引脚是P30和P31)下载程序的,然后我买的板子呢,就为了展示串口的通信是否正常,在P30和P31引脚串联了两个LED,那么LED瞎闪(其实也不是瞎闪)的时候就是在进行串口通讯。因此我在代码里写对P3口进行切换任务就能让那两个灯闪烁(不知道画板子的会对我这种骚操作怎么看QuQ)。

然后编译烧写,没问题,大功告成!

附上我的板子是这样子的:

8、最后一个小贴士

这个空工程建立完了以后,下次开发就直接复制整个工程代码文件夹并在里面写代码就好了。因为第6步说的那几个选项,是会创建一个配置文件并放在工程里面的,因为你是复制来的,这个配置文件也会复制,那么你就不用再一次打开魔术棒按钮修改这些选项了。

物联沃分享整理
物联沃-IOTWORD物联网 » STC32单片机开发环境搭建指南

发表评论