Keil Proteus联调问题!高手进!

Keil和 Proteus联调有按键的电路怎么操作?
比如:
C程序:
#include<reg52.h>
sbit p10=P1^0;
sbit p11=P1^1;
sbit p12=P1^2;
#define UP 20
#define DOWN 30
#define STOP 40
void delay() //延时程序
{
unsigned i,j,k;
for(i=0;i<0x02;i++)
for(j=0;j<0xd2;j++)
for(k=0;k<0xff;k++);
}
void main()
{
unsigned char temp;
while(1)
{
if(p10==0)
{
temp=UP; //控制反转
P2=0XFF;
delay();
}
if(p11==0)
{
temp=DOWN;
// P2=0XFF;
// delay();
}
if(p12==0)
{
temp=STOP;
}
switch(temp)
{
case DOWN:P2=0X03; //控制反转
delay();
delay();
P2=0X06;
delay();
delay();
P2=0X0c;
delay();
delay();
P2=0X09;
delay();
delay();
break;
case UP:P2=0X03; //控制正传
delay();
delay();
P2=0X09;
delay();
delay();
P2=0X0C;
delay();
delay();
P2=0x06;
delay();
delay();
break;
case STOP: //控制停止
P2=0XFF;
delay();
delay();
break;
}
}
}

Proteus电路图:

如图所示是一个步进电机的控制电路,其中KEY1为反转,KEY2为正转,联调时的情形是这样的:

如果单独用Keil仿真,P1口的状态可以用如图所示小框框手动更改,但是如果联调,这个小框框就按不动了。另外,如果从Proteus里按下按键,电路正常工作,但是Keil里的P1和P2口状态却不改变。
这是什么问题??
求高手指点迷津!!!拜谢!!!

Proteus6.94、95与keilC51联调设置方法
1、将KeilC51(u2、u3均可)、Proteus6(94、95均可)都安装好;
2、下载两个软件,一个是Proteu的Vdmagdi.exe,另一个是授权后的Prospice.dll(两个文件链接地址看下面)
3、先运行Vdmagdi.exe安装Keil接口,然后将Prospice.dll覆盖在Proteus的安装文件夹下的Bin中如:D:\Program
Files\Labcenter
Electronics\Proteus
6
Professional\BIN;
4、打开Proteus,在【菜单】【Debug】下拉菜单中选【User
Remote
Debug
Monitor】(在该项前打勾);
5、打开KeilC51,点击【菜单】【工程】【为目标'XX'设置选项】,在【调试】标签下选择右边的【使用U】单选,并在下拉框中选【Proteus
VSM
Simulator】仿真设备;
6、在Proteus侧做好硬件连线,Keil侧写好软件,点击Keil【调试】【运行】,您可以欣赏联调了。
proteus6.9
sp4与keil联调几点发现:
在这里联调的一些基本操作就不再赘述了
1,一定要把keil的工程和Proteus的文件放到同一个目录下(这里所说的Keil的工程指工程的目录,
即Proteus的工程Design文件(后缀名.DSN)要和包含Keil工程所有文件的那个文件夹在同一层目录下)
;
经过操作发现:
Keil的工程目录文件夹一定要命名为keil(可能与路径设置有关,目前还不清
楚),否则proteus报错:Unable
to
open
HEX
file
'Keil\DS1302.hex'.
keil报错:
target
dll
has
been
cancelled
debugger
aborted!),另外
针对其他版本的联调,以上两点原则也要遵守
2,6.9以上版本需要添加与Keil联调补丁Vdmagdi.exe,其作用就是添加在程序目录keil/c51/bin目录
下添加Vdm51.dll,(注意:与其他版本不同,6.9以上版本Proteus
6
Professional\MODELS\目录下没

VDM51.dll)并且修改keil目录下tools配置文件,添加两行文本:TDRV8=BIN\VDM51.DLL
("Proteus
VSM
Simulator")
BOOK2=HLP\VDMAGDI.HLP
("Proteus
VSM
AGDI
Driver"),经过实际
操作证明,不一定要安装补丁Vdmagdi.exe,手动操作也可成功实现联调功能,其中第二行非必需
3,至于Proteus
6
Professional\BIN目录下Prospice.dll的作用,有网友说与授权有关,有网友说与授权有关,确有可能。默认安装的版本是早于2006.6.26的版本,好像是2006.6.17,替换时没记清,联调失败。当用
2006.6.26版本代替后,联调才成功,但是用更新的2006.8.18版本替换时,联调又会失败。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-05-27
按键边上有个红点,点击后,按键就按住了。
这时,执行程序,即可得到按键的信息。追问

又出现问题了大神,求助!
按照您说的联调时把红点点住了,可是,点上了以后,按钮两边点评竟然还是一高一低,点击单步运行,程序根本走不到按键代表的那个程序里。又试了试全速运行,这时候按钮两边电平才恢复一样。
怎么在单步运行时让按钮两边电平一样呢?或者说怎么让单步运行时程序走到按钮代表的程序里呢?

追答

点击红点,按键闭合,两边的电平,应该相同的。
两边电平竟然还是一高一低?没有见过。

相似回答