注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
tiankai001的个人空间 https://home.eeworld.com.cn/space-uid-139222.html [收藏] [复制] [分享] [RSS]
日志

基于proteus的51单片机仿真实例七、关于proteus和keil c51的联调

已有 6326 次阅读2010-1-14 22:32 |个人分类:proteus for 51 mcu|

1、在利用proteus进行单片机系统的仿真时,如果想要观察内存,寄存器、变量的值以及外围芯片的数据变化情况,可以在仿真运行时单击“帧进(单步)”或“暂停”按钮,然后再菜单栏的“调试”菜单中打开相应设备观察窗口进行观察。
如果要检测电路中某些位置的电压、电流、波形等信息,可以在电路中添加相应的虚拟仪器,如电压表、电流表、示波器等。如果系统运行时添加的虚拟仪器没有显示,这时,同样应在“调试”菜单中将它们打开。
 
2、对于较为复杂的程序,如果仿真运行后没有达到预期效果,这时可根据需要对proteus和keil c51进行联合调试,联合调试之前需要先安装vdmagdi.exe(或vudgi.exe),该软件可到网上或者proteus公司的网站搜索下载。
联合调试时,可先打开proteus应用例程(不要运行例程),然后选中”调试“菜单中的”使用远程调试设备“选项,如下图所示。这样使得keil c51能与proteus进行通信。
 
4、完成上述设置后,再到leil中打开,proteus应用例程中的源程序项目文件。选择菜单栏的“工程”---“为目标‘目标 1’设置选项”命令,在弹出的对话框中选择“调试”选项卡,按照下图进行设置。
 
5、如果keil c51与proteus安装在同一台计算机中,右边的“seting”选项的内容保持不变即可,如下图所示,如果这两个软件没有安装在同一台计算机中,则需要跨机调试,那主机号与端口号需要根据具体情况进行修改
 
6、完成上述设置后,在keil c51中运行程序时,proteus中的单片机系统也会跟着运行。这是可以在keil c51中进行单步、跳过、运行到光标、运行到断点等调试,同时可以在proteus的单片机系统中跟踪观察运行结果。
但是并非所有的情况下都能很好的观察运行效果。例如进行按键扫描时,单步跟踪就不能够被很好的跟踪,因为在proteus中敲击按键后,在到keil c51中继续检测按键时,这是按键已经被释放了,自然也就就观察不到按键的实时状态。
因此在进行联合调试时,需要根据实际情况,合理的配合单步、跳出、运行到光标、运行到断点等方法进行仿真调试。
发表评论 评论 (18 个评论)
回复 ccsgsy 2010-2-26 15:32
回复 xindiluoxiao 2010-6-7 22:32
您好  我想问一下 在我做的动态显示电路中  用二者联调时 动态效果不好  protues的时间进程特别慢  怎么调整才能使动态显示效果变好呢
回复 tiankai001 2010-6-7 23:17
这个我没有研究过
回复 xindiluoxiao 2010-6-8 11:16
tiankai001: 这个我没有研究过
那我看您后面做的数码管显示也是动态的吧  效果怎么那么好呢
回复 tiankai001 2010-6-8 12:07
看看你KEIL中跟PROTEUs中晶振频率是不是一致
回复 tiankai001 2010-6-8 12:07
xindiluoxiao: 那我看您后面做的数码管显示也是动态的吧  效果怎么那么好呢
看看你KEIL中跟PROTEUs中晶振频率是不是一致
回复 xindiluoxiao 2010-6-9 19:28
是一样的啊
回复 tiankai001 2010-6-9 20:26
xindiluoxiao: 是一样的啊
那我就不知道你的是什么问题了。
我一般不联调,我直接载入程序,然后观察运行结果
回复 xindiluoxiao 2010-6-11 01:00
tiankai001: 那我就不知道你的是什么问题了。
我一般不联调,我直接载入程序,然后观察运行结果
是不是因为我编程是用的 at89s52为芯片 仿真时用的是at89c52啊  可是我两个软件中设置的都是AT89c52
回复 tiankai001 2010-6-11 07:41
xindiluoxiao: 是不是因为我编程是用的 at89s52为芯片 仿真时用的是at89c52啊  可是我两个软件中设置的都是AT89c52
这个应该没关系,
你可以试试改一致
回复 江海 2010-6-14 14:52
为什么不能联调?我的操作是没问题的?
还有问一下什么是“proteus应用例程”、“Proteus运行例程”?
回复 tiankai001 2010-6-14 14:59
江海: 为什么不能联调?我的操作是没问题的?
还有问一下什么是“proteus应用例程”、“Proteus运行例程”?
老实说,我只是试验了一下联调这个功能,没有更深入的使用这个功能。
我也建议你不要执着于一定要联调。它毕竟不能真正的当做仿真器使用。

请注意我的说明,我说打开一个应用例程,但是不要运行这个例程,
打开一个例子,但是不要运行这个例子。

不知道我说明白了没有?
呵呵,有疑问的话,随时交流。
回复 江海 2010-6-14 15:11
嗯,明白了,多谢。
回复 tiankai001 2010-6-14 16:09
江海: 嗯,明白了,多谢。
回复 wanzsxit 2011-4-10 16:27
“调试”选项卡  中怎么那么多选项  。ULINK    LPC900 ........
回复 tiankai001 2011-4-10 22:04
wanzsxit: “调试”选项卡  中怎么那么多选项  。ULINK    LPC900 ........


没办法,管不了人家啊
回复 st_xiaozao 2013-1-1 17:34
学了,嘿嘿!
回复 tiankai001 2013-1-1 17:56
加油!

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章