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

2019-08-31 09:07

出现在哪些程序行。单步执行是每次执行一行程序,执行完该行程序以后即停止,等待命令执行下一行程序,此时可以观察该行程序执行完以后得到的结果,是否与我们写该行程序所想要得到的结果相同,借此可以找到程序中问题所在。程序调试中,这两种运行方式都要用到。

1.2.3.1 Keil 程序调试窗口

图3-15 调试窗口

主寄存器窗口

显示修改主寄存器内容,例如A B SP 等特殊功能寄存器,该窗口可以切换成工程文件管理窗口或资料窗口。 源程序窗口

显示用户编写的源程序μVision2 支持源程序调试 外设窗口

显示或修改外设数据,例如T0 串口中断等内容。用户还可以打开其它外设。 反汇编窗口

显示或修改最终形成的汇编代码形式,

信息输出窗口

μVision2 给用户的提示信息输出, 命令输入窗口

用户可以输入控制命令包括显示资源设置断点单步运行等, 存储器窗口

批量显示或修改80C51 存储器资源,例如程序存储器数据存储器等。存储器地址输入。规定存储器窗口显示的存储器种类和地址范围。 变量观察窗口

显示或修改当前工程中定义的所有变量。

1.2.3.2 μVision2 窗口的启动或关闭

在μVision2 中任何窗口都可以显示或关闭。对于已经显示的窗口用户可以用鼠标点击该窗口上的Windows 标准关闭图标来关闭。该窗口对于没有显示的窗口用户可以点击菜单View 里面的不同选择用于开启或关闭不同的显示内容:

?? Project Windows 开启或关闭工程管理窗口主寄存器窗口资料窗口 ?? Output Windows 开启或关闭信息输出窗口 ?? Disassembly Windows 开启或关闭反汇编窗口 ?? Memory Windows 开启或关闭存储器窗口

?? Watch and Call Stack Windows 开启或关闭变量观察窗口

1.2.3.3 μVision2 中用户可以完成的操作

?? 查看内部所有的资源,对于80C51 内部的所有资源在μVision2 中都可以查看 ?? 内部可以直接寻址的数据存储器data ?? 内部只能间接寻址的数据存储器idata ?? 特殊功能寄存器SFR ,名称必须定义 ?? 外部数据存储器xdata ?? 程序代码空间code ?? 运行用户程序包括: ?? Step into 单步跟踪 ?? Step over 单步运行

?? Run till cursor 运行到光标处 ?? Run 全速运行

", 设置运行断点

1.2.3.4 程序复位

如果用户想重新开始运行用户程序,可以对用户程序进行复位,由于80C51 芯片复位后程序计数器器将从0000H 重新开始,复位后程序计数器PC 指针将复位成0000H 另外一些内部特殊功能寄存器在复位期间也将重新赋值。例如A 将变为00H, DPTR 变为0000H, SP 变为07H, I/O 口变为0FFH。程序的复位有以下几种办法实现:

??◆点击图标

??◆点击菜单Peripherals->Reset CPU ??◆在命令输入窗口输入 RESET

1.2.3.5断点

在μVision2 中在C 源程序窗口/汇编源程序窗口/反汇编窗口都可以在任何有效位置设置断点。断点的设置/取消操作也非常简单在三种窗口中如果您想在某一行设置断点只需要用鼠标左键双击该行,就可以在该行左边框发现红色的断点标志。断点的取消也是同样的操。

断点的管理

如果用户设置了很多的断点,可能存在着断点管理的问题。例如我想取消全部的断点全速运行,如果逐个的取消将是非常烦琐的事情。在μVision2 中有断点管理器点击Debug->Breaks,出现断点管理窗口

图 3-16 断点管理器

1.2.3.6 程序调试时的常用窗口

Keil 软件在调试程序时提供了多个窗口,主要包括输出窗口(Output Windows)、观察窗口(Watch&Call Statck Windows)、存储器窗口(Memory Window)、反汇编窗口(Dissambly Window)串行窗口(Serial Window)等。进入调试模式后,可以通过菜单View 下的相应命令打开或关闭这些窗口。

空间资源的查看和修改

在μVision2 的仿真环境中标准80C51 的所有有效空间资源都可以查看和修改μVision2 把空间资源分成几种类型加以管理。 data 空间:

内部可直接寻址RAM 或SFR 类型data 简称d。在标准80C51 中可直接寻址空间为0-0X7F 范围内的RAM 和0X80-0XFF 的SFR 特殊功能寄存器。在μVision2 中把它们组合成空间连续的可直接寻址的data 空间。 ??存储器窗口Memory Windows:存储器窗口的打开,点击View->Memory Windows 可以打开存储器窗口见图3-18如果窗口已打开,该窗口则会关闭。

图3-18 memory空间窗口

打开存储器窗口后可以看到,存储器地址输入栏用于输入空间类型和起始地址。在上图中d 表示data 区域,0 表示显示 起始地址,存储器地址栏显示每一行的起始地址便于观察和修改。data 区域的最大地址为0XFF。

存储器窗口组,分成独立的4 个组。每个组可以单独定义空间类型和起始地址点击组图标可以切换。

存储器窗口中数据的修改,存储器窗口 中的数据可以方便的修改,修改的方法是把鼠标移动到该数据的显示位置按动鼠标的右键,出现浮动菜单见图,

图3-19 memory空间窗口数据修改

选择Modify Memory at D 0X33 ,表示要改动data 区域OX33 地址的数据内容。选择后系统会出现输入栏,输入新的数值后点击OK 返回。 Idata空间:

内部可间接寻址RAM 类型idata 简称i。在标准51 中,可间接寻址空间为0-0xFF 范围内的RAM。其中地址范围0x00-0x7F 的RAM 既可间接寻址也可直接寻址,地址范围0x80-0xFF 的RAM 只能间接寻址,在μVision2 中把它们组合成空间连续的可间接寻址的idata 空间。idata 空间查看可以打开存储器窗口Memory Windows,在存储器地址输入栏输入的空间信息要变为i。例如要在存储器窗口显示起始地址为0x65 的idata 数据只要在存储器地址输入栏输入i 0x65。 Xdata空间:

外部数据空间XRAM 类型xdata 简称x。在标准80C51 中外部可间接寻址64K 地址范围的数据,存储器其读取的指令是MOVX 间接寻址寄存器是DPTR 或Ri。在μVision2 中把它们组合成空间连续的可间接寻址的xdata 空间。xdata 空间查看可以打开存储器窗口Memory Windows,在存储器地址输入栏输入的空间信息要变为x。 Code空间:

程序空间code 类型code 简称c。在标准80C51 中程序空间有64K 的地址范围程序存储器。在μVision2 中把它们组合成空间连续的可间接寻址的code 空间。Code空间数据可以打开存储器窗口Memory Windows,在存储器地址输入栏输入的空间信息要变为c。

工程窗口寄存器页

图3-20是工程窗口寄存器页的内容,寄存器页包括了当前的工作寄存器组和系统寄存器,系统寄存器组有一些是实际存在的寄存器如A、B、DPTR、SP、PSW 等,有一些是实际中并不存在或虽然存在却不能对其操作的如PC、Status 等。每当程序中执行到对某寄存器的操作时,该寄存器会以反色(蓝底白字)显示,用鼠标单击然后按下F2 键,即可修改该


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

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

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

马上注册会员

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