购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2 KeilV808A的使用

2.2.1创建第一个KeilV808A的应用程序

在KeilV808A集成开发环境下是使用工程的方法来管理文件的,而不是单一文件的模式。所有文件包括源程序(包括C程序,汇编程序)、头文件,甚至说明性的技术文档都可以放在工程项目文件里统一管理。在使用KeilV808A前,应该习惯这种工程的管理方式,对于刚刚使用KeilV808A的用户来讲,一般可以按照下面的步骤来创建一个KeilV808A应用程序。(1)新建一个工程项目文件;

(2)为工程选择目标器件;

(3)为工程项目设置软硬件调试环境;

(4)创建源程序文件并输入程序代码;

(5)保存创建的源程序项目文件;

(6)把源程序文件添加到项目中。

下面以创建一个新的工程文件“LED”为例,详细介绍如何建立一个KeilV808A的应用程序。

(1)双击桌面的uVision3快捷图标,进入如图2-2所示的KeilV808A的集成开发环境,也许当前打开的界面与上面提到的有所不同,这是因为启动uVision3后,uVision3总是打开用户前一次正确处理的工程,这时可以单击工具栏的工程选项中的关闭工程命令关闭该工程。

img

图2-2KeilV808A的集成开发环境

(2)单击菜单栏的工程选项,在弹出如图2-3所示的下拉菜单中选择“新建→新建工程”命令,建立一个新的uVision3,这时出现一个如图2-4所示的项目文件保存对话框。首先需要为新建工程取一个名称,工程名应便于记忆且文件名不宜太长,接着选择工程存放的路径,建议为每个工程单独建立一个目录,并且工程中需要的所有文件都放在这个目录下。这里选择存盘路径为D:\示范程序\LED,输入项目名后,单击“保存”返回。

图2-3工程单栏的下拉菜单

图2-4 项目文件保存对话框

(3)在工程建立完毕后,uVision3会立即弹出如图2-5所示的器件选择窗口,器件选择的目的是告诉uVision3最终使用的80C51芯片是哪一个公司的哪一个型号,因为不同型号的51芯片内部的资源是不同的,uVision3可以根据选择进行SFR的预定义,在软硬件仿真中提供易于操作的外设浮动窗口等。

由图2-5可以看出,uVision3支持的所有器件的型号根据生产厂家形成器件组,用户可以根据需要选择相应的器件组并选择相应的器件型号,如Atmel器件组内的AT89C51。另外,如果用户在选择完目标器件后想重新改变目标器件,可单击菜单栏的工程选项,在弹出的如图2-6所示的下拉菜单中选择“为目标‘目标1’选择设备”命令,也将出现如图2-5所示的对话窗口,然后重新加以选择。由于不同厂家的许多型号性能相同或相近,因此如果用户的目标器件型号在uVision3中找不到,用户可以选择其他公司的相近型号。

图2-5器件选择窗口

图2-6 下拉菜单为目标‘目标1’选择设备

(4)到现在用户已经建立了一个空白的工程项目文件,并为工程选择好了目标器件,但是这个工程里没有任何程序文件。程序文件的添加必须人工进行,但如果程序文件在添加前还没有建立,用户还必须建立它。选择菜单栏的“文件”选项,在弹出的如图2-7所示的下拉菜单中选择“新建”命令,这时在文件窗口中出现如图2-8所示的新文件窗口Text1,如果多次执行“新建”命令,则会出现Text2、Text3等多个新文件窗口。

图2-7 下拉菜单新建命令

图2-8 新文件窗口

(5)现在LED.uV3项目中有了一个名为Text1的新文件框架,在这个源程序编辑框内输入自己的源程序Led1.c。在uVision3中,文件的编辑方法同其他文本编辑器是一样的,用户可以执行输入、删除、选择、复制和粘贴等基本文字处理命令。当然也可以使用其他编辑工具编写源程序,源程序编辑完毕后保存到磁盘中,uVision3中有文件变化感知功能,提示外部编辑器改变了该文件,是否需要把uVision3中的该文件刷新。选择“是”命令按钮,然后就可以看到uVision3中的源程序文件会自动刷新。下面是完整的Led1.c源程序代码,也可以在事先编辑好的文本编辑器中将其复制到自己的程序中,因此也可以采用这种编辑程序的方法来创建其他的程序文件。

(6)输入完毕后单击菜单栏的文件选项,在弹出的下拉菜单中选择保存命令存盘源程序文件,这时会弹出如图2-9所示的存盘源程序画面,在文件名栏内输入源程序的文件名,在此将Text1保存成Led1.c。注意由于KeilV808A支持汇编和C语言,且uVision3要根据后缀判断文件的类型,从而自动进行处理,因此存盘时应注意输入的文件名应带扩展名.ASM或.C。如果源程序文件是一个C语言源程序,则输入文件名称Led1.c。保存完毕后请注意观察,保存前后源程序有哪些不同,关键字是否变成蓝色。这也是用户检查程序命令行的好方法。

