新人求助
#include<STC12C2052AD.H>
sbit LED = P1 ^ 7;
sbit KEY = P1 ^ 0;
void DELAY_MS(unsigned int a)
{ unsigned int i;
while(--a != 0)
{
for(i = 0; i < 600;i++);
}
}
void main(void)
{
KEY = 1;
LED = 1;
bit a = 1; while(1)
{
DELAY_MS(100);
if(KEY == 0)
{
if(KEY == 0)
{
if(a == 0)
{
LED = 1;
a = 1;
}
else
LED = 0;
}
}
}
}
为什么这样会编译通过而下面只改了红色部分语句的顺序就能编译通过;
#include<STC12C2052AD.H>
sbit LED = P1 ^ 7;
sbit KEY = P1 ^ 0;
void DELAY_MS(unsigned int a)
{ unsigned int i;
while(--a != 0)
{
for(i = 0; i < 600;i++);
}
}
void main(void)
{
bit a = 1;
KEY = 1;
LED = 1;
while(1)
{
DELAY_MS(100);
if(KEY == 0)
{
if(KEY == 0)
{
if(a == 0)
{
LED = 1;
a = 1;
}
else
LED = 0;
}
}
}
}