第二天接触单片机 要做流水灯 求助一下大家
#include<reg51.h>
sbit p1_1=P1^0;
unsigned int a;
void main()
{
while(1)
{
a=50000;
P1=0xfe;
while(a--) ;
for(;P1>0;)
{
P1=P1*2;
while(a--);}
}
}
为什么这个不可以实现流水的效果?而
#include<reg51.h>
sbit p1_1=P1^0;
unsigned int a;
void delay(unsigned char i)
{
unsigned char m,n;
for(m=i;m>0;m--)
for(n=125;n>0;n--);
}
void main()
{
while(1)
{
P1=0xfe;
delay(2000);
P1=0xfd;
delay(2000);
P1=0xfb;
delay(2000);
P1=0xf7;
delay(2000);
P1=0xef;
delay(2000);
P1=0xdf;
delay(2000);
P1=0xbf;
delay(2000);
P1=0x7f;
delay(2000);
}
}
这个就可以?
#include<reg51.h>
sbit p1_1=P1^0;
unsigned int a;
void main()
{
while(1)
{
a=50000;
P1=0xfe;
while(a--) ;
for(;P1>0;)
{
P1=P1*2;
while(a--);}
}
}
为什么这个不可以实现流水的效果?而
#include<reg51.h>
sbit p1_1=P1^0;
unsigned int a;
void delay(unsigned char i)
{
unsigned char m,n;
for(m=i;m>0;m--)
for(n=125;n>0;n--);
}
void main()
{
while(1)
{
P1=0xfe;
delay(2000);
P1=0xfd;
delay(2000);
P1=0xfb;
delay(2000);
P1=0xf7;
delay(2000);
P1=0xef;
delay(2000);
P1=0xdf;
delay(2000);
P1=0xbf;
delay(2000);
P1=0x7f;
delay(2000);
}
}
这个就可以?