学习了老师的程序,改写了一个程序,觉得很好玩的(共阴LED),不知还能否简化了。
const unsigned char LED8Pin[]={
2,3,4,5,6,7,8,9};//A B C D E F G Dp(改写了接口)
const unsigned char LED8Code[]={
0x01, // a,LED单笔
0x02, // b
0x04, // c
0x08, // d
0x10, // e
0x20, // f
0x40, // g
0x80, // h
0x01, // a,LED单笔加笔划
0x03, // a,b
0x07, // a,b,c
0x0F, // a,b,c,d
0x1F, // a,b,c,d,e
0x3F, // a,b,c,d,e,f
0x7F, // a,b,c,d,e,f,g
0xFF, // a,b,c,d,e,f,g,h 全显示
0x3F, // 0,LED显示数字
0x06, // 1
0x5B, // 2
0x4F, // 3
0x66, // 4
0x6D, // 5
0x7D, // 6
0x07, // 7
0x7F, // 8
0x6F, // 9
0x77, // A
0x7C, // B
0x39, // C
0x5E, // D
0x79, // E
0x71, // F//共32个显示
};
void setup() {
char i;
for(i=0;i<8;i++)
{
pinMode(LED8Pin[i], OUTPUT);
digitalWrite(LED8Pin[i], HIGH);
}
}
char a;
void loop() {
for(a=0;a<32;a++)//这里是32
{
LED8Show(a);
delay(2000);//(改成2S)
}
}
void LED8Show(char data){
char i;
char j;
char hc;
if(0<=data<32)//这也改成32
{
hc = LED8Code[data];
for(i=0;i<8;i++)
{
j = bitRead(hc,i);
digitalWrite(LED8Pin[i], j);
}
}
}
|