江苏科技大学“FlySpiders”本创小组组员学习记录----王澳刚

学习者:王澳刚

内容归属:王澳刚

学习内容:Arduino

代码描述:

 8X8点阵共由64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一行置1电平,某一列置0电平,则相应的二极管就亮;如要将第一个点点亮,则9脚接高电平13脚接低电平,则第一个点就亮了;如果要将第一行点亮,则第9脚要接高电平,而(13、3、4、10、6、11、15、16)这些引脚接低电平,那么第一行就会点亮;如要将第一列点亮,则第13脚接低电平,而(9、14、8、12、1、7、2、5)接高电平,那么第一列就会点亮。 
代码:
 #define L1 8
#define L2 7
#define L3 6
#define L4 5
#define L5 4
#define L6 2
#define L7 A0
#define L8 A1//将能控制列的引脚与i\o口绑定
 
#define H1 12
#define H2 11
#define H3 10
#define H4 9
#define H5 A5
#define H6 A4
#define H7 A3
#define H8  A2//将 能控制行的引脚与i/o口绑定

我的手机 2017/4/25 22:40:49

unsigned char table1[8][8]={
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 table2[8][8]={
0,0,0,0,1,1,1,1,
0,0,1,1,1,1,1,0,
0,0,1,1,0,0,0,0,
0,1,1,0,0,0,0,0,
0,1,1,0,0,0,0,0,
0,0,1,1,0,0,0,0,
0,0,1,1,1,1,1,0,
0,0,0,0,1,1,1,1,};定义一个第二幅图片的数表
unsigned char table3[8][8]={
0,1,1,0,0,0,0,0,
0,1,1,0,0,0,0,0,
0,1,1,0,0,0,0,0,
0,1,1,1,1,1,1,1,
0,1,1,1,1,1,1,1,
0,1,1,0,0,0,1,1,
0,1,1,0,0,0,1,1,
0,1,1,0,0,0,1,1,}; 定义一个第三幅图片的数表
unsigned char table4[8][8]{
0,0,0,0,1,1,0,0,
0,0,0,0,1,1,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,1,1,0,0,
0,0,0,0,1,1,0,0,
0,0,0,0,1,1,0,0,
0,0,0,0,1,1,0,0,
0,0,0,0,1,1,0,0,};定义一个第四幅图片的数表
unsigned char table5[8][8]{
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,1,1,0,0,0,0,
0,0,1,1,1,1,1,1,
0,0,1,1,1,1,1,1,
0,0,1,1,0,0,1,1,
0,0,1,1,0,0,1,1,};定义一个第五幅图片的数表
unsigned char table6[8][8]{
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,
0,0,1,1,1,0,0,0,
0,1,0,0,0,1,0,0,
0,1,0,0,0,1,0,0,
0,1,0,0,0,1,1,0,
0,0,1,1,1,0,0,1,};定义一个第六幅图片的数表

我的手机 2017/4/25 22:40:55

void Clear(){
digitalWrite(H1,LOW);
digitalWrite(H2,LOW);
digitalWrite(H3,LOW);
digitalWrite(H4,LOW);
digitalWrite(H5,LOW);
digitalWrite(H6,LOW);
digitalWrite(H7,LOW);
digitalWrite(H8,LOW);
digitalWrite(L1,HIGH);
digitalWrite(L2,HIGH);
digitalWrite(L3,HIGH);
digitalWrite(L4,HIGH);
digitalWrite(L5,HIGH);
digitalWrite(L6,HIGH);
digitalWrite(L7,HIGH);
digitalWrite(L8,HIGH);
}//去辉度函数

我的手机 2017/4/25 22:41:00

void setup(){
pinMode(button,INPUT_PULLUP);//将按钮定义为上拉型输出
 pinMode(H1,OUTPUT);
pinMode(H2,OUTPUT);
pinMode(H3,OUTPUT);
pinMode(H4,OUTPUT);
pinMode(H5,OUTPUT);
pinMode(H6,OUTPUT);
pinMode(H7,OUTPUT);
pinMode(H8,OUTPUT);
pinMode(L1,OUTPUT);
pinMode(L2,OUTPUT);
pinMode(L3,OUTPUT);
pinMode(L4,OUTPUT);
pinMode(L5,OUTPUT);
pinMode(L6,OUTPUT);
pinMode(L7,OUTPUT);
pinMode(L8,OUTPUT);//定义十六个输出
}

我的手机 2017/4/25 22:41:05

void Display(unsigned char tab[8][8]){
  digitalWrite(L1,LOW);//将第一列设置为低电平
  digitalWrite(H1,tab[0][0]);//把数表第一行第一列的数值给能控制第一行电平的i/o口
  digitalWrite(H2,tab[1][0]);//把数表第二行第一列的数值给能控制第二行电平的i/o口
  digitalWrite(H3,tab[2][0]);//把数表第三行第一列的数值给能控制第三行电平的i/o口
  digitalWrite(H4,tab[3][0]);//把数表第四行第一列的数值给能控制第四行电平的i/o口
  digitalWrite(H5,tab[4][0]);把数表第五行第一列的数值给能控制第五行电平的i/o口
  digitalWrite(H6,tab[5][0]);//把数表第六行第一列的数值给能控制第六行电平的i/o口
  digitalWrite(H7,tab[6][0]);//把数表第七行第一列的数值给能控制第七行电平的i/o口
  digitalWrite(H8,tab[7][0]);//把数表第八行第一列的数值给能控制第八行电平的i/o口
  delay(1);//延时一毫秒
  Clear();//去辉度函数
  digitalWrite(L2,LOW);
  digitalWrite(H1,tab[0][1]);
  digitalWrite(H2,tab[1][1]);
  digitalWrite(H3,tab[2][1]);
  digitalWrite(H4,tab[3][1]);
  digitalWrite(H5,tab[4][1]);
  digitalWrite(H6,tab[5][1]);
  digitalWrite(H7,tab[6][1]);
  digitalWrite(H8,tab[7][1]);
  delay(1);
  Clear();
  //把第二列图像显示
   digitalWrite(L3,LOW);
  digitalWrite(H1,tab[0][2]);
  digitalWrite(H2,tab[1][2]);
  digitalWrite(H3,tab[2][2]);
  digitalWrite(H4,tab[3][2]);
  digitalWrite(H5,tab[4][2]);
  digitalWrite(H6,tab[5][2]);
  digitalWrite(H7,tab[6][2]);
  digitalWrite(H8,tab[7][2]);
  delay(1);
  Clear();
  //把第三列图像显示

   digitalWrite(L4,LOW);
  digitalWrite(H1,tab[0][3]);
  digitalWrite(H2,tab[1][3]);
  digitalWrite(H3,tab[2][3]);
  digitalWrite(H4,tab[3][3]);
  digitalWrite(H5,tab[4][3]);
  digitalWrite(H6,tab[5][3]);
  digitalWrite(H7,tab[6][3]);
  digitalWrite(H8,tab[7][3]);
  delay(1);
  Clear();
  //把第四列图像显示

   digitalWrite(L5,LOW);
  digitalWrite(H1,tab[0][4]);
  digitalWrite(H2,tab[1][4]);
  digitalWrite(H3,tab[2][4]);
  digitalWrite(H4,tab[3][4]);
  digitalWrite(H5,tab[4][4]);
  digitalWrite(H6,tab[5][4]);
  digitalWrite(H7,tab[6][4]);
  digitalWrite(H8,tab[7][4]);
  delay(1);
  Clear();
  //把第五列图像显示

   digitalWrite(L6,LOW);
  digitalWrite(H1,tab[0][5]);
  digitalWrite(H2,tab[1][5]);
  digitalWrite(H3,tab[2][5]);
  digitalWrite(H4,tab[3][5]);
  digitalWrite(H5,tab[4][5]);
  digitalWrite(H6,tab[5][5]);
  digitalWrite(H7,tab[6][5]);
  digitalWrite(H8,tab[7][5]);
  delay(1);
  Clear();
  //把第六列图像显示
   digitalWrite(L7,LOW);
  digitalWrite(H1,tab[0][6]);
  digitalWrite(H2,tab[1][6]);
  digitalWrite(H3,tab[2][6]);
  digitalWrite(H4,tab[3][6]);
  digitalWrite(H5,tab[4][6]);
  digitalWrite(H6,tab[5][6]);
  digitalWrite(H7,tab[6][6]);
  digitalWrite(H8,tab[7][6]);
  delay(1);
  Clear();
  //把第七列图像显示

   digitalWrite(L8,LOW);
  digitalWrite(H1,tab[0][7]);
  digitalWrite(H2,tab[1][7]);
  digitalWrite(H3,tab[2][7]);
  digitalWrite(H4,tab[3][7]);
  digitalWrite(H5,tab[4][7]);
  digitalWrite(H6,tab[5][7]);
  digitalWrite(H7,tab[6][7]);
  digitalWrite(H8,tab[7][7]);
  delay(1);
  Clear();//把第八列图像显示
}

我的手机 2017/4/25 22:41:15

void loop(){
 
if(digitalRead(button)==LOW)//如果按下按钮开始执行程序
{for(int i=0;i<100;i++)
  Display(table1);//将图一显示一百次
 for(int i=0;i<100;i++)
 Display(table2);//将图二显示一百次
 for(int i=0;i<100;i++)
 Display(table3);//将图三显示一百次
  for(int i=0;i<100;i++)
 Display(table4);//将图四显示一百次
  for(int i=0;i<100;i++)
 Display(table5);//将图五显示一百次
 for(int i=0;i<100;i++)
 Display(table6);//将图六显示一百次

}
江苏科技大学“FlySpiders”本创小组组员学习记录----王澳刚_第1张图片
                                                                                                                                                                                                                                                                   图文编辑:朱玉馨

你可能感兴趣的:(江苏科技大学“FlySpiders”本创小组组员学习记录----王澳刚)