现学现卖:基于keil UV4 V9.52版本的软件仿真软件示波器教程

  • SingleYork
  • LV5工程师
  • |      2016-03-31 14:24:06
  • 浏览量 1362
  • 回复:7


声明:本教程是根据网上例程与本人实际使用经验改编而且,转载请注明出处!


        前段时间在网上找人调试了一个有关51单片机用SPTA算法控制三个步进电机加减速的程序,在调试过程中用到了Keil的仿真功能,由于本人也是之前从未接触过这个类似示波器的仿真功能,特意向帮我调试程序的大神请教了这一功能的使用,并查找相关资料,终于掌握了这一技能,在此特意跟大家一起分享一下。 菜鸟之作,高手请勿口水!


        本人使用的Keil版本是 keil UV4 V9.52 ,个人感觉还是挺好用的,版本也算是比较新的了!所以我就在这个版本的基础上跟大家一起来学习一下Keil的这项功能吧!


        


        首先,让我们打开编写好的程序,然后点击“Option”按钮,点击“DeBug”选项:


        

        

        打开后的界面如下图所示,选中红色框内的选项(注意勾选:Limit Speed to Real-Time):

        

        


        既然我勾选了“Limit Speed to Real-Time”,那么我们还需要在“Target”选项里设置一下仿真时的晶振频率,由于本人使用的是11.0592MHz的晶振,那么在此处填写11.0592即可,用户可以根据自己实际使用情况设置:


        


        以上选项设置好后,我们就可以来编译程序了!编译后,会生产.hex的文件,当然,这个是下载到单片机里时才需要的文件,仿真的时候可有可无,但是编译肯定是需要!


        


        文件编译好之后,那么我们就可以来进行仿真了!点击"Debug"工具:


        


        出现如下界面,我们再点击“Analysis Windows工具:


        


        打开Analysis Windows工具后,会出现如下界面:


        


        这个时候,我们需要设置一下需要查看的IO口,点击"Setup"选项,出现设置界面:


        


        由于在本程序中,我所使用到的IO口如下所示:


        


        那么接下来我们就来开始仿真时候需要用显示状态的IO口吧!


        如下图所示,在"Current Logic Analyzer Signals"中新增上图用到的几个IO口,此处只需要设置端口号即可,不需要详细设置某一位,具体设置某一位是在下面的属性栏中设置的。


        


        在需要设置具体某一位时,我们如上图所示的属性栏中如下设置:

        “Display Type”选择“Bit”,即按位显示;

        “Color”栏里选择想要显示的颜色,用于跟其他位区分,便于观察;

        “AndMask”里填写具体要显示的位,如:P4&0x40,按位与操作,取某一位,此处选择的是第6位;

        “Shift Right”即将P4&0x40后的值右移多少位,在最低位得到需要显示的位,此处P4&0x40的值是0x40,即二进制的:0100 0000,那么我们需要右移6位才能将P46移动到最低位显示!


        其他IO口的设置方法一下,在此我就不再赘述了,大家可以自己动手尝试一下!


        需要观察状态的 IO口都设置好了,那么我们就来开始运行吧!按“运行”按钮或者按“F5”键,仿真程序变开始运行,得到如下所示的效果:


        


        是不是很直观呢?然后我们还可以像示波器一样放大或者缩小看运行的波形效果哦,具体操作是这样的:鼠标点击显示区域,然后用鼠标滚轮前后滚动,即可放大或者缩小显示单元的大小。下图所示就是放大后的三个电机同时加减速的波形图:


        


        怎么样,这个功能是不是很好用呢?连示波器什么的都省了!如果你心动了、迫不及待了,那么还等什么?感觉动手操作起来吧!


        

  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:8
@曲终人散@ 2016-04-06
做的不错,支持
0   回复
举报
发布
fighter 2016-04-06
我发过这方面的帖子的
0   回复
举报
发布
SingleYork 2016-03-31
互相学习……
0   回复
举报
发布
兵临城下 2016-03-31
学习学习。
0   回复
举报
发布
SingleYork 2016-03-31
啥?
0   回复
举报
发布
蒙娜丽石 2016-03-31
前排挤挤
0   回复
举报
发布
630183258 2016-03-31
哈哈哈哈,这个功能确实不错,我写程序时用过一两次。
0   回复
举报
发布
630183258 2016-03-31
抢个沙发
0   回复
举报
发布
x
收藏成功!点击 我的收藏 查看收藏的全部帖子