单片机要运行,就必须将程序代码下载到程序存储器内部,但是在写进单片机之前要先将你写 的程序转换成*.hex 或*.bin 的文件.不同系列的单片机都有不同的软件对其进行编绎,而 keil Cx51 是德国开发的一个专为 51 系列单片机提供的软件开发平台,基本上现在的所有 51 系列内核的单片 机都是使用 keil 来调试和编绎,在上面编写好程序后,将其编绎成*.hex 的十六进制烧写文件.然 后再烧写到单片机系统中去。
下面以 keil Cx51 V7.04 版本为例,介绍如何使用 keil 的集成开发环境.
一:双击桌面
启动 keil 如图 2-1 所示.
图 2-1
二:新建一个工程
(1)点击“Project”菜单,选择下拉菜单的“New Project”,会弹出如图 2-2 的窗口,在文件名 一栏中填入你的想要的工程文件名,文件名是任由你决定的,但是一般是取带有特定意义的为文件 名,这样比较容易管理和理解.在这里就取“text”,意为测试的意思.
图 2-2
然后点击保存.文件的扩展名为*.uv2,这是 keil 项目文件扩展名,以后我们直接双 击打开这个文件就可以了.
(2)点击保存之后会弹出如图 2-4 的窗口,要求选择芯片的型号,在这里我们选择“Atmel”内面 的 AT89S52 如图 2-5 所示.
图 2-4
图 2-5
(3)完成上一步之后点击确认.有可能会出现图 2-6 的对话框,其意思是把标准 8051 的启动代码复 制到本工程中去,你只需要“N(否)”就可以了.
图 2-6
(4)完成以上步骤之后我们就可以见到的 keil 界面如图 2-7
图 2-7
(5)我们现在来编写第一个程序.点击“File”的下拉菜单中选择“New”的选项如图 3-8 所示.
图 3-8
(6)这时光标会在新建的“Text1”这个文本框中闪烁.其实现在已经可以编写程序了,但是笔者建 义大家还是先将这个空白文件保存好之后再来编写.点击“File”的下拉菜单中的“Save As”此 时会弹出图 2-9 的对话框.在文件名中填入你想要的文件名,但是文件名最好是具有一定的代表意 义,这样比较容易管理和理解.这里特别要注意的就是,如果我们用 C 语言来写程序的话,那么文 件的扩展名一定要为.c,但是如果我们用的是汇编语言来写程序,那么文件的扩展名一定要为.asm, 由于我们现在用 C 语言来编写程序,所以这里就取“test.c”,单击“保存”.原来的那个“Text1” 的文件已经变成了我们刚才的那个“test.c”文件.见图 2-10 黑色箭头所指.
当你按上面的程序步骤完成之后,还是看见“Text1”没有变这“test.c”文件,那只是你的 keil 没有刷新,你把它最小化,然后再还原就可以了.
图 2-9
图 2-10
(7)完成上一步之后,回到了图 2-10 的编辑界面,单击“Target”前面的“+”号,然后在“Source Group 1”上右击一下,选中“Add Files to Group ,Source Group 1”就会弹出图 2-11 的对话框, 选择我们刚才建立的那个“test.c”的文件.
图 2-11
(8)选择完之后,我们已经发现那刚才在图 2-10 右边的“Source Group 1”下面多了一个“test.c”, 如图 2-12 所示.
图 2-12
(9)将文件加入“Source Group 1”之后,增加文件的对话框并没有消失.这时其对话框还在等待 添加其它的文件,如果你再单击“Add”,就会出现图 2-13 的对话框,其意思是提示用户所选的文 件已经在列表中.这时点击“确定”返回到增加对话框,然后点击“Close”返回主界面.再在 “Source Group 1”前面的“+”号中点击一下,你就会见到“test.c”这个文件已在工程当中.
图 2-13
到这里一个完整的项目工程就建立完成了,下面让我们来学习如何调试程序.
#include//包含所用单片机对应的头文件
void delay_ms (unsigned int time)//延时 1 毫秒程序,n 是形式参数
{
unsigned int i,j;
for (i=time;i>0;i--)//i 不断减 1,一直到 i>0 条件不成立为止
for (j=112;j>0;j--)//j 不断减 1,一直到 j>0 条件不成立为止
{;}
}
void main (void)
{
while (1)
{
P1=0x00;// 点亮 P1 端口
delay_ms (500);//把实际参数 500 传给 n,延时 500 毫秒,也就是 0.5 秒
P1=0xff;// 息灭 P1 端口
delay_ms (500);//把实际参数 500 传给 n,延时 500 毫秒,也就是 0.5 秒
}
}
上面是一个简单的 C 语言程序(程序附光盘中),只要将该程序的代码烧写到图 2-14 的电路中去, 实验板就会实现“亮,延时 500 毫秒,灭,延时 500 毫秒”这样不断循环闪烁.2-14 是实验板的流 水灯的电路.对于上面的程序,如果我们是一个初学者,可能还有好多问题是不明白的,是吗?在 这里我们暂时不用去管它,在以后节章中我们会详细去研究它,在这里只是让大家有一个初步的认 识.
图 2-14
把程序装入 keil 之后的画面如图 2-15.
图 2-15
更多:
详解 KEIL C51 软件的使用·设置工程·编绎与连接程序-CSDN博客