单片机接口实验指导书(2)

2019-02-16 01:12

图3 Keil Uvision2 IDE 的组成

2.2 Keil uVision2软件的使用步骤 2.2.1.建工程。打开Keil uVision2软件,选择Project/New project…,将弹出一个Creat New Project的对话框,选择要存放的文件夹,输入文件名(不需要加扩展名)。如下图所示。

图4 建立工程

选择SST89E564RD芯片,点击确定。

图5 选择芯片

2.2.2在工程下新建文件。点击File/New 或点击图标入Text1,然后点击File/Save或点击图标

, 出现Text1界面,将程序写

,将弹出如下界面:

图6保存源文件

输入文件名,如果是汇编语言文件名后要加上.asm的扩展名,如果是用c语言编写则扩展名是.c。点击保存。会发现所有关键词变成蓝色,可以用这种方式初步检查程序有无错误。 2.2.3.将文件加入工程中。右键点击左侧的Source Group 1,选择Add Files to Group ‘Source Group 1’.

图7加入文件

选择要添加的源文件,点击Add。完成设置。

2.2.4.设置目标选项。点击工具条中的图标。在“Target”标签下修改“Xtal (Mhz) ”

为单片机的晶体振荡频率,选中Use On-chip ROM。

图8 参数设置窗口

在“Output”标签下,选中“Create HEX file”(生成hex文件用编程器写到目标板的SST89E564RD单片机中)。

图9 设置是否生成.hex目标文件

在“debug”标签中选中“Use keil monitor-51 driver”,此时可以进行串口连接目标电路板进行仿真调试,如果选中“Use Simulator”,则仅仅只进行软件仿真。

图10 调试相关参数设置

用鼠标左键单击“Setting”按键,根据你用的串口用鼠标选择Port,左键单击“ok”按键,选中“Load Application at Start”和“Go till main()”。

图11 串口参数设置 其余可以按默认值不需修改,点击“确定”完成设置。 2.2.5 编译。点击Project/Build target或者

,即完成了编译。在Keil界面的最下面的界

面中会显示Error和Warning.如果源程序中有语法错误,会有错误报告出现,双击该行,可

以定位到出错的位置,对源程序反复修改之后,最终会得到如图6所示的结果,提示获得了名为**.hex的文件,该文件即可被编译器读入并写到芯片中,同时还产生了一些其它相关的文件,可被用于Keil的仿真与调试,这时可以进入下一步调试的工作。

图12 正确编译、连接之后的结果

2.2.6 调试。在对工程成功地进行汇编、连接之后,使用菜单Debug/Start/Stop Debug Session即可进入调试状态,仿真CPU用来模拟执行程序,可以在没有硬件和仿真机的情况下进行程序的调试。进入调试状态后,工具栏会多出一个用于运行和调试的工具条。如图7所示,Debug菜单上的大部分命令可以在此找到对应的快捷按钮,从左到右依次是复位、运行、暂停、单步、过程单步、执行完当前子程序、运行到当前行、下一步状态、打开跟踪、观察跟踪、反汇编窗口、观察窗口、代码作用范围分析、1#串行窗口、内存窗口、性能分析、工具按钮等命令。点击工具条中选项即可以进行调试程序。

图13调试工具条

学习程序调试,必须明确两个重要的概念,即单步执行与全速执行。全速执行是指一行程序执行完以后紧接着执行下一行程序,中间不停止,这样程序执行的速度很快,并可以看到该段程序执行的总体效果,即最终结果正确还是错误,但如果程序有错,则难以确认出现在哪些程序行。单步执行时每次执行一行程序,执行完该行程序以后即停止,等待命令执行下一行程序,此时可以观察该行程序执行完以后得到的结果,是否与我们写该行程序所想要得到的结果相同,借此可以找到程序中问题所在。程序调试中,这两种运行方式都要用到。使用菜单STEP或相应的命令按钮或使用快捷键F11可以单步执行程序,使用菜单STEP OVER或功能键F10

可以以过程单步形式执行命令,所谓过程单步,是指将 图14 调试窗口 汇编语言中的子程序或高级语言中的函数作为一个语句来全速执行。按下F11键,可以看到源程序窗口的左边出现了一个黄色调试箭头,指向源程序的第一行,如图11所示。每按一次F11,即执行该箭头所指程序行,然后箭头指向下一行,当箭头指向LCALL DELAY行时,再次按下F11,会发现,箭头指向了延时子程序DELAY的第一行。不断按F11键,即可逐步执行延时子程序。

通过单步执行程序,可以找出一些问题的所在,但是仅依靠单步执行来查错有时是困难的,或虽能查出错误但效率很低,为此必须辅之以其他的方法,如本例中的延时程序是通过将D2:DJNZ R6,D2这一行程序执行六万多次来达到延时的目的,如果用按F11六万多次的方法来执行完该程序行,显然不合适,为此,可以采取以下一些方法,第一,用鼠标在子程序的最后一行(ret)点一下,把光标定位于该行,然后用菜单Debug/Run to Cursor line


单片机接口实验指导书(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:第二章 第二节

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

马上注册会员

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