1、KEIL 软仿真技巧谈(1)废话少说,接上一章,话说建立了仿真环境后,我们就可以实现软件仿真了。在仿真状态下 View 菜单有一堆东西:头 4 个 BAR 都是普通的工具栏了。这里说一下 Debug ToolBar,就是调试工具栏:单片机复位全速运行运行中 STOP单步运行,可以进入函数内运行单步运行,可以跳过函数如果运行进某个函数,此键能直接跳出当前函数运行到你的光标处找回你的 PC 指针:当你的程序有好几个文件的时候,有时候你会不知道运行到哪里去了,按这个你就可以找会你的 PC 指针所在处了。 仿真记录,相信很少人用到,其实这个东西可以记录下你的仿真过程,然后回放。从回放的“录象”中你可以
2、观察每条指令的状态,例如对应的运行时间,各个寄存器的值。个人觉得这个功能在调试 OS 的时候特有用:)ASM 代码和 C 代码之间的转换,这个也是 NB 的调试利器,一般隐藏的 BUG 在 ASM 下无所遁形。WATCH 窗口,如果你不知道什么叫 watch 窗口,那证明你以前一定没写过程序。挺逗的功能,可以看到每个函数有多少条指令,和你已经运行了某个函数的百分之多少代码。我从来不用这个东西的,呵呵串口显示窗,如果你的程序有串口程序,那么单片机串口的输出就显示在这个窗上,如果你要对单片机串口输入数据,就在串口窗上打字就是了。Memory Window,存储器观察窗,这里可以看 code,dat
3、a,xdata 对应的数据各函数占用时间的比例,个人感觉用处不大,在全速运行的时候会动态显示,用来调试 UC/OS 的时候可以看到各个任务占用的时间比。不过你需要先把你要观察的函数添加到表上才可以用。这个东东一般没用。好了,上面一堆东西,还是具体说说比较复杂的吧,其它东西你用过就自然会的了。1。仿真记录,这个在软件仿真的时候有,至于硬件仿真就看你仿真器是否支持咯。当你需要记录的时候,就按 ,运行一段时间了,就按,那么刚才运行过的整段程序就会重现你眼前:你可以选择当前灰色区域的所有指令,窗口都会显示那条指令对应的寄存器值等信息。2。观察变量窗,这里可以用来观察全局变量和局部变量的,不过要你预先手
4、动添加。具体方法就是找到你要观察的变量,然后点右键添加进指定的 WATCH 窗口,如下图:添加后打开 WATCH 窗口就看到你刚才的变量了:显示的数制可以是十进制和十六进制的,只要你在当前变量上点右键选择:3。Memory Window, 这里可以看到个存储器的值,只需要在窗口上敲你需要显示的变量区和地址:不同的英文字头对应不同的区域c: 代码区,也就是 ROMd: data 区,就是片内 RAMx: xdata 区,片外 RAM如果你想修改某个区的值,只需要点右键 Modify Memory at xxx 就可以修改了:唉,打字打到手软,贴图贴到累,这一章先到此为止。还不会用 DEBUG 工具栏的看完应该会用了吧