记录一下Proteus仿真的一些设置和使用,以方便自己以后复习和大家交流!如有错误,希望大家指正。
1、Proteus软件的安装,这里就不作说明了。
(上图为安装完打开的软甲)
2、Keil与Proteus安装连接操作
第一步,Keil 与Proteus连接,连接开始必须在Proteus安装目录下 VDM51.dll文件复制到Keil安装目录的Keil\C51\BIN 目录中,但新版本中没有,
!!!所以必须下载安装补丁vdmagdi.exe,则在Keil安装目录的Keil\C51\BIN 目录中有文件:VDM51.dll。
第二步、修改keil安装目录下 Tools.ini文件
用记事本(其它的编辑软件也可以,如Ultra Edit)打开Keil 根目录下的 TOOLS.INI 文件,在[C51] 栏目下加入
TDRV3=BIN\VDM51.DLL ("Proteus VSM Monitor-51 Driver" ) ,其中“TDRV3” 中的 “3”要根据实际情况写,不要和原来的重复。
第三步、打开proteus,画出相应电路。
在proteus的debug(调试)菜单中选中(使用远程调试监控)use remote debug monitor 。
在keil中编写MCU的程序。 进入KEIL的project(工程)菜单(为目标target1设置选项)option for target '工程名'。在debug(调试)选项中右栏上部的下拉菜选中 Proteus VSM Monitor-51 Driver。
【例】一个实际例子:
1、在Proteus上画下面的图
画完之后建立一个文件夹保存(最好是英文路径),同时在proteus的debug(调试)菜单中选中(使用远程调试监控)use remote debug monitor 。
2、写代码,文件保存在上面的文件夹中,在Keil中写以下的代码并编译
/* 名称:闪烁的LED
说明:LED按设定的时间间隔闪烁
*/
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit LED=P1^0;
//延时
void DelayMS(uint x)
{
uchar i;
while(x--)
{
for(i=0;i<120;i++);
}
}
//主程序
void main()
{
while(1)
{
LED=~LED;
DelayMS(150);
}
}
设置生产HEX文件,并设置下面的(上文有提到的)
3、现在就在可以用Keil调试的
所以要双击AT89C51芯片,
在Program file(即第四个空行)点击右边的小文件夹图标,找到路径中的hex文件
重新在Keil中仿真,
此时是没有出现黄色的错误的。OK
4、下面是Proteus的自己仿真,点击下面的开始