Keil与Proteus成功联调

下面的一到五步骤,是别人写,忘记来源了,在此引用,先感谢原作者。接下来的内容,是在实际联调中,我又发现一些注意点,不知是否是必然的规律,大家一块探讨,恳请指正!!
首先,你要下载安装这两个软件了。Proteus可以到官方网站(https://www.360docs.net/doc/0918561224.html,/)下载试用板(试用版无存盘功能),最新版本是6.5。Keil也可以到它的官方网站(https://www.360docs.net/doc/0918561224.html,)/去下载它的demo板(有2K代码限制),最新的版本是7.20。下载后就可以安装了。

第二步,安装完毕,把C:\Program Files\Labcenter Electronics\Proteus 6 Professional\MODELS\目录下的 VDM51.dll文件复制到 C:\Keil\C51\BIN文件夹下。(目录名都是默认的,你可以根据你实际安装的目录进行复制。)

第三步,用记事本(其它的编辑软件也可以,如Ultra Edit)打开Keil 根目录下的 TOOLS.INI 文件,在[C51] 栏目下加入 TDRV3=BIN\VDM51.DLL ("Proteus VSM Monitor-51 Driver" ) ,其中“TDRV3” 中的 “3”要根据实际情况写,不要和原来的重复。(我的这个文件中已经有了从TDRV1到TDRV4, 所以我用的是TDRV5)

第四步,keil的设置。为了让读者更好的了解这个过程,笔者以Proteus自带的例子来说明。把"C:\Program Files\Labcenter Electronics\Proteus 6 Professional\SAMPLES"的"8051 LCD Driver”文件夹复制到新建的Proteus文件夹下。运行keil程序,在"8051 LCD Driver"文件夹下建立一个新的名为8051 LCD Driver工程。单片机的型号选择AT89C52就可以,把LCDDEMO 文件加到"Source Group 1"组里。点击工具栏的"option for target"按钮,在出现的对话框里点击"Debug",在右栏上部的下拉菜单里选中" Proteus VSM Monitor-51 Driver",还要点击一下Use前面的小圆点。

再点击"Setting"设置通信接口,在Host后面添上"127.0.0.1",如果你是用的不是同一台电脑,在这里添上另一台电脑的IP地址(另一台电脑安装Proteus)。 在Port后面添上"8000"。点击"OK"按钮即可。最后把工程编译一下。

第五步,Proteus的设置。运行Proteus的ISIS,鼠标左键点击菜单"DEBUG",选中"use romote debuger monitor"。下面我们用鼠标左键点击菜单"File",再点击"Load Design",导入"8051 LCD Driver"文件夹下的LCDDEMO.design文件。

本人在参照以上调试时,有发现的几点注意:

1. 一定要把keil的工程和Proteus的文件放到同一个目录下(这里所说的Keil的工程指工程的目录,即Proteus的工程Design文件(后缀名。DSN)要和包含了Keil工程文件的那个文件夹在同一层目录下)。(经过操作发现:Keil的工程目录文件夹一定要命名为keil(可能与路径设置有关,目前还不清楚,且Keil工程名与Proteus工程名相同),否则proteus报错:Unable to open HEX file 'Keil\DS1302.hex'. keil报错: target dll has been

cancelled debugger aborted!)

2. 6.9以上版本需要添加与Keil联调补丁Vdmagdi.exe,其作用就是添加在程序目录keil/c51/bin目录下添加Vdm51.dll,(注意:与其他版本不同,6.9以上版本Proteus 6 Professional\MODELS\目录下没有 VDM51.dll)并且修改keil目录下tools配置文件,添加两行文本:TDRV8=BIN\VDM51.DLL ("Proteus VSM Simulator")
BOOK2=HLP\VDMAGDI.HLP ("Proteus VSM AGDI Driver"),经过实际操作证明,手动操作也可成功实现联调功能,其中第二行非必需,所以不一定要安装补丁Vdmagdi.exe,至于Proteus 6 Professional\BIN目录下Prospice.dll的作用,有网友说与授权有关,确有可能。默认安装的版本是2006.6.17,本人用2006.6.26版本代替后,联调才成功,但是用更新的2006.8.18替换时,联调又会失败。

3. 必须生成烧写文件

4. proteus的debug菜单下选定"use romote debuger monitor

相关文档
最新文档