很早就看到有proteus这个软件可以仿真单片机,一直没有用过,今天闲着没事下了一个试试,果然很不错,是一个好东西,呵呵.软件的下载地址不记得了,如果有需要可以和我联系我传给你.我用的是keil uv3 和proteus 7.2sp0
下面是从网上搜到的联调的方法
keil与proteus联调
1、把proteus安装目录下 VDM51.dll文件复制到Keil安装目录的 /C51/BIN 目录中。
2、修改keil安装目录下 Tools.ini文件,在C51字段加入TDRV8=BIN/VDM51.DLL ("Proteus VSM Monitor-51 Driver"),保存 注意:不一定要用TDRV5,根据原来字段选用一个不重复的数值就可以了。引号内的 名字随意
3、打开proteus,画出相应电路。在proteus的tools菜单中选中use remote debug monitor
4、进入KEIL的project菜单option for target '工程名'。在DEBUG选项中右栏上部的下拉菜选中 Proteus VSM Monitor-51 Driver。 在进入seting,如果同一台机IP 名为127.0.0.1,如不是同一台机则填另一 台的IP地址。端口号一定为8000 注意:可以在一台机器上运行keil,另一台中运行proteus进行远程仿真
5、在keil中进行debug吧,同时在proteus中查看直观的结果(如LCD显示…)
按照上面的教程,装完之后发现proteus目录下面没有vdm51.dll,只好在网上搜,找了半天,找到之后发现我的keil目录下面已经有这个文件了,同样要修改的部分也已经修改好了,走了一圈弯路,呵呵
proteus 设置截图
keil 设置截图
看来uv3里面装了不少的仿真端口,呵呵 .按照上面的3,4步骤分别将proteus和keil设置好就可以进行连接测试了
下面就要就行实际的仿真试验了
proteus是英文界面,对于英文不好的人来说不是好消息,我就属于那种人,还好有很多热心认识提供了教程
参考一下教程在proteus里将硬件电路搭起来
一个led的仿真教程: http://group.ednchina.com/306/2089.aspx
不过在后面仿真的时候有点区别,原为是利用hex文件来仿真的,不能进行调试
我们直接将后面的部分跳过,在keil里面输入源程序
下面是我写的c源程序
#include
void delay();
void main()
{
while(1)
{
P1_0 = 0x00;
delay();
P1_0 = 0x01;
delay();
}
}
void delay()
{
unsigned int i;
for(i = 0;i<=25535;i++);
}
写好程序之后,进行创见目标,就可以进行仿真了
看图中画圈的部分可以看出已经和proteus连上了
http://blog.ednchina.com/cat_li/51716/message.aspx
推荐在单片机应用系统设计中,在没有仿真器的情况下,可以利用Proteus Professional来模块仿真,其仿真效果与真实效果是一致的.
Keil uVision3的安装方法:
1- run SETUP in a subfolder SETUP to install UVision IDE
2- Serial= K1DZP-5IUSH-A01UE
3- add on : crack/addon
Proteus Professional 7.1 sp2的安装方法:
1-run SETIP to install Proteus Professional 7.1
2-安装过程中会弹出一个对话框,将其指向安装目录中patch文件夹下的MAXIM_LICENCE文件即可.
3-将patch文件夹下的BIN 、ELECTRA 、MODELS里面的文件全部拷到安装程序的对应目录下并覆盖。
4-安装vdmagdi.exe
两者软件的联调方法如下:
1、打开proteus画出相应的电路,在 proteus菜单里DEBUG内,选中use remote debug monitor。
2、在 keil 编写MCU程序,在菜单project->option for target '工程名'内的在DEBUG页,选中右上部的下拉菜选中Proteus vsm Monitor 51 Driver(名字可能不同)。还要点中Use前面的小圆点。在进入seting,如果同一台机IP 名为127.0.0.1,如不是同一台机则填另一台的IP 地址。端口号一定为8000 .
3、在KEIL中, 按CTRL+F5 开始调试,在KEIL是按运行则proteus就自动运行程序了,进行仿真了......