Keil 基本概况介绍
首先,我们用 Keil 先打开一个现成的工程,来认识一下 Keil 软件,如图 1-7 所示。
1. 关于 Keil 软件里边的字体大小和颜色设置。在菜单 Edit-->Configuration-->Colors &Fonts 里边,可以进行字体类型、颜色、大小的设置,
因为我们用的是 C 语言编程,所以我们在 Window 栏中选择 8051:Editor C Files,然后在 右侧 Element 栏目里可以选择要修改的内容,一般我们平时用到的,只是其中几项而已,比 如:Text——普通文本、Text Selection——选中的文本、Number——数字、/*Comment*/—— 多行注释、//Comment——单行注释、Keyword——C 语言关键字、String——字符串,Keil 本身都是有默认设置的,可以直接使用默认设置,但如果你觉得不合你的口味,那就在这里 更改一下,改完后直接点 OK 看效果就可以了。
2.学习一种编程语言,最重要的是建立一个练习环境,边学边练才能学好。Keil软件是目前最流行开发80C51系列单片机的软件,Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境,将这些部份组合在一起。
新建一个工程
对于单片机程序来说,每个功能程序,都必须要有一个配套的工程(Project),即使是点 亮 LED 这样简单的功能程序也不例外,因此我们首先要新建一个工程,打开我们的 Keil 软 件后,点击:Project-->New uVision Project...然后会出现一个新建工程的界面,们在硬盘上建立了一个 lesson2 的目录,然后把 LED 这 个工程的路径指定到这里,这样方便今后管理程序,不同的功能程序放到不同的文件夹下, 并且给这个工程起一个名字叫做 LED,软件会自动添加扩展名.uvproj
我们直接点保存就可以了,工程会自动保存成 LED.uvproj 文件,下次要打开 LED 这个 工程时,可以直接找到文件夹,双击这个.uvproj 文件就可以直接打开了。 保存之后会弹出一个对话框,这个对话框让我们选择单片机型号
点击 OK 之后,会弹出一个对话框,如图 2-11 所示,每个工程都需要一段启动代码,如 果点“否”编译器会自动处理这个问题,如果点“是”,这部分代码会提供给我们用户,我 们就可以按需要自己去处理这部分代码,那这部分代码在我们初学 51 的这段时间内,一般 是不需要去修改的,但是随着技术的提高和知识的扩展,我们就有可能会需要了解这块内容, 因此这个地方我们选一下“是”,让这段代码出现,但是我们暂时不需要修改它,大家知道 这么回事就可以了。
这样工程就建立好了,如图 2-12 所示,如果我们点击 Target 1 左边的加号,会出现我们 刚才加入的初始化文件 STARTUP.A51,这个我们先不管
工程有了之后,我们要建立编写代码的文件,点击 File-->New,如图 2-13,新建一个文 件,也就是我们编写程序的平台。然后点 File-->Save 或者直接点击那个 Save 的快捷键,可 以保存文件,保存时我们把它命名为 LED.c,这个地方必须加上.c,因为如果写汇编语言, 这个地方的扩展名是.asm,头文件就是.h 等等,我们编写的是 C 语言程序,这个地方必须自 己添加文件的扩展名.c,
现在我们就可以在我们建立好的文件中输入我们的程序代码了,在编写之前还有个工作 要做。我们每做一个功能程序,必须要新建一个工程,一个工程代表了单片机要实现的一个 功能。但是一个工程,有时候我们可以把我们的程序分多个文件写,所以每写一个文件,我 们都要添加到我们所建立的工程中去,鼠标右键点 Source Group 1,点 Add Files to Group ‘Source Group 1’...
在弹出的对话框中,单击 LED.c 选中它,然后点 Add,或者直接双击 LED.c 都可以将文 件加入到这个工程下,然后单击 Close,关闭添加。这个时候大家会看到在 Source Group 1 下边又多了一个 LED.c 文件
程序编好了,我们要对我们的程序进行编译,生成我们需要的可以下载到单片机里的文 件,在编译之前,我们先要勾选一个选项,Project-->Options for Target ‘Target1’...,或者直接 点图 2-17 中红框内的快捷图标:
在弹出的对话框中,点击 Output 选项页,勾选其中的“Create HEX File”复选框,然后 点 OK
并且看Target中精度是否为你晶振的频率
设置好以后呢,点击“Project-->rebuild all target files”,或者鼠标点击图 2-19 中红框内的 快捷图标,就可以对程序进行编译了
编译完成后,在我们的 Keil 下方的 Output 窗口会出现相应的提示,大家注意看图 2-20, 这个窗口告诉我们编译完成后的情况,data=9.0,指的是我们的程序使用了单片机内部的 256 字节 RAM 资源中的 9 个字节,code=29 的意思是使用了 8K 代码 Flash 资源中的 29 个字节。 当提示“0 Error(s), 0 warning(s)”表示我们的程序没有错误和警告,就会出现“creating hex file from “LED”...,意思是从当前工程生成了一个 HEX 文件,我们要下载到单片机上的就是这个 HEX 文件。如果出现有错误和警告提示的话,就是 Error 和 warning 不是 0,那么我们就要对 程序进行检查,找出问题,解决好了再进行编译产生 HEX 才可以。