int R[] = {2,7,A5,5,13,A4,12,A2}; //行
int C[] = {6,11,10,4,A3,3,8,9}; //列 (原文中3、4的位置是反的,我做了調(diào)換)
unsigned char biglove[8][8] = //大“心型”的數(shù)據(jù)
{
0,0,0,0,0,0,0,0,
0,1,1,0,0,1,1,0,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,
0,1,1,1,1,1,1,0,
0,0,1,1,1,1,0,0,
0,0,0,1,1,0,0,0,
};
unsigned char smalllove[8][8] = //小“心型”的數(shù)據(jù)
{
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,1,0,0,1,0,0,
0,1,1,1,1,1,1,0,
0,1,1,1,1,1,1,0,
0,0,1,1,1,1,0,0,
0,0,0,1,1,0,0,0,
0,0,0,0,0,0,0,0,
};
void setup()
{
//循環(huán)定義行列PIN 為輸出模式
for(int i = 0;i<8;i++)
{
pinMode(R,OUTPUT);
pinMode(C,OUTPUT);
}
}
void loop()
{
for(int i = 0 ; i < 100 ; i++) //循環(huán)顯示100次
{
Display(biglove); //顯示大”心形“
}
for(int i = 0 ; i < 50 ; i++) //循環(huán)顯示50次
{
Display(smalllove); //顯示小“心形”
}
}
void Display(unsigned char dat[8][8]) //顯示函數(shù)
{
for(int c = 0; c<8;c++)
{
digitalWrite(C[c],HIGH);//選通第c列
//循環(huán)
for(int r = 0;r<8;r++)
{
digitalWrite(R[r],dat[r][c]);
}
delay(1);
Clear(); //清空顯示去除余暉
}
}
void Clear() //清空顯示
{
for(int i = 0;i<8;i++)
{
digitalWrite(R,HIGH);
digitalWrite(C,LOW);
}
}
|