我们知道单片机开发工具,一般都包括实时在线仿真器(Emulator)和烧写器(Programmer),其中在线仿真器是很好的工具,价格也较高。对于一些想节省开发成本的用户,也可以用软件模拟器(Simulator)来替代实时仿真器,因为其成本一般都很低。用软件模拟器和烧写器可组成一套低成本的开发系统,如针对Microchip著名的PIC单片机系列有PICKIT,即由软件模拟器PICSIM和烧写器PICPROG构。
(一)功能特点
PICSIM即然称为软件模拟器,顾名思义即知它是一个纯软件,不需专门的仿真板,专门用于模拟调试PIC系列单片机的应用程序,具有如下功能特点:
1、工作平台:硬件PC机(286以上),软件DOS3.0以上
2、通过键盘在电脑屏幕上调试应用程序,没有实时插座输出。
3、全屏幕、多窗口调试环境。单片机的所有资源都可以显示在屏幕上,并随着程序运行动态地变化,反映出单片机的运行及资源情况。
4、高级符号调试,用户可直接对符号变量进行操作。
5、断点设置,跟踪变量设置。
6、多种运行方式:单步、有限步长、快速模拟运行等。
7、用户可在线修改程序指令。
8、用户可在线修改寄存器值。
9、看门狗模拟。
10、在线帮助,解释每个调试命令的作用和用法。
(二)调试屏幕
PICSIM是一个全屏幕,多窗口的调试环境,简明易用,优于传统的类似于Debug的环境(如MPSIM)。图1是PICSIM屏幕各区域的功能和作用。 从图1可看出,程序运行情况及单片机的资源情况都一目了然地显示在屏幕上。运行光条所指的位置是当前程序计数器(PC)所处的位置,另一个参数即指令运行计数(Pccount)显示出程序运行中已执行过的指令条数。 具体的使用方法细节读者可参考PICSIM的使用手册,下面我们仅谈一些使用PICSIM中的技巧。
(三)使用方法
PICSIM是一个软件模拟器,所以在使用上和实时在线仿真器的方法上就有一些区别,我们着重要谈的就是PICSIM怎样用来调试程序。
1、单步跟踪运行(F4命令) PICSIM中最重要的命令就是单步运行命令。按一次键盘上的F4键,程序就单步执行一条指令,并会在屏幕在显示出执行了该条指令后单片机的资源变化情况,如寄存器的变化,看门狗计数器的变化,PC值的变化(光条会随之化之移到相应的位置)。在PICSIM环境中,我们一般都使用F4来运行程序以方便观察程序的运行情况和单片机的资源情况。
2、快速运行(F6使令) 按F6键程序进入快速运行。在PICSIM中这个命令的最大用处是检查看门狗计数是否溢出。一旦看门狗溢出,程序将会在复位处停下来并在屏幕早作出提示。
3、使程序快速运行到光标所处位置(F5命令) 这条命令也很有用。当用户要快速运行通过某一段程序时,可把光标移到需要停住的地方,再按F5键即可。在PICSIM调试环境中,用F5命令和F4命令(单步配合可方便地观察程序运行轨迹和效果。
4、I/0口模拟 PIC单片机把所有I/O口都当成寄存器来处理,故我们可通过I/O口相应的寄存器来模拟其状态。 在PICSIM中有一条修改寄存器值的调试命令:F{寄存器号}{数值} 例:在PIC16C57程序调试中,欲模拟RB口的状态为‘10100101’,可用命令获得: F 7 $A5
5、其他重要特点 断点设置,变量跟踪,程序修改等是PICSIM中重要的功能特点。这些功能和以上介绍几点结合起来可形成一套有力的软件模拟调试方法。
(四)使用PIC单片机软件模拟器PICSIM调试的开发步骤 如果用户选择PICSIM作为模拟调试手段,一般需要如下步骤来完成整个开发过程,参见图2。
图1 PICSIM调试屏幕画面
图2 调试开发步骤