调试过程是单片机开发中的一个非常重要的环节,用户在此环节发现程序问题并完善代码,KeilμVision 2集成开发环境拥有强大、方便的调试能力,下面介绍一些调试技巧。
(1)设置和删除断点的方法。
设置断点是最常用的调试技巧。设置断点后,程序运行到该处会停止,此时用户可以观察各寄存器或内存变量的值,实现对程序的调试。在KeilμVision 2集成开发环境中设置断点非常方便,单击工具栏中手形的“Insert/Remove Breakpoint”按钮,即可设置断点。断点设置栏上有3个按钮,依次是设置断点、删除所有断点、禁止所有断点。在代码中设置和到除断点还可以在程序中直接双击鼠标左键。设置断点后的代码行左侧出现一个红色的小方格,如图3-28所示,当禁止所有断点后,程序不会在那些断点处停止,但是断点依然存在,此时代码行左侧的小方格还在,但变成了白色。
图3-28 设置断点后的代码
(2)查看和修改寄存器的内容。
在KeilμVision 2集成开发环境中进行调试时,用户可以查看并修改寄存器的内容。在程序运行或调试状态下,单击项目管理器窗口中Regs标签页,此时在窗口中显示各个内部寄存器的内容及程序运行次数等信息,如图3-29所示。右侧窗口显示的是各行代码的机器码和汇编代码信息,其中黄色箭头代表当前执行到的代码地址,如果需要改变PC指针的内容,在PC右侧的Value部分双击即可,修改后程序自动跳到该地址。
图3-29 查看寄存器内容
(3)观察和修改变量。
在前面的例子中已经看到,在程序运行时可以观察P1端口的取值情况。实际上KeilμVision 2集成开发环境可以在调试程序时观察所有的变量。首先打开变量观察窗口,执行Views→Watch& Call StackWindow。在该窗口中可以输入需要观察的变量名如图3-30所示。
图3-30 变量观察窗口
(4)观察存储器区域。
执行Views→Memory Window,打开存储器观察窗口,如图3-31所示。在Address中输入地址,即可自动观察该地址的存储器里的内容。
(www.daowen.com)
图3-31 存储器观察窗口
(5)串行口的使用方法。
KeilμVision 2集成开发环境提供了串行口供模拟51单片机和PC进行串口通信,执行Views→Serial Window#1(或2、3),打开串行通信观察窗口,从模拟51单片机串口输出的数据将在这个串口窗口中显示,而从串口输入的字符则会被输入到模拟51单片机的CPU串口中。可以利用这个功能实现没有外部硬件条件下的串口模拟。
对串口进行设置则执行Views→Peripherals→Serial,打开串口设置对话框,如图3-32所示。
图3-32 串口设置
(6)定时/计数器的使用方法。
使用定时计数器,执行Views→pripheral→Timer0(或1、2),如图3-33所示。打开定时/计数器设置对话框后,可以进行方式设置、相关寄存器设置以及触发方式设置。
图3-33 定时/计数器设置
(7)外部中断的使用方法。
要在KeilμVision集成开发环境中对外部中断进行观察,可以执行Views→Peripherals→Interrupt,打开外部中断观察窗口,如图3-34所示。在该窗口中,用户能够查看各个中断源的向量地址、模式、请求情况、使能情况及优先级等信息。
图3-34 外部中断观察窗口
本节介绍了开发MCS-51单片机的KeilμVision 2集成开发环境的基础使用方法及其特点,通过一个实例说明了在其中使用C51语言进行单片机编程开发的流程,并给出了一些常用的调试技巧。熟练使用KeilμVision 2集成开发环境能使MCS-51单片机开发变得简单方便,这需要用户在使用中不断加深对其的理解。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。