购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

4.3 μVision的调试及仿真功能

在μVision开发单片机程序时,免不了出现程序运行效果与预期不一致的情况,这时μVision所提供的多种调试及仿真功能将帮助我们快速找到问题所在。本节就来看看一些常用的调试及仿真功能。

4.3.1 调试界面

如果编写的程序能成功汇编,说明程序是没有语法错误的。但许多情况下,语法正确并不代表程序就完全达到用户的设计目的。比如在程序3-1中,我们希望两支发光二极管以500ms为间隔交替发光,但是在写程序中很有可能因为延时子程序中工作寄存器赋值错误,导致延时不等于500ms。这些问题都可以在执行代码文件下载到单片机以前借助μVision的调试、仿真功能排除掉。

回到μVision界面中,汇编成功后,单击工具栏中的调试“ ”按钮以打开软件调试界面(或执行“Debug”→“Start/Stop Debug Session”命令),如图4-42所示,界面中由调试工具按钮、反汇编窗口、程序窗口、寄存器观察窗口、命令窗口、存储器观察窗口等组成。

此时已经脱离了程序开发环境而进入调试阶段,在调试界面中程序的修改是无效的。在如图4-42所示的调试界面中内容比较多,我们将在以后的应用中慢慢展开。

4.3.2 虚拟逻辑分析仪

由于Prj_2 Flashing LEDs项目将实现P0口和P2口以500ms为间隔交替出现低电平,以控制2支发光二极管交替发光。所以在μVision的调试界面中可使用虚拟逻辑分析仪观察所编写的汇编程序有没有实现这个功能。

图4-42 μVision调试界面

在μVision调试界面的调试工具栏中单击逻辑分析仪“ ”按钮,如图4-43所示,打开逻辑分析窗口。这样会在程序窗口打开一个逻辑分析仪窗口,如图4-44所示,这个窗口一会就会显示I/O口的逻辑电平。

图4-43 打开虚拟逻辑分析仪

接下来就要指定逻辑分析仪将要分析哪个I/O口的电平。单击逻辑分析仪中的设置按钮“ ”(见图4-44),在弹出的对话框中单击新建按钮“ ”,如图4-45所示,在列表中输入将要观察的I/O口,比如“P1.0”,回车以确定输入。再次单击新建按钮“ ”,完成另一个观察I/O口“P2.0”的输入并回车。之后单击“Close”按钮关闭逻辑分析仪设置对话框。在逻辑分析仪中出现了P0.4和P2.0的信号观察窗口,如图4-46所示,一会启动仿真就会看到这两个I/O口的电平状态了。

图4-44 逻辑分析仪窗口

图4-45 逻辑分析仪设置

图4-46 在逻辑分析仪中观察P0.4和P2.0的状态

接下来启动仿真,单击调试工具栏中的运行“ ”按钮(或直接按下键盘的F5键),刚才编写的程序就会在软件中运行,将会看到P0.4和P2.0的状态在跳变,如图4-47所示,单击逻辑分析仪中的缩小“ ”按钮,以观察完整的波形。

图4-47 观察P0.4和P2.0输出波形

当P0.4口或P2.0口为高电平时,与之相连的发光二极管熄灭。反之发光二极管发光,所以从图4-47所示的仿真结果我们高兴地看到P0.4口和P2.0口的高、低电平交替出现,所以程序实现了两个发光二极管交替发光。

但是怎么知道P0.4口或P2.0口的是不是以500ms为间隔在变换状态?如果单击逻辑分析仪的放大按钮“ ”,直到每格的时间Grid=0.100000s时,如图4-48所示,我们会看到P0.4口或P2.0口的高、低电平各占5个格,也就是0.5s,说明延时子程序如愿实现了500ms的延时,我们的程序设计是非常成功的。

图4-48 观察500ms延时 GhM0mTfiq81707JsMerFn8/yQjji3fDGad1QVKcVwkoDeTlIztHTEOUyjCC6wnhL

点击中间区域
呼出菜单
上一章
目录
下一章
×