- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
keil教程3
Keil 软件实例教程(三)
Keil 程序调试窗口
上一讲中我们学习了几种常用的程序调试方法,这一讲中将介绍 Keil 提供各种窗口如
输出窗口、观察窗口、存储器窗口、反汇编窗口、串行窗口等的用途,以及这些窗口的使用
方法,并通过实例介绍这些窗口在调试中的使用。
一、程序调试时的常用窗口
Keil 软件在调试程序时提供了多个窗口,主要包括输出窗口(Output Windows )、观察
窗口(WatchCall Statck Windows )、存储器窗口(Memory Window )、反汇编窗口(Dissambly
Window )串行窗口(Serial Window)等。进入调试模式后,可以通过菜单View 下的相应命
令打开或关闭这些窗口。
图1 是输出窗口、观察窗口和存储器窗口,各窗口的大小可以使用鼠标调整。进入调试
程序后,输出窗口自动切换到Command 页。该页用于输入调试命令和输出调试信息。对于
初学者,可以暂不学习调试命令的使用方法。
图1 调试窗口(命令窗口、存储器窗口、观察窗口)
1、存储器窗口
存储器窗口中可以显示系统中各种内存中的值,通过在Address 后的编缉框内输入“字
母:数字”即可显示相应内存值,其中字母可以是C、D 、I、X ,分别代表代码存储空间、
直接寻址的片内存储空间、间接寻址的片内存储空间、扩展的外部RAM 空间,数字代表想
要查看的地址。例如输入D :0 即可观察到地址0 开始的片内RAM 单元值、键入C :0 即
可显示从0 开始的ROM 单元中的值,即查看程序的二进制代码。该窗口的显示值可以以各
种形式显示,如十进制、十六进制、字符型等,改变显示方式的方法是点鼠标右键,在弹出
的快捷菜单中选择,该菜单用分隔条分成三部份,其中第一部份与第二部份的三个选项为同
一级别,选中第一部份的任一选项,内
容将以整数形式显示,而选中第二部份
的 Ascii 项则将以字符型式显示,选中
Float 项将相邻四字节组成的浮点数形
式显示、选中Double 项则将相邻8 字节
组成双精度形式显示。第一部份又有多
个选择项,其中Decimal 项是一个开关,
如果选中该项,则窗口中的值将以十进
制的形式显示,否则按默认的十六进制
图2 存储器数值各种方式显示选择
方式显示。Unsigned 和Signed 后分别有
三个选项:Char、Int 、Long ,分别代表以单字节方式显示、将相邻双字节组成整型数方式
Keil 软件实例教程(三)
显示、将相邻四字节组成长整型方式显示,而Unsigned 和Signed 则分别代表无符号形式和
有符号形式,究竟从哪一个单元开始的相邻单元则与你的设置有关,以整型为例,如果你输
入的是I:0 ,那么00H 和01H 单元的内容将会组成一个整型数,而如果你输入的是I :1,01H
和02H 单元的内容全组成一个整型数,以此类推。有关数据格式与C 语言规定相同,请参
考 C 语言书籍,默认以无符号单字节方式显
示。第三部份的Modify Memory at X:xx 用于
更改鼠标处的内存单元值,选中该项即出现如
图3 所示的对话框,可以在对话框内输入要修
改的内容。
图3 存储器的值的修改
2 、工程窗口寄存器页
图4 是工程窗口寄存器页的内容,寄存器页包括了当前的工作寄存器组和系统寄存器,
系统寄存器组有一些是实际存在的寄存器如A 、B 、DPTR 、SP、PSW 等,有一些是实际中
并不存在或虽然存在却不能对其操作的如 PC 、Status 等。每当程序中执行到对某寄存器的
操作时,该寄存器会以反色(蓝底白字)显示,用鼠标单击然后按下F2 键,即可修改该值。
3 、观察窗口
观察窗口是很重要的一个窗口,工程窗口中仅可以观察到
工作寄存器和有限的寄存器如A 、B 、DPTR 等,如果需要观
察其它的寄存器的值或者在高级语言编程时需要直接观察变
量,就要借助于观察窗口了。
其它窗口将在以下的实例中介绍。
一般情况下,我们仅在单步执行时才对变量的值的变化感
兴趣,全速运行时,变量的值是不变的,只有在程序停下来之
后,才会将这些值最新的变化反映出来,但是,在一些特殊场
合下我们也可能需要在全速
您可能关注的文档
最近下载
- 2025中信银行信用卡中心银川分中心招聘笔试备考试题及答案解析.docx
- 2025年金华职业技术学院单招职业倾向性测试题库及参考答案.docx VIP
- 武汉市2025届高中毕业生四月调研考试(四调)数学试卷(含答案).pdf
- 陕西西安市长安城乡建设开发公司招聘笔试题库2024.pdf VIP
- MEMS传感器和智能传感器的发展.docx VIP
- 中学英语课堂教育教学评价策略的研究结题报告.docx
- 运筹学(中国人民解放军陆军工程大学)中国大学MOOC慕课章节测验答案.pdf
- 内蒙古风能、太阳能资源.doc VIP
- 金丽衢十二校2024学年2025届高三第二次联考生物试卷(含答案).pdf
- 《中医骨伤科学》课件—— 肘关节脱位.pptx VIP
文档评论(0)