单片机原理及应用实验指导书11春 下载本文

通过 Memory 窗口修改数据:在 Memory 窗口中显示的数据可以修改。例如,要改动 data 区域 OXE0 地址的数据内容:把鼠标移动到该数据的显示位置,按动鼠标右键在弹出的菜单中选中:更新储存器“Modify Memory at D:0xE0” ,在弹出对话框的文本输入栏内输入相应数值,按回车键或点击 OK,修改完成。

通过命令行查看数据:例如,我们想查看 data 空间从 0x01 到 0x03 地址的内容,可在命令输入窗口输入“d d:0x01,03H” ,回车即可完成,d 表示 data 空间,0x01 表示起始地址,03H 表示结束地址(注意两种 16 进制的表示 方法在这里都可以接受),输出结果在信息输出窗口中显示出来。

通过命令行修改数据:例如,我们想把 p1口的值从0x02数据修改成 0x05 ,可在命令输入窗口输入p1=0x04”,回车即可完成,此时如果p1口接有led,将立即看到led状态改变。通过 Memory 窗口可以看到修改后的数据:在地址栏输入 d:00H然后回车。储存器1 的d:0x90后的第一个数据就变成了04 ,这正是我们刚才修改的结果。

28

(7)观察/修改变量的值

在暂停程序运行时,可以观察到有关的变量值。在监视/调用堆栈(Watch)窗口“局部”页自动显示当前正在使用的局部变量,不需要用户自己添加。监视(Watch)页显示用户指定的程序变量。(先按F2键,然后输入变量的名称例如“delay”然后回车)

移动鼠标光标到要观察的变量“delay”上停留大约一秒钟,就弹出一个“变量提示”块出来。

29

将鼠标移动到一个变量名“D1”的上面,点击鼠标右键,出现快捷菜单,选中:“增加D1到观察窗口” (Add “D1” to Watch Windows?) 选项,子菜单中会出现#1 和#2 的选项,点击后该变量就会加入对应的监视/调用堆栈(Watch) 窗口。

增加D1到观察窗口” (Add “d1” to Watch Windows?) 选项后 对应的监视窗口显示了D1 的值。

修改变量的数值方法:用鼠标左键点击该行的变量数据栏,然后按 F2 键出现文本输入栏后,输入修改的数据,确认正确后按回车键。

(8)复位

如果用户想重新开始运行用户程序,可以点击工具栏上的复位按钮,对仿真器的用户程序进行复位。仿真器复位后,程序计数器 PC 指针将复位成 0000H, 另外,一些内部特殊功能寄存器在复位期间也将重新赋值,例如 A 将变为 00H, DPTR 变为 0000H, SP 变为 07H, I/O 口变为 0FFH,此时用户板上的P1 口所接 LED 指示灯会全部熄灭。

9.设置断点

将光标移至待设置断点的源程序行,如 “D0: MOV R1,#83H”行。点击工具栏上的“断点”图标,可以看到源程序窗口中该行的左边出现了一个红色的断点标记 。(如果再点一下这个图标则清除这个断点)同样的方法, 您可以设置多个断点。

30

(10)带断点的全速运行

按动 F5 启动全速运行,全速执行程序,当程序执行到第一个断点时,会暂停下来,这时你可以观察程序中各变量的值及各端口的状态。此时用户目标板上会显示当前断点的状态,继续按动 F5 启动全速运行,程序执行到第二个断点时(如果总共设置了两个断点),会暂停下来;继续按动 F5 启动全速运行,程序又会执行到第一个断点处暂停,此时用户目标板上的灯又显示相应的状态。断点是仿真器调试的重要手段,请您仔细反复的练习直到熟练。 (11)清除程序中所有断点

如果想取消全部的断点全速运行时,要是逐个取消将是很烦琐的事,我们只要点击工具栏相应的图标,就可清除程序中所有断点。 (12)执行到光标处

在体验“执行到光标处”之前,我们先点击工具栏上复位的图标,对仿真器的用户程序进行复位, 把鼠标放在想要停止的行点一下,再按“执行到光标处”程序全速执行到光标所在行,这与我们在前面看到的带断点的全速运行相类似。 (13)退出仿真

先按暂停按钮,再按复位,再按开启/关闭调试模式按钮,则退出仿真状态,就又重新回到编辑模式。(如果不能正确退出,请按一下仿真器上的复位按钮) 此时可以对程序修改, 然后重新编译,再按开启/关闭调试模式按钮,就又进入仿真模式了。

请注意!由于KEIL软件在仿真状态时和仿真器始终保持通信联系,为此退出仿真的时候最好按照以上顺序退出,不要强行退出,否则容易造成电脑死机。

到这里也就完成了keil软件的标准操作过程,由于KEIL操作过程较复杂,请同学们自行练习直到熟练!

31