当按下key后,计时两秒后led亮的 编程问题

2019-07-15 18:48发布

#include <REGX51.H>
#define uint unsigned int
sbit key = P3^5;
sbit led = P1^1;
void delay()
{
   uint k;
   for(k=0;k<20;k++)
   ;
}
void main()
{
    TCON = 0x01;
    TH0  = 0xb8;
    TL0  = 0x00;
    TR0  = 1;
  while(1)
  {
   uint i;
   
    TR0=0;
    if(key==0)
    {
      delay();
      if(key==0)
  {
   
    TR0=1;
     if(TF0==1)
     
  {
   
    TF0=0;
    TH0  = 0xb8;
       TL0  = 0x00;
    i++;
  }
   if(i==100)
    {
   i=0;
      led=~led;
       while(!key);
     }
     
   
  }
   }
  }
}
想破脑子都想不出的错误,希望大神指导指导
题目是这样的 当按下key后,计时两秒后led亮
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。