图2-9 存盘源程序画面

(7)需要特别提出的是,这个程序文件仅仅是建立而已,Led1.c文件到现在为止与LED.uV3工程还没有建立起任何关系。此时用户应该把Led1.c源程序添加到LED.uV3工程中,构成一个完整的工程项目。在“工程窗口”内,选中“源代码组1”后单击鼠标右键,在弹出如图2-10所示的快捷菜单中选择“添加文件到组‘源代码组1’”命令,此时会出现如图2-11所示的添加源程序文件窗口,选择刚才创建编辑的源程序文件Led1.c,单击“Add”命令即可把源程文件添加到项目中。因为添加源程序文件窗口中的默认文件类型是C SourceFile(*.c),所以在搜索显示区中可以很快找到Led1.c文件。

图2-10 快捷菜单“添加文件到‘组源代码组1’”命令

图2-11 添加源程序文件窗口

2.2.2程序文件的编译与链接

1 .编译链接环境设置

uVision3调试器可以调试用C51编译器和A51宏汇编器开发的应用程序。uVision3有两种工作模式,用户可以通过单击菜单栏中的“工程”选项,在弹出如图2-12所示的下拉菜单中选择“为目标‘目标1’设置选项”命令为目标设置工具选项,这时会出现如图2-13所示的调试环境设置窗口。

其中“项目”页可以对编译的内存模式进行设置,这里用默认的小模式,这时程序中没有注明的变量将编译在芯片内部的256字节里;程序空间大小,也用默认的64K模式,这个决定编译出来的代码主要是用长调用还是短调用,这些设置都是无所谓的了,仅仅是编译出来的程序大小有点差别而已,其他的设置都空着即可。

图2-12 下拉菜单标设置工具选项命令

图2-13 调试环境设置窗口

单击设置窗口的“输出”页,单击“产生HEX文件”前面的复选框,这样程序编译完成之后就会生成一个HEX目标文件。类似的,还可以选择生成一个lib库,但是现在还用不到。这个设置窗口如图2-14所示。

另外user,C51,A51,BL51locate,BL51Misc等几页都采用默认设置,等将来学习C51的高级应用时再设置,有关这方面的知识可参阅Keil的专门介绍。

图2-14 输出页设置窗口

从图2-15的“调试”页可以看出,uVision3的两种工作模式分别是软件模拟和硬件仿真。其中使用软件仿真器选项是将uVision3调试器设置成软件模拟仿真模式,在此模式下不需要实际的目标硬件就可以模拟80C51微控制器的很多功能,在准备硬件之前就可以测试应用程序,非常有用。

图2-15 “调试”页窗口

“调试”页中的“使用”选项中含有多个驱动方式选项,其中KeilMonitor-51 Driver适用于像AT89系列单片机综合仿真实验仪的用户目标系统,运用此功能用户可以把KeilV808A嵌入自己的系统中,从而实现在目标硬件上调试程序。若要使用硬件仿真,则应选择“使用”选项,并在该栏后的驱动方式选择框内选这时的驱动程序库。在此由于只需要调试程序,因此用户可以选择软件模拟仿真,在图2-15中的调试栏内选中“使用软件仿真器”选项,单击“确定”按钮加以确认,此时uVision3调试器及配置为软件模拟仿真。

2 .程序的编译与链接

完成以上的工作就可以编译程序了。单击“工程”选项,在弹出如图2-16所示的下拉菜单中选择“建立目标”命令对源程序文件进行编译,当然也可以选择“建立所有目标文件”命令对所有的工程文件进行重新编译,此时会在“输出窗口”输出一些相关信息,如图2-17所示。

图2-16 下拉菜单中选择“建立目标”命令

图2-17 “输出窗口”输出一些相关信息

其中第二行表示此时正在编译源程序Led1.c,第四行表示此时正在链接工程项目文件,第六行说明已生成目标文件Led1.hex,最后一行说明LED.uV3项目在编译过程中不存在错误和警告,编译链接成功。若在编译过程中出现错误,系统会给出错误所在的行和该错误提示信息,用户应根据这些提示信息,更正程序中出现的错误,重新编译直至完全正确为止。

至此一个完整的工程项目LED.uV3已经完成。一个符合要求的、好的工程项目往往还需要经软件模拟、硬件仿真、现场系统调试等反复修改和更新。 H3RznU46DNkhQem57Im+ddJQSCFZHpnJBXR/B8/rkMFFcYOymMtUf46ntUvYcueT

点击中间区域
呼出菜单
上一章
目录
下一章
×