51单片机系列(1)-keil4工程创建

2023-01-06  

我使用的keil uvision4进行51单片机开发。


那么创建一个keil工程有以下几步:


1、keil4软件安装:


keil4软件很容易下载,一般在淘宝卖家处购买单片机之后,会附赠相关的软件安装包和破解包,还有相关破解视频,故不赘述。


2、创建第一个工程:


进入软件之后我们定位到上方菜单栏,点击工程(如下图)

再点击新建工程

接下来就会保存工程路径,路径可以自行选择,注意文件名需要自行填写,否则无法保存,保存类型是默认的,不需要更改

接下来会弹出一个选择单片机CPU的窗口

我们使用的是51单片机,所以直接定位Atmel,我的单片机芯片型号是89C52,则定位Atmel下属的AT89C52,最后只管点击确定即可

创建完成后如下图所示

接下来需要在工程中创建文件,点击下图红圈中的图标

再点击保存(下图)

接下来会有一个保存路径的选择,其位置自动定位到所在的工程,注意还是要自行填写文件名,在此我们创建的是一个.c文件,创建为main.c,再点击保存即可


由于main.c文件并没有被添加进入工程,所以接下来我们需要将其添加进入工程,如下图,右键单击源组1,点击添加文件到“源组1”

再进入一个选择界面,你可以用两种方式添加:1、单击名称目录下的main.c文件,点击添加;2、如果名称目录文件多难以找到,就输入文件名,也可以添加。


注意点击添加后再点击关闭,才是添加成功

如下图所示,则是添加成功

3、测试工程文件,加入编写最基本的程序


首先设置编译输出hex文件,因为单片机执行的时候是通过keil生成的hex文件执行的,这是单片机的直接指挥文件,在菜单栏里面定位如下图标,点击


弹出如下页面,点击Output->红圈部分,打上勾,再点击确定即可

接下来就可以编写程序了,我们写一个例程试一下,使用流水灯实验


源代码如下

#include "reg52.h"

#include


typedef unsigned char u8;

typedef unsigned int u16;


#define led P2


void delay(u16 i){while(i--);}


void main()

{

u8 i;

led=0xfe;

delay(50000);

while(1){

    for(i=0;i<7;i++){

led=_crol_(led,1);

delay(50000);

}

for(i=0;i<7;i++){

led=_cror_(led,1);

delay(50000);

}

}


}

直接复制粘贴即可。


再点击编译,如图所示的图标


再看下方编译输出栏,


注意的点:1、warning和error,都为零说明成功


2、create hex file...说明有hex文件,才可下载进入单片机


下图所示文件编译成功,可以进入下载了

4、进入下载


此时可以关闭keil,但需要记住你的hex文件的路径,一般都是在你创建的工程文件之下


然后在外部将单片机与电脑通过usb接口相连,同时打开单片机开关,给单片机供电,否则无法下载程序


再打开程序烧入软件,这类软件很好找,百度一下即可,推荐到一些电子类论坛下载,相对干净安全,我使用的是普中科技的单片机程序下载软件,图标如下

打开后界面如下


注意的点


1、一般是自动匹配串口,所以有串口号一般就能下载


2、芯片类型注意选择自己对应的,51系列就选择STC89Cxx(New)即可


3、波特率设置为9600或者19200即可,不需要过高

接下来点击打开文件,找到hex文件的路径(就在你刚刚创建的工程路径里面)


如下图,找到后双击文件或者单击打开即可

文件路径已经就绪(下图)

最后点击程序下载就大功告成了


led模块开始运作,如gif所示,流水灯成功


动图封面

5、提醒


程序下载不一定一次成功,


1、可以试着把usb线拔了重新插进去试试


2、或者关闭单片机,点击下载后迅速打开单片机




工程创建的过程中,可能会出现编译栏显示灰色无法点击的情况


这个时候建议从头重新创建一次工程文件,同时文件名不要有空格和中文。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。