#include"reg52.h"
#include"intrins.h"
typedef unsigned char u8;
typedef unsigned int u16;
sbit k1=P1^0;
sbit led=P0^0;
#define led P0
void delay(u16 i)
{
while(i--);
}
void keypros()
{
if(k1==0)
{
delay(1000);
if(k1==0)
{
led=~led;
}
while(!k1);
}
}
void main()
{
u8 i;
led=0x01;
delay(50000);
led=0;
while(1)
{
keypros();
for(i=0;i<7;i++)
{
led=_crol_(led,1);
delay(50000);
}
}
}
本来是想让它的流水灯从左至右依次以0.5s的速率亮,但现在按下按键后流水灯一直全亮,可惜我是初学者,不知道错在哪里。求大神指点!该如何改正?