keil如何与Proteus联合仿真?
发布网友
发布时间:2022-04-21 00:13
我来回答
共2个回答
热心网友
时间:2023-10-27 06:18
KeilC与Proteus连接调试
1、假若KeilC与Proteus均已正确安装在C:\Program Files的目录里,把C:\Program Files\Labcenter Electronics\Proteus 6 Professional\MODELS\VDM51.dll(可能没有这个文件,本压缩包里有)复制到C:\Program Files\keilC\C51\BIN目录中。
2、用记事本打开C:\Program Files\keilC\C51\TOOLS.INI文件(这里的TOOLS.INI文件可能不在c51目录下,但一定在keil的安装目录下,找一找),在[C51]栏目下加入:
TDRV5=BIN\VDM51.DLL ("Proteus VSM Monitor-51 Driver")
其中“TDRV5”中的“5”要根据实际情况写,不要和原来的重复。
(步骤1和2只需在初次使用设置。)
3、进入KeilC μVision2开发集成环境,创建一个新项目(Project),并为该项目选定合适的单片机CPU器件(如:Atmel公司的AT89C51)。并为该项目加入KeilC源程序。
源程序如下:
#define LEDS 6
#include "reg51.h"
//led灯选通信号
unsigned char code Select[]={0x01,0x02,0x04,0x08,0x10,0x20};
unsigned char code LED_CODES[]=
{ 0xc0,0xF9,0xA4,0xB0,0x99,//0-4
0x92,0x82,0xF8,0x80,0x90,//5-9
0x88,0x83,0xC6,0xA1,0x86,//A,b,C,d,E
0x8E,0xFF,0x0C,0x89,0x7F,0xBF//F,空格,P,H,.,- };
void main()
{
char i=0;
long int j;
while(1)
{
P2=0;
P1=LED_CODES[i];
P2=Select[i];
for(j=3000;j>0;j--); //该LED模型靠脉冲点亮,第i位靠脉冲点亮后,会自动熄来头。
//修改循环次数,改变点亮下一位之前的延时,可得到不同的显示效果。
i++;
if(i>5) i=0;
}
}
4、单击“Project菜单/Options for Target”选项或者点击工具栏的“option for ta rget”按钮 ,弹出窗口,点击“Debug”按钮,出现如图所示页面。
在出现的对话框里在右栏上部的下拉菜单里选中“Proteus VSM Monitor一51 Driver”。并且还要点击一下“Use”前面表明选中的小圆点。
再点击“Setting”按钮,设置通信接口,在“Host”后面添上“127.0.0.1”,如果使用的不是同一台电脑,则需要在这里添上另一台电脑的IP地址(另一台电脑也应安装Proteus)。在“Port”后面添加“8000”。设置好的情形如图所示,点击“OK”按钮即可。最后将工程编译,进入调试状态,并运行。
5、Proteus的设置
进入Proteus的ISIS,鼠标左键点击菜单“Debug”, 选中“use romote debuger monitor”,如图所示。此后,便可实现KeilC与Proteus连接调试。
6、KeilC与Proteus连接仿真调试
单击仿真运行开始按钮 ,我们能清楚地观察到每一个引脚的电频变化,红色代表高电频,蓝色代表低电频。在LED显示器上,循环显示0、1、2、3、4、5。
不懂的再提!qq648500361
热心网友
时间:2023-10-27 06:18
你直接在PROTEUS中选中要载入程序的KEIL文件,就可以了,双击打开一看就会了。