这个要命的嘞,太难搞了。最后还是抄到了一段出来实现了,要是减小数字估计把<改成>就能实现了。
int a=2;
int b=3;
int c=4;
int d=5;
int e=6;
int f=7;
int g=8;
int dp=9;
void digital_1(void)
{
unsigned char j;
digitalWrite(c,0);
digitalWrite(b,0);
for(j=5;j<=8;j++)
digitalWrite(j,1);
digitalWrite(a,1);
digitalWrite(dp,1);
}
void digital_2(void)
{
unsigned char j;
digitalWrite(b,0);
digitalWrite(a,0);
digitalWrite(g,0);
for(j=5;j<=6;j++)
digitalWrite(j,0);
digitalWrite(dp,1);
digitalWrite(c,1);
digitalWrite(f,1);
}
void digital_3(void)
{
unsigned char j;
digitalWrite(g,0);
for(j=2;j<=5;j++)
digitalWrite(j,0);
digitalWrite(dp,1);
digitalWrite(f,1);
digitalWrite(e,1);
}
void digital_4(void)
{
unsigned char j;
digitalWrite(c,0);
digitalWrite(b,0);
digitalWrite(f,0);
digitalWrite(g,0);
digitalWrite(dp,1);
digitalWrite(a,1);
digitalWrite(e,1);
digitalWrite(d,1);
}
void digital_5(void)
{
unsigned char j;
digitalWrite(j,0);
digitalWrite(a,0);
digitalWrite(c,0);
digitalWrite(f,0);
digitalWrite(d,0);
digitalWrite(dp,1);
digitalWrite(b,1);
digitalWrite(e,1);
}
void digital_6(void)
{
unsigned char j;
for(j=4;j<=8;j++)
digitalWrite(j,0);
digitalWrite(c,0);
digitalWrite(dp,1);
digitalWrite(b,1);
}
void digital_7(void)
{
unsigned char j;
for(j=2;j<=4;j++)
digitalWrite(j,0);
digitalWrite(dp,1);
for(j=5;j<=8;j++)
digitalWrite(j,1);
}
void digital_8(void)
{
unsigned char j;
for(j=2;j<=8;j++)
digitalWrite(dp,1);
}
void setup ()
{
int i;
for(i=2;i<=9;i++)
{
pinMode(i,OUTPUT);
}
}
void loop()
{
while(1)
{
digital_1();
while(analogRead(0)>512);
delay(200);
digital_2();
while(analogRead(0)>512);
delay(200);
digital_3();
while(analogRead(0)>512);
delay(200);
digital_4();
while(analogRead(0)>512);
delay(200);
digital_5();
while(analogRead(0)>512);
delay(200);
digital_6();
while(analogRead(0)>512);
delay(200);
digital_7();
while(analogRead(0)>512);
delay(200);
digital_8();
while(analogRead(0)>512);
delay(200);
}
} |