如何使用Keil5中的虚拟示波器进行软件仿真

首先先打开一个工程,编译,无错误,我用的是高级定时器TIM1互补输出的程序,输出信号的引脚分别为 PA8 和 PB13 。
在使用之前先更改一些配置:
点击keil5里的魔术棒选项:选择debug,把上面一个圈圈里圈着的 use silmlator 勾上,再把第二个圈圈里面的按照自己的实际需求更改(我用的是CM3,F103ZET6,如果你用的F103RC就把ZE改成RC),如下图:

改好配置之后点击上方的调试按钮,
在这里插入图片描述
然后点击这里的虚拟示波器按钮 进入到软件仿真界面
在这里插入图片描述
然后点击这里的 setup 进入配置界面,点击右上方的框框添加要检测输出的GPIO引脚号(我这里用的是PA8,输入格式是:GPIOX_IDR.n),然后回车确认。
在这里插入图片描述
在 display type 这里选择 bit(位),然后点close 关闭窗口。
(如果在这里出现 unknowed signal 这样的错误提示,说明第一步在魔术棒里配置的东西没有配置好,重新配置即可)
在这里插入图片描述
然后点击左上角的全速运行按钮,就可以看到波形的输出了。
在这里插入图片描述
下面的是我把与PA8互补输出的引脚PB13加上后的效果。
在这里插入图片描述
完毕

///补充:

如何在这个虚拟环境下查看输出PWM的周期、频率:
全速运行输出波形后,用鼠标滚轮改变PWM波大小合适,随便选中波形的一个位置(建议选在端点处),图形底部会出现时间1,再把鼠标放在一个pwm结束的地方,会出现时间2,周期=时间2-时间1,由此周期即可算出频率。如果选两个pwm波,只要把结果/2即可。
占空比也可类似计算,只需要算出高电平(低电平)时间,然后除以周期即可。
如下图:
在这里插入图片描述
注意:
用此方法计算出来的是实际的输出频率,由于软程序存在误差,会和自己在程序中设置的值有出入。如在程序中设置频率为10KHZ,实际输出可能只有9KHZ。但这个结果和实际用示波器测得的一致。

猜你喜欢

转载自blog.csdn.net/weixin_43737995/article/details/98049869
今日推荐