protuse不能仿真

我试图用protuse仿真做一个计分的系统。但是我没有经验,第一次做,可能是我的代码有问题。或者是就是我压根连错了。

img

#include
#define uchar unsigned char
#define uint unsigned int
sbit DU=P1^1;
sbit WEI=P1^0;
sbit WE=P1^3;
sbit SHU=P1^2;
sbit K1=P2^0;
sbit K2=P2^1;
uchar code table[]={0x3f,0x06,0x5b,
0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,
0x77,0x7c,0x39,0x5e,0x79,0x71};
void delayms(uint);
//主函数
void main()
{
   while(1)
   {
    DU=1;
    WE=1;
    WEI=0x00;
    SHU=table[0];
    WEI=0x00;
    SHU=table[1];
    WEI=0x00;
    SHU=table[2];
    WEI=0x00;
    SHU=table[3];
    delayms(1);
   }

}


//延时函数
void delayms(uint xms)
{
 uint i,j;
 for(i=xms;i>0;i--)
    for(j=110;j>0;j--);
}

上面是代码,还没写完,但是编译没问题。我导入到protuse里毫无反应。

我试过好多方法,但是他的P1^0-P1^4都没有输出。我之前怀疑是没有电源,但是没有用。

我想要点击第一个按键左面加一,第二个右面加一。

可能是你的IO变化太快,先delayms(1); 改成 delayms(1000); 观察试试,后面再改回来。