基于proteus单片机实验讲义2007-12-06(3)

2019-08-31 09:07

面,要全部搞清可不容易,好在绝大部份设置项取默认值就行了。

?? Target 用户最终系统的工作模式的设定它决定用户系统的最终框架

?? Output 工程输出文件的设定例如是否输出最终的Hex 文件以及格式设定 ?? List 列表文件的输出格式设定 ?? C51 使用C51 处理的一些设定 ?? A51 使用A51 处理的一些设定

?? BL51 Location 连接时用户资源的物理定位 ?? BL51 MISC BL51 的一些附加设定 ?? Debug 硬件和软件仿真的设定

Target页:

图3-10 target 页

晶振频率选择:

晶振的选择主要是在软件仿真时起作用。μVision2 将根据您的输入频率来决定软件仿真时系统运行的时间和时序。这个设置在硬件仿真时完全没有作用。请用户注意,Xtal 后面的数值是晶振频率值,默认值是所选目标CPU 的最高可用频率值,该数值与最终产生的目标代码无关,仅用于软件模拟调试时显示程序执行时间。正确设置该数值可使显示时间与实际所用时间一致,一般将其设置成与你的硬件所用晶振频率相同,如果没必要了解程序执行的时间,也可以不设,这里设置为12。 存储器模式选择:

存储器模式有3 种可以选择:

??◆Small 没有指定区域的变量缺省放置在data 区域内 ??◆Compact 没有指定区域的变量缺省放置在pdata 区域内 ??◆Larger 没有指定区域的变量缺省放置在xdata 区域内

程序存储器选择:

Code Model 用于设置ROM 空间的使用,同样也有三个选择项: ◆Small模式,只用低于2K 的程序空间;

◆Compact 模式,单个函数的代码量不能超过2K,整个程序可以使用64K 程序空间;◆Larget 模式,可用全部64K 空间 Use on-chip ROM 选择项

确认是否仅使用片内ROM(注意:选中该项并不会影响最终生成的目标代码量); Operating 项:

操作系统选择Keil 提供了两种操作系统:Rtx tiny 和Rtx full,关于操作系统是另外一个很大的话题了,通常我们不使用任何操作系统,即使用该项的默认值:None(不使用任何操作系统);

Off Chip Code memory

用以确定系统扩展ROM 的地址范围,Off Chip xData memory 组用于确定系统扩展RAM 的地址范围,这些选择项必须根据所用硬件来决定,由于该例是单片应用,未进行任何扩展,所以均不重新选择,按默认值设置。

Output页

设置对话框中的OutPut 页面,如图3-11所示,这里面也有多个选择项:

图3-11 output页

Creat Hex file:用于生成可执行代码文件(可以用编程器写入单片机芯片的HEX 格式文件,文件的扩展名为.HEX),默认情况下该项未被选中,如果要写片做硬件实验,就必须选中该项,这一点是初学者易疏忽的,在此特别提醒注意。

Debug information :将会产生调试信息,这些信息用于调试,如果需要对程序进行调试,应当选中该项。

Browse information: 是产生浏览信息,该信息可以用菜单view->Browse 来查看,这里取默认值。

“ Select Folder for objects”是用来选择最终的目标文件所在的文件夹,默认是与工程文件在同一个文件夹中。

Name of Executable 用于指定最终生成的目标文件的名字,默认与工程的名字相同,这两项一般不需要更改。

工程设置对话框中的其它各页:

C51 编译选项、A51 的汇编选项、BL51 连接器的连接选项等用法有关,这里均取默认值,不作任何修改。以下仅对一些有关页面中常用的选项作一个简单介绍。

Listing 标签页用于调整生成的列表文件选项。在汇编或编译完成后将产生(*.lst)的列表文件,在连接完成后也将产生(*.m51)的列表文件,该页用于对列表文件的内容和形式进行细致的调节,其中比较常用的选项是“C Compile Listing”下的“Assemble Code”项,选中该项可以在列表文件中生成C 语言源程序所对应的汇编代码。

1.2.2工程的编译、连接

在设置好工程后,即可进行编译、连接。选择菜单Project->Build target,对当前工程进行连接,如果当前文件已修改,软件会先对该文件进行编译,然后再连接以产生目标代码;如果选择Rebuild All target files 将会对当前工程中的所有文件重新进行编译然后再连接,确保最终生产的目标代码是最新的。而Translate ?项则仅对该文件进行编译,不进行连接。以上操作也可以通过工具栏按钮直接进行。是有关编译、设置的工具栏按钮,从左到右分别是:编译、编译连接、全部重建、停止编译和对工程进行设置。编译过程中的信息将出现在输出窗口中的Build 页中,如果源程序中有语法错误,会有错误报告出现,双击该行,可以定位到出错的位置,对源程序反复修改之后,提示获得了名为test1.hex 的文件,该文件即可被编程器读入并写到芯片中,同时还产生了一些其它相关的文件,可被用于Keil 的仿真与调试,这时可以进入下一步调试的工作。

图3-12编译窗口

1.2.3 Keil 的调试

建立工程、汇编、连接工程,并获得目标代码,但是做到这一步仅仅代表你的源程序没有语法错误,至于源程序中存在着的其它错误,必须通过调试才能发现并解决,事实上,除了极简单的程序以外,绝大部份的程序都要通过反复调试才能得到正确的结果,因此,调试是软件开发中重要的一个环节。接下来我们将介绍常用的调试命令、利用在线汇编、各种设置断点进行程序调试的方法,并通过实例介绍这些方法的使用。

Keil 内建了一个仿真CPU 用来模拟执行程序,该仿真CPU 功能强大,可以在没有硬件和仿真机的情况下进行程序的调试,下面将要学的就是该模拟调试功能。不过在学习之前必须明确,模拟毕竟只是模拟,与真实的硬件执行程序肯定还是有区别的,其中最明显的就是时序,软件模拟是不可能和真实的硬件具有相同的时序的,具体的表现就是程序执行的速度和各人使用的计算机有关,计算机性能越好,运行速度越快。

在对工程成功地进行汇编、连接以后,按Ctrl+F5 或者使用菜单Debug->Start/Stop Debug Session 即可进入调试状态,进入调试状态后,界面与编辑状态相比有明显的变化,Debug 菜单项中原来不能用的命令现在已可以使用了,工具栏会多出一个用于运行和调试的工具条,Debug 菜单上的大部份命令可以在此找到对应的快捷按钮,从左到右依次是复位、运行、暂停、单步、过程单步、执行完当前子程序、运行到当前行、下一状态、打开跟踪、观察跟踪、反汇编窗口、观察窗口、代码作用范围分析、串行窗口、内存窗口、性能分析、工具按钮等命令。

图3-13 打开调试窗口

图3-14 调试菜单

学习程序调试,必须明确两个重要的概念,即单步执行与全速运行。全速执行是指一行程序执行完以后紧接着执行下一行程序,中间不停止,这样程序执行的速度很快,并可以看到该段程序执行的总体效果,即最终结果正确还是错误,但如果程序有错,则难以确认错误


基于proteus单片机实验讲义2007-12-06(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:国库会计数据集中系统业务操作规程(试行)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: