前言
对于单片机程序来说,每个功能程序都必须要有一个配套的工程(Project),即使是一个特别简单的功能程序也一样,因此我们首先要会使用软件建立工程文件。
1.Keil uVision4是什么?
Keil uVision4是一款兼容单片机软件开发系统。
1.1.系统概述
Keil uVision4软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil的优势。下面详细介绍Keil uVision4开发系统各部分功能和使用。
1.2.Keil C51单片机软件开发系统的整体结构
uVision4工具包的整体结构,μVision与Ishell分别是C51 for Windows 和for Dos 的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.obj)。目标文件可由LIB51 创建生成库文件,也可以与库文件一起经L51 连接定位生成绝对目标文件(.abs)。abs文件由OH51 转换成标准的hex 文件,以供调试器dScope51 或tScope51 使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。
使用独立的Keil仿真器时,注意事项
*仿真器标配11.0592MHz的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。
*仿真器上的复位按钮只复位仿真芯片,不复位目标系统。
- 仿真芯片的31脚(/EA)已接至高电平,所以仿真时只能使用片内ROM,不能使用片外ROM;但仿真器外引插针中的31脚并不与仿真芯片的31脚相连,故该仿真器仍可插入到扩展有外部ROM(其CPU的/EA引脚接至低电平)的目标系统中使用。
2.建立一个工程
建立一个LED的工程。 打开Keil软件后就会进入一个界面 ,如图: 点击工程(Project)然后点击New uVision Project,就会出现一个新建工程界面,如图:
在硬盘上建立一个任意的目录(例:lesson2)中英文都可以,然后将LED这个工程的路径指定到这里,方便以后的管理程序,不同功能的程序放到不同的文件夹下,并给这个工程起名叫LED,软件会自动添加扩展名.uvproj,如上图。
直接单击“保存”按钮,工程会自动保存为LED.uvproj文件,下次要打开LED这个工程时,可以直接找到文件夹,双击.uvproj即可打开。
保存之后会弹出一个对话框,如图: 这个对话框是用来选择单片机的型号的,由于该软件为外国开发的,所以我们国产的STC89C52芯片没有上榜,但是只要选择同类型号的即可,因为51单片机的内核是由Intel公司制造的,所以在这里直接选择Intel公司名下的80/87C52系列的或Atmel公司名下的AT89系列的即可,不会对后续的编程有任何影响。国产的STC89C52芯片完全兼容这些型号的芯片。如图: 在此我选择的是Atmel公司的AT89C52芯片,单击“确定”后,会弹出一个对话框,如图: 每个工程都需要一个启动代码,如果单击“否”按钮,编译器会自动处理这个问题,如果单击“是”按钮,这段代码就会提供给用户,用户就可以根据自己的需要来处理这部分代码,那部分的代码在初学51单片机的时候是不需要去修改的,但是随着技术的提高和知识的扩展,就可能会需要了解了,在此我们基本不需要了解。
单击“否”之后我们工程就建立完成了,如图所示: 工程有了之后,就需要建立一个编写代码的文件,单击文件(File)后点击新建(New),如图: 建立一个文件,也就是编写程序的平台。然后单击Save,就可以保存文件,在保存的同时把它命名为LED.c,这个地方必须加上.c,因为如果写汇编语言,这个地方的扩展名为.asm,头文件是.h等,这里编写C语言程序,就必须自己添加文件的扩展名.c,如图: 现在就可以在建立好的文件中输入程序代码了,在编写代码之前还要做个工作。每做一个功能程序,必须要新建一个工程,一个工程代表了单片机要实现的一个功能。但是一个工程有时候可以把程序分成多个文件来写,即把程序模块化。所以每写一个文件,都要添加到所建立的工程中去,右击源组1(Source Group 1),单击添加文件到“源组1”…(Add Files to Group ’ Source Group 1’…)或直接双击源组1(Source Group 1),如图: 在弹出的对话框中选择LED.c,然后单击添加(Add)按钮,或双击LED.c都可以将文件添加到该工程目录下,然后单击关闭(Close)按钮,关闭添加,如图: 这个时候会看到在源组1(Source Group 1)下多了一个LED.cw文件,如图: 此时所有的步骤都完成了,可以开始编写程序了。
在上述的文字中括号里为在软件中对应的英文,由于我本人使用的是中文破解版,所有的图片中都是中文。
对于程序的编译和导出在后续的文章中会有,在此便不做介绍。
|