如图,第一行的点应该出现在第16行的
程序如下: - int g1 = 10;
- int g2 = 9;
- int lt = 7;
- int sk = 8;
- int pa=2;
- int pb=3;
- int pc=4;
- int pd=5;
- int en=6;
- int r1=12;
- int r2=11;
- unsigned char g[4][32]={
- {255,251,216,59,235,187,235,171,122,171,186,171,186,171,234,171,234,171,218,171,26,171,222,251,221,123,221,187,219,235,247,247 }
- ,/*"测",0*/
- {255,215,223,219,239,219,239,223,248,1,255,223,15,223,232,31,238,223,238,239,238,239,234,239,230,53,232,245,253,249,255,253 }
- ,/*"试",1*/
- {255,175,255,183,255,191,192,1,223,191,223,191,223,187,193,187,221,187,221,215,221,215,221,237,213,205,187,181,191,121,126,253 }
- ,/*"成",2*/
- {255,191,255,191,255,191,1,191,238,3,239,187,239,187,239,187,239,187,239,123,239,123,225,123,14,251,190,251,253,215,251,239 }
- ,/*"功",3*/
- };
- unsigned char b[][4]={
- { 0,0,0,0 } ,
- { 1,0,0,0 } ,
- { 0,1,0,0 } ,
- { 1,1,0,0 } ,
- { 0,0,1,0 } ,
- { 1,0,1,0 } ,
- { 0,1,1,0 } ,
- { 1,1,1,0 } ,
- { 0,0,0,1 } ,
- { 1,0,0,1 } ,
- { 0,1,0,1 } ,
- { 1,1,0,1 } ,
- { 0,0,1,1 } ,
- { 1,0,1,1 } ,
- { 0,1,1,1 } ,
- { 1,1,1,1 }
- };
- void setup ()
- {
- pinMode(r1,OUTPUT);
- pinMode(r2,OUTPUT);
- pinMode(g1,OUTPUT);
- pinMode(g2,OUTPUT);
- pinMode(lt,OUTPUT);
- pinMode(sk,OUTPUT);
- pinMode(pa,OUTPUT);
- pinMode(pb,OUTPUT);
- pinMode(pc,OUTPUT);
- pinMode(pd,OUTPUT);
- pinMode(en,OUTPUT);
- digitalWrite(en,HIGH);
- digitalWrite(g1,HIGH);
- digitalWrite(g2,HIGH);
- digitalWrite(r1,HIGH);
- digitalWrite(r2,HIGH);
- }
- void loop()
- {
- unsigned char a=0;
- for(a=0; a<16;a++)
- {
- digitalWrite(pa,b[a][0]);
- digitalWrite(pb,b[a][1]);
- digitalWrite(pc,b[a][2]);
- digitalWrite(pd,b[a][3]);
- digitalWrite(lt,LOW);
- shiftOut(r1,sk,MSBFIRST,g[0][a*2]);
- shiftOut(r1,sk,MSBFIRST,g[0][a*2+1]);
- shiftOut(r1,sk,MSBFIRST,g[1][a*2]);
- shiftOut(r1,sk,MSBFIRST,g[1][a*2+1]);
- shiftOut(r1,sk,MSBFIRST,g[2][a*2]);
- shiftOut(r1,sk,MSBFIRST,g[2][a*2+1]);
- shiftOut(r1,sk,MSBFIRST,g[3][a*2]);
- shiftOut(r1,sk,MSBFIRST,g[3][a*2+1]);
- digitalWrite(lt,HIGH);
- }
- }
复制代码 |