正在加载图片...
Keil软件实例教程(三) 显示、将相邻四字节组成长整型方式显示,而 Unsigned和 Signed则分别代表无符号形式和 有符号形式,究竟从哪一个单元开始的相邻单元则与你的设置有关,以整型为例,如果你输 入的是1:0,那么00H和0H单元的内容将会组成一个整型数,而如果你输入的是I:1,OlH 和02H单元的内容全组成一个整型数,以此类推。有关数据格式与C语言规定相同,请参 考C语言书籍,默认以无符号单字节方式显 Enter Byte()atI:0x0 示。第三部份的 Modify Memory at X: XX用于nt Example: 1, 2, 更改鼠标处的内存单元值,选中该项即出现如 图3所示的对话框,可以在对话框内输入要修 改的内容 Cancel 图3存储器的值的修改 2、工程窗口寄存器页 图4是工程窗口寄存器页的内容,寄存器页包括了当前的工作寄存器组和系统寄存器, 系统寄存器组有一些是实际存在的寄存器如A、B、DPIR、SP、PSW等,有一些是实际中 并不存在或虽然存在却不能对其操作的如PC、 Status等。每当程序中执行到对某寄存器的 操作时,该寄存器会以反色(蓝底白字)显示,用鼠标单击然后按下F2键,即可修改该值 3、观察窗口 观察窗口是很重要的一个窗口,工程窗口中仅可以观察到 工作寄存器和有限的寄存器如A、B、DPTR等,如果需要观[ay 察其它的寄存器的值或者在高级语言编程时需要直接观察变 量,就要借助于观察窗口了 其它窗口将在以下的实例中介绍 一般情况下,我们仅在单步执行时才对变量的值的变化感 兴趣,全速运行时,变量的值是不变的,只有在程序停下来之 0x00 DsoE Oxo 合下我们也可能需要在全速运行时观察变量的变化此时可以国曰一-回 点击view-> Periodic Window Updata(周期更新窗口),确认该 项处于被选中状态,即可在全速运行时动态地观察有关值的变图4工程窗口寄存器页 化。但是,选中该项,将会使程序模拟执行的速度变慢。 二、各种窗口在程序调试中的用途 以下通过一个高级语言程序来说明这些窗口的使用。例2: #include"regal.h t unsigned int i; sbtP10=P1^0;∥定义P10 for(;){ mDelay(10);∥延时10 void mDelay(unsigned char Delay Time)毫秒 for( Delay Time>0; Delay Time--) if(i==10) forj=0j<125j++){} Pl0=P10; 这个程序的工作过程是:不断调用延时程序,每次延时10毫秒,然后将变量I加1,随 后对变量I进行判断,如果I的值等于10,那么将P1.0取反,并将I清0,最终的执行效果Keil 软件实例教程(三) 显示、将相邻四字节组成长整型方式显示,而 Unsigned 和 Signed 则分别代表无符号形式和 有符号形式,究竟从哪一个单元开始的相邻单元则与你的设置有关,以整型为例,如果你输 入的是 I:0,那么 00H 和 01H 单元的内容将会组成一个整型数,而如果你输入的是 I:1,01H 和 02H 单元的内容全组成一个整型数,以此类推。有关数据格式与 C 语言规定相同,请参 考 C 语言书籍,默认以无符号单字节方式显 示。第三部份的 Modify Memory at X:xx 用于 更改鼠标处的内存单元值,选中该项即出现如 图 3 所示的对话框,可以在对话框内输入要修 改的内容。 2、工程窗口寄存器页 图 4 是工程窗口寄存器页的内容,寄存器页包括了当前的工作寄存器组和系统寄存器, 系统寄存器组有一些是实际存在的寄存器如 A、B、DPTR、SP、PSW 等,有一些是实际中 并不存在或虽然存在却不能对其操作的如 PC、Status 等。每当程序中执行到对某寄存器的 操作时,该寄存器会以反色(蓝底白字)显示,用鼠标单击然后按下 F2 键,即可修改该值。 3、观察窗口 观察窗口是很重要的一个窗口,工程窗口中仅可以观察到 工作寄存器和有限的寄存器如 A、B、DPTR 等,如果需要观 察其它的寄存器的值或者在高级语言编程时需要直接观察变 量,就要借助于观察窗口了。 其它窗口将在以下的实例中介绍。 一般情况下,我们仅在单步执行时才对变量的值的变化感 兴趣,全速运行时,变量的值是不变的,只有在程序停下来之 后,才会将这些值最新的变化反映出来,但是,在一些特殊场 合下我们也可能需要在全速运行时观察变量的变化,此时可以 点击 View->Periodic Window Updata(周期更新窗口),确认该 项处于被选中状态,即可在全速运行时动态地观察有关值的变 化。但是,选中该项,将会使程序模拟执行的速度变慢。 二、各种窗口在程序调试中的用途 以下通过一个高级语言程序来说明这些窗口的使用。例 2: #include "reg51.h" sbit P1_0=P1^0; //定义 P1.0 void mDelay(unsigned char DelayTime) { unsigned int j=0; for(;DelayTime>0;DelayTime--) { for(j=0;j<125;j++) {;} } } void main() { unsigned int i; for(;;){ mDelay(10); // 延 时 10 毫秒 i++; if(i==10) { P1_0=!P1_0; i=0; } } } 这个程序的工作过程是:不断调用延时程序,每次延时 10 毫秒,然后将变量 I 加 1,随 后对变量 I 进行判断,如果 I 的值等于 10,那么将 P1.0 取反,并将 I 清 0,最终的执行效果 图 4 工程窗口寄存器页 图 3 存储器的值的修改
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有