预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

51TRACER仿真调试高级技巧 进入调试状态后,Debug菜单项中的命令可以使用了,有关编译的工具栏按钮消失了,出现了一个用于运行和调试的工具栏,Debug菜单上的大部份命令都有相应的快捷按钮。 从左到右依次是复位、运行、暂停、单步跟踪、单步、执行完当前子程序、运行到当前行、下一状态、打开跟踪、观察跟踪、反汇编窗口、观察窗口、代码作用范围分析、1#串行窗口、内存窗口、性能分析、工具按钮命令; 然后按一下图示第二个“运行”按钮。连接上相关的实验资源,本实验用一条8PIN的数据排线把实验仪的CPU部份的P1口(JP44)连接到八路指示灯部份的JP32。这时你会看到实验仪的八个红色LED,轮流点亮,表示运行成功,也可以查看相关的变量和参数,非常方便。 ⒈单步跟踪运行 使用菜单Debug->Step或上图第四个单步运行按钮或使用快捷键F11可以单步跟踪执行程序,在这里我们按下F11键,即可执行该箭头所指程序行,每按一次F11,可以看到源程序窗口的左边黄色调试箭头指向下一行,如果程序中有Delay延时子程序,则会进入延时程序中运行。 ⒉单步运行 如果Delay程序有错误,可以通过单步跟踪执行来查找错误,但是如果Delay程序已正确,每次进行程序调试都要反复执行这些程序行,会使得调试效率很低,为此,可以在调试时使用F10来替代F11(也可使用菜单StepOver或相应的命令按钮),在main函数中执行到Delay时将该行作为一条语句快速执行完毕。为了更好的进行对比,我们重新进入仿真环境,将反汇编窗口关闭,不断按F10键,可以看到在源程序窗口中的左边黄色调试箭头 不会进入到延时子程序。 ⒊全速运行 点击工具栏上的“运行”按钮或按F5键启动全速运行,全速执行程序,此时用户板上的P1口所接LED以流水灯状态显示。 ⒋暂停 点击工具栏上的按钮,此时用户板上的P1口所接LED停止以流水灯状态显示,只有一个LED灯点亮(取决于暂停前的P1的值)。 ⒌观察/修改寄存器的值 Project窗口在进入调试状态后显示Regs页的内容,包括工作寄存器R0~R7的内容和累加器A、寄存器B、堆栈指针SP的内容。 用户除了可以观察以外还可自行修改,例如将寄存器a的值0x62改为0x85。 方法一:用鼠标点击选中单元a,然后再单击其数值位置,出现文字框后输入0x85按回车键即可; 方法二:在命令行窗口,输入A=0x85,按回车键将把A的数值设置为0x85 6.观察/修改存储器的数据 点击菜单“视图View->储存器窗口MemoryWindows”,便会打开储存器Memory窗口(如窗口已打开,则会关闭),Memory窗口可以同时显示4个不同的存储器区域,点击窗口下部分的编号可以相互切换显示。 在储存器1(Memory#1)的地址输入栏内输入“D:0e0h”,按回车键后,可以从内部可直接寻址RAM的e0H地址处开始显示,e0H地址的值就是寄存器a的值,应与主寄存器窗口下的值相同。 点击窗口下部分的储存器2(Memory#2),在Address输入栏内输入“D:0e0h”,按回车键后,可以从内部可间接寻址RAM的e0H地址处开始显示。 点击窗口下部分的Memory#3,在Address输入栏内输入“C:0x0021”,按回车键后,可以从代码区域0000H地址处开始显示,这时各地址值应与在反汇编窗口中的值相同。 点击窗口下部分的Memory#4,在Address输入栏内输入“X:00h”,按回车键后,可以从xdataRAM区域0000H地址处开始显示。 通过Memory窗口修改数据 在Memory窗口中显示的数据可以修改。例如,要改动data区域OXE0地址的数据内容: 把鼠标移动到该数据的显示位置,按动鼠标右键在弹出的菜单中选中:更新储存器“ModifyMemoryatD:0xE0”,在弹出对话框的文本输入栏内输入相应数值,按回车键或点击OK,修改完成。 通过命令行查看数据 例如,我们想查看data空间从0x01到0x03地址的内容,可在命令输入窗口输入“dd:0x01,03H”,回车即可完成,d表示data空间,0x01表示起始地址,03H表示结束地址(注意两种16进制的表示方法在这里都可以接受),输出结果在信息输出窗口中显示出来。 通过命令行修改数据 例如,我们想把p1口的值从0x02数据修改成0x04,可在命令输入窗口输入p1=0x04”,回车即可完成,此时如果p1口接有led,将立即看到led状态改变。 通过Memory窗口可以看到修改后的数据: 在地址栏输入d:00H然后回车。储存器1的d:0x90后的第一个数据就变成了04,这正是我们刚才修改的结果。 7.观察/修改变量的值 在暂停程序运行时,可以观察到有关的变量值。 在监视/调用堆栈(Watch