标签:des blog class code tar ext
记录一下Proteus仿真的一些设置和使用,以方便自己以后复习和大家交流!如有错误,希望大家指正。
1、Proteus软件的安装,这里就不作说明了。
(上图为安装完打开的软甲)
2、Keil与Proteus安装连接操作
第一步,Keil 与Proteus连接,连接开始必须在Proteus安装目录下 VDM51.dll文件复制到Keil安装目录的Keil\C51\BIN 目录中,但新版本中没有,
!!!所以必须下载安装补丁vdmagdi.exe,则在Keil安装目录的Keil\C51\BIN 目录中有文件:VDM51.dll。
(由于不知道怎么上传文件就没有把vdmagdi.exe上传,百度有的)
第二步、修改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中写以下的代码并编译
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 |
/* 名称:闪烁的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调试的
点,但是此时要注意的是此时Proteus中的AT89C51没有下载进代码,所以会出现“No program code loaded”
所以要双击AT89C51芯片,
在Program file(即第四个空行)点击右边的小文件夹图标,找到路径中的hex文件
就可以了
重新在Keil中仿真,
此时是没有出现黄色的错误的。OK
4、下面是Proteus的自己仿真,点击下面的开始
Proteus与Keil连接及其仿真(有例子哦!),布布扣,bubuko.com
标签:des blog class code tar ext
原文地址:http://www.cnblogs.com/baizhen/p/3708912.html