Keil 的辅助工具和部份高级技巧.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Keil 的辅助工具和部份高级技巧 在前面的几讲中我们介绍了工程的建立方法,常用的调试方法,除此之外,Keil 还提供 了一些辅助工具如外围接口、性能分析、变量来源分析、代码作用分析等,帮助我们了解程 的性能、查找程序中的隐藏错误,快速查看程序变量名信息等,这一讲中将对这些功工具作 一介绍,另外还将介绍Keil 的部份高级调试技巧。 一、 辅助工具 这部份功能并不是直接用来进行程序调试的,但可以帮助我们进行程序的调试、程序性 能的分析,同样是一些很有用的工具。 1、外围接口 为了能够比较直观地了解单片机中定时器、中断、 并行端口、串行端口等常用外设的使用情况,Keil 提 供了一些外围接口对话框,通过Peripherals 菜单选择, 该菜单的下拉菜单内容与你建立项目时所选的CPU 有关,如果是选择的89C51 这一类“标准”的51 机, 那么将会有Interrupt(中断)、I/O Ports(并行I/O 口)、 Serial(串行口)、Timer(定时/计数器)这四个外围设 备菜单。打开这些对话框,列出了外围设备的当前使用情况,各标志位的情况等,可以在这 些对话框中直观地观察和更改各外围设备的运行情况。 下面我们通过一个简单例子看一看并行端口的外围设备对话框的使用。例4: MOV A,#0FEH LOOP: MOV P1,A RL A CALL DELAY ;延时100 毫秒 JMP LOOP 其中延时100 毫秒的子程序请自行编写。 编译、连接进入调试后, 点击 Peripherals-I/O-Ports-Port 1 打开,如图1 所示,全速运 行,可以看到代表各位的勾在不断变化(如果看不到变化, 请点击View-Periodic Window Updata),这样可以形象地 看出程序执行的结果。 注:如果你看到的变化极快,甚至看不太清楚,那么 说明你的计算机性能好,模拟执行的速度快,你可以试着 将加长延时程序的时间以放慢速度。模拟运行速度与实际 运行的速度无法相同是软件模拟的一个固有弱点。 点击Peripherals-I/O-Ports-Timer0 即出现图2 所示 定时/计数器0 的外围接口界面,可以直接选择Mode 组中 的下拉列表以确定定时/计数工作方式,0-3 四种工作方式, 图1 外围设备之并行端口 图2 外围设备之定时器 设定定时初值等,点击选中TR0,status 后的stop 就变成了run,如果全速运行程序,此时 th0,tl0 后的值也快速地开始变化(同样要求Periodic Window Updata 处于选中状态),直观地 演示了定时/计数器的工作情况(当然,由于你的程序未对此写任何代码,所以程序不会对 此定时/计数器的工作进行处理)。 2、性能分析 Keil 提供了一个性能分析工具,利用该工具,我们可以了解程序中哪些部份的执行时间 最长,调用次数最多,从而了解影响整个程序中执行速度的瓶颈。下面通过一个实例来看一 看这个工具如何使用,例5: #include reg51.h sbit P1_0=P1^0; //定义P1.0 void mDelay(unsigned char DelayTime) { unsigned int j=0; for(;DelayTime0;DelayTime--) { for(j=0;j125;j++) {;} } } void mDelay1(unsigned char DelayTime) { unsigned int j=0; for(;DelayTime0;DelayTime--) { for(j=0;j125;j++) {;} } } void main() { unsigned int i; for(;;){ mDelay(10); // 延时10 毫秒 i++; if(i==10) { P1_0=!P1_0; i=0; mDelay1(10);} } } 编译连接。进入调试状态后使用菜单View-Performance Analyzer Window,打开性能分 析对话框,进入该对话框后,只有一项unspecified,点鼠标右键,在快捷菜单中选择Setup PA 即打开性能分析设置对话框,对于C 语言程序,该对话框右侧的“Function Symbol”下的 列表框给出函数符号,双击某一符号,该符号即出现在Define Performance Analyzer 下的编 缉框中,每输入一个符号名字,点击Define 按钮,即将该函数加入其上的分析列表框。对 于汇编语言源程序,Function Symbol 下的列表框中不会出现子程序名,可以直接在编缉框 中输入子程序名,点击Close 关闭窗口,回到性能分析窗口,此时窗口共有4 个选项。全速

文档评论(0)

man9872 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档