首页 > Computer > Hardware > Proteus与keil的整合
2009
04-09

Proteus与keil的整合

Proteus与keil的整合

Proteus是Labcenter公司出品的电路分析、实物仿真系统。它可仿真各种电路和集成IC,最让我们高兴的是它支持许多型号的单片机的仿真,另外还提供Schematic Drawing与PCB设计功能。它的元件库齐全,使用方便,是不可多得的电子电路设计辅助软件。keil是目前世界上最好的51单片机的汇编和C语言的开发工具。它支持汇编,C语言以及混合编程,同时具备功能强大的软件仿真和硬件仿真(用mon51协议,需硬件支持)功能。但是我们在利用它的仿真功能的时候都有一定的限制。如果我们把这两个软件结合来用,调试软硬件就方便多了。其实Proteus在设计的时候已经注意到和各种单片机编译程序的整合了。如它可以和Keil、MPLAB IDE等编译模拟软件结合。笔者在这里先向大家介绍Proteus怎么样和keil结合的。

首先,你要下载安装这两个软件了。Proteus可以到官方网站(http://www.labcenter.co.uk/)下载试用板(试用版无存盘功能),最新版本是6.5。Keil也可以到它的官方网站(www.keil.com)去下载它的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”要根据实际情况写,不要和原来的重复。

第四步,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”按钮,如图1所示。
 
在出现的对话框里点击“Debug”,在右栏上部的下拉菜单里选中“ Proteus VSM Monitor-51 Driver”,还要点击一下Use前面的小圆点。 设置好的情形如图2所示。

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

第五步,Proteus的设置。运行Proteus的ISIS,鼠标左键点击菜单“DEBUG”,选中“use romote debuger monitor”,如图4所示。下面我们用鼠标左键点击菜单“File”,再点击“Load Design”,导入“8051 LCD Driver”文件夹下的LCDDEMO.design文件。注意,一定要把keil的工程和Proteus的文件放到同一个目录下。好了,我们现在就可以试试我们的成果了!打开keil,按Ctrl+F5进入调试界面或者点击工具栏的  按钮。如果不能进入调试界面,可能设置有误,按照上面的步骤再重新设置一下。进入了调试界面,按F5或者点击工具栏的 按钮,全速运行,再看看ISIS,有什么变化了吗?你可以调整一下你的屏幕,让两个程序同时出现显示器上。图5是笔者运行成功的情形。读者朋友可以到本刊网站下载这个例子的文件。

连接成功以后,你可以在keil调试你的程序了,单步、全速都可以;也可以进行设置断点、观察变量的值等。你也可以在Proteus做硬件方面的模拟,如按按键、改变可调电阻的阻值等,这个时候keil都会有反应的;我们还可以在Proteus加上一些仪表,如示波器、电表、频率发生器等。试试看,你会对Proteus爱不释手的。

最后编辑:
作者:wy182000
这个作者貌似有点懒,什么都没有留下。

留下一个回复