我使用的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、或者关闭单片机,点击下载后迅速打开单片机
工程创建的过程中,可能会出现编译栏显示灰色无法点击的情况
这个时候建议从头重新创建一次工程文件,同时文件名不要有空格和中文。