proteus和keil怎样联合使用

  proteus和keil怎样联合使用?需要用什么软件?
2012-2-13 19:23
提问者:匿名 | 浏览次数:101次
proteus和keil怎样联合使用?需要用什么软件?
我来帮他解答
 
输入内容已经达到长度限制
还能输入  9999 
插入图片删除图片 插入地图删除地图 插入视频视频地图
不登录也可以回答
参考资料: 提交回答 取消
2012-2-13 19:58
满意回答
假设Keil4和Proteus7.8分别安装在”D:\Keil4”和”D:\Proteus7.8”文件夹内。
1.	将文件夹内的VDM51.dll文件复制到”D:\Keil4\C51\BIN”目录下和”D:\Proteus7.8\ MODELS”目录下
2. 用记事本打开D:\Keil4\TOOLS.INI文件,在TDRV8=BIN\UL2LPC9.DLL ("NXP LPC95x ULINK Driver")下一行新加一行:
TDRV9=BIN\VDM51.DLL ("Proteus VSM Monitor-51 Driver")
其中“TDRV5”中的“9”事实上就是避免跟上面的标号重复。
(步骤1和2只需在初次使用设置。)
3.举个例子:
用keil新建一个工程,比如起名为test,正常编译,并产生hex文件(这一部分不详述),源程序如下:
#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.proteus的模拟器件摆放图123.DSN在文件夹内,将此文件保存在上面的keil新建的test工程的目录中。(事实上只要保证proteus的模拟图和keil的工程文件在同一个目录下即可)
5.在keil中的左侧,找到“目标1”,右键选择第一项,转到调试一栏,选中右侧“使用”小圆点,下拉菜单选中刚才新建的” Proteus VSM Monitor一51 Driver”, 再点击“Setting”按钮,设置通信接口,在“Host”后面添上“127.0.0.1”,如果使用的不是同一台电脑,则需要在这里添上另一台电脑的IP地址(另一台电脑也应安装Proteus)。在“Port”后面添加“8000”。

 
6.Proteus中点击调试,选中使用远程调试监控。
7.在AT89C52上右键再左键,出现编辑元件窗口,在Programe File栏中选择刚才生成的hex文件,点击确定,然后运行,大功告成~~~~

你可能感兴趣的:(hex,file,c,x86)