51单片机继电器驱动电灯泡仿真为什么不成功吐血啊

2019-07-18 10:30发布

程序如下:
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int

sbit K1=P1^0;
sbit RELAY=P3^0;

void DelayMS(uint ms)
  {
    uchar t;
    while(ms--)for(t=0;t<120;t++);
  }

void main()
  {
    P1=0xff;
    RELAY=1;
      
        while(1)
      {
        if(K1==0)
          {
             while(K1==0);
               RELAY=~RELAY;
               DelayMS(20);
          }
       }
  }

仿真图如下:
relay - ISIS Professional.jpg
请教各位师傅这到底是怎么回事啊?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。