单片机基础原理keil使用教育教案
-/ keilkeil 教程教程 Keil 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿 真于一体,支持汇编,PLM 语言和 C 语言的程序设计,界面友好,易 学易用。下面介绍 Keil 软件的使用方法,这应该算一个入门教程,进入 Keil 后,屏幕如下图所示。几秒钟后出现编辑界 启动 Keil uVision4时的屏幕。 -/ 简单程序的调试学习程序设计语言、学习某种程序软件,最好的方 法是直接操作实践。 下面通过简单的编程、 调试, 引导大家学习 Keil C51 软件的基本使用方法和基本的调试技巧。 1) 对于单片机程序来说, 每个功能程序, 都必须要有一个配套的工程 (Project) ,即使是点亮 LED 这样简单的功能程序也不例外,因此我们 首先要新建一个工程,打开我们的 Keil 软件后,点击:ProjectNew uVision Project.然后会出现一个新建工程的界面,如图2-8所示。 2)因为是第一个实验,所以我们在硬盘上建立了一个 实验1 的目录, 然后把 LED 这个工程的路径指定到这里,这样方便今后管理程序,不 同的功能程序放到不同的文件夹下,并且给这个工程起一个名字叫做 LED,软件会自动添加扩展名 LED.uvproj。如图2-9所示。 下次要打开 LED 这个工程时,可以直接找到文件夹,双击这个.uvproj 文件就可以直接打开了。 -/ 图2-9保存工程 3)保存之后会弹出一个对话框,这个对话框让我们选择单片机型号。 因为 Keil 软件是外国人开发的,所以我们国内的 STC89C52RC 并没有 上榜,但是只要选择同类型号就可以了。 Keil 几乎支持所有的51核的单 片机,这里还是以大家用的比较多的 Atmel 的 AT89S51来说明,如下图 2-10、图2-11所示,选择 AT89S51之后,右边栏是对这个单片机的基本的 说明,然后点击确定。 -/ 图2-10 选择芯片公司 图2-11 选择具体芯片 -/ 4)点击OK 之后,会弹出一个对话框,如图 2-12所示,每个工程都需要 一段启动代码,如果点“否”编译器会自动处理这个问题,如果点“是”, 这部分代码会提供给我们用户,我们就可以按需要自己去处理这部分代 码, 那这部分代码在我们初学51的这段时间内, 一般是不需要去修改的, 但是随着技术的提高和知识的扩展,我们就有可能会需要了解这块内 容,因此这个地方我们选一下“是”,让这段代码出现,但是我们暂时不 需要修改它,大家知道这么回事就可以了。当然也可以选否! 图2-11启动代码选择 这样工程就建立好了, 如图2-12所示, 如果我们点击 Target 1左边的加号, 会出现我们刚才加入的初始化文件 STARTUP.A51 ,这个我们先不管。 -/ 图2-12 工程文件 到现在为止,我们还没有编写一句程序,下面开始编写我们的第一个 程序。 5) 工程有了之后,我们要建立编写代码的文件,点击FileNew 如图 2-13,新建一个文件,也就是我们编写程序的平台。新建文件后屏幕如 下图2-14所示 图2-13新建文件 -/ 图2-13 新建文件后 此时光标在编辑窗口里闪烁,这时可以键入用户的应用程序了,但笔者 建议首先保存该空白的文件, 然后点 FileSave 或者直接点击那个 Save 的快捷键,可以保存文件,屏幕如下图2-14所示,在“文件名”栏右侧的 编辑框中,键入欲使用的文件名,同时,必须键入正确的扩展名。用汇 编语言编写程序,则扩展名必须为(.asm)。然后,单击“保存”按钮。 -/ 图2-14保存文件 6) 现在我们就可以在我们建立好的文件中输入我们的程序代码了, 在 编写之前还有个工作要做。我们每做一个功能程序,必须要新建一个工 程,一个工程代表了单片机要实现的一个功能。但是一个工程,有时候 我们可以把我们的程序分多个文件写,所以每写一个文件,我们都要添 加到我们所建立的工程中去,回到编辑界面后,单击“Target 1”前面的 “+”号, 鼠标右键点 Source Group 1, 点 Add Files to Group ‘Source Group 1’.,如图2-15。(或者双击 Source Group 1也可以) -/ 图2-15 添加文件1 然后单击“Add File to Group ‘Source Group 1’”屏幕如下图所示 ,选 择文件类型的三角形下拉,选择类型 asm Source file -/ 图2-16 添加文件2 图2-17 添加文件3 -/ 选中 LED.asm,然后单击“Add ”屏幕,如图2-18所示(也可双击 LED.asm),注意只用 Add 一次,否则会提示已经存在,重复添加。如图 2-19. 图2-18添加文件3 图2-19 重复添加 如图2-20,注意到“Source Group 1”文件夹中多了一个子项 -/ “test.asm”了吗?子项的多少与所增加的源程序的多少相同。 图2-19 添加文件成功后 7)现在,请输入如下的汇编语言源程序: ORG 0000H; AJMP START; ORG 0030H; START: MOV P1,#11111110B; AJMP START; END 在输入上述程序时,读者已经看到了事先保存待编辑的文件的好处了 吧,即 Keil 会自动识别关键字,并以不同的颜色提示用户加以注意, 这样会使用户少犯错误,有利于提高编程效率。程序输入完毕后,如下 -/ 图2-20所示 图图2-202-20 编写程序编写程序 8)程序编好了,我们要对我们的程序进行编译,生成我们需要的可以 下载到单片机里的文件,在编译之前,我们先要勾选一个选项, ProjectOptions for Target ‘Target1’.,或者直接点图2-21 中红框内的快捷图标: 图2-21 工程选项图标 在弹出的对话框中,点击Target选项页: 图2-22 修改晶振11.0592M 在弹出的对话框中,点击 Output 选项页,勾选其中的“Create HEX -/ File”复选框,然后点 OK,如图2-22所示。 图2-22创建 HEX 文件 设置好以后呢,点击“Projectrebuild all target files”,或者 鼠标点击图2-23中红框内的快捷图标,就可以对程序进行编译了。 图2-23 编译程序 编译完成后,在我们的Keil下方的Output窗口会出现相应的提示,大家 注意看图2-24,这个窗口告诉我们编译完成后的情况,data=9.0,指的 是我们的程序使用了单片机内部的256字节RAM资源中的9个字节, code=68的意思是使用了8K代码Flash资源中的68个字节。当提示“0 Error(s), 3 warning(s)”表示我们的程序没有错误,有3个警告,就 会出现“creating hex file from “LED”.,意思是从当前工程生 成了一个HEX文件,我们要下载到单片机上的就是这个HEX文件。如果出 -/ 现有错误和警告提示的话,就是Error和warning不是0,(有Error是不 能编译通过的,是不能生成HEX文