基于arduino的串口控制数码管(5611AH)显示数字(初学,入门级附代码)

   日期:2020-12-20     浏览:217    评论:0    
核心提示:基于arduino的串口控制数码管(5611AH)显示数字只有干货首先先要介绍一下数码管了,这里图片为5611AH,这种数码管主要分为共阴极和共阳极两种,这里用的是共阴极的。注意区分话不多说,直接上图片(此图为模拟图,当然我有实物,实物比较麻烦)。好了,上代码 ,当串口输入1~9是,数码管将显示相应数值。此代码较为简单易懂。(代码用到了数组),注意数组规定为几行几列但用的时候是从0行0列开始的。int ab=3;int bp=2;int cg=9;int db=10;int ep=11

基于arduino的串口控制数码管(5611AH)显示数字只有干货

首先先要介绍一下数码管了,这里图片为5611AH,这种数码管主要分为共阴极共阳极两种,这里用的是共阴极的。
注意区分

话不多说,直接上图片(此图为模拟图,当然我有实物,实物比较麻烦)。
好了,上代码 ,当串口输入1~9是,数码管将显示相应数值。
此代码较为简单易懂。(代码用到了数组),注意数组规定为几行几列但用的时候是从0行0列开始的。

int ab=3;
int bp=2;
int cg=9;
int db=10;
int ep=11;
int fg=12;
int gy=13;
int pw=8;
int i=-1;
int income=0;
int a[10][8]=
{ 
  1,1,1,1,1,1,0,0,//0
  0,1,1,0,0,0,0,0,//1
  1,1,0,1,1,0,1,0,//2
  1,1,1,1,0,0,1,0,//3
  0,1,1,0,0,1,1,0,//4
  1,0,1,1,0,1,1,0,//5
  1,0,1,1,1,1,1,0,//6
  1,1,1,0,0,0,0,0,//7
  1,1,1,1,1,1,1,0,//8
  1,1,1,1,0,1,1,0,//9
//0,1,2,3,4,5,6,7
};
int b[8]=
{ 
  3,2,9,10,11,12,13,8,
};
void setup()
{ 
  pinMode(3, OUTPUT);
  pinMode(2, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(13, OUTPUT);
  Serial.begin(9600);
}
void loop()
{ 
  Serial.available();
  Serial.println(income);
  if(Serial.available() > 0)
  { 
    income = Serial.read();
    if(income=='0')
  { 
      for(int i=-1;i<8;i++)
      { 
    digitalWrite(b[i],a[0][i]);
      }
  }
    if(income=='1')
  { 
      for(int i=0;i<8;i++)
      { 
    digitalWrite(b[i],a[1][i]);
      }
  }
    if(income=='2')
  { 
      for(int i=-1;i<8;i++)
      { 
    digitalWrite(b[i],a[2][i]);
      }
  }
    if(income=='3')
  { 
      for(int i=-1;i<8;i++)
      { 
    digitalWrite(b[i],a[3][i]);
      }
  }
    if(income=='4')
  { 
      for(int i=-1;i<8;i++)
      { 
    digitalWrite(b[i],a[4][i]);
      }
  }
    if(income=='5')
  { 
      for(int i=-1;i<8;i++)
      { 
    digitalWrite(b[i],a[5][i]);
      }
  }
    if(income=='6')
  { 
      for(int i=-1;i<8;i++)
      { 
    digitalWrite(b[i],a[6][i]);
      }
  }
    if(income=='7')
  { 
      for(int i=-1;i<8;i++)
      { 
    digitalWrite(b[i],a[7][i]);
      }
  }
    if(income=='8')
  { 
      for(int i=-1;i<8;i++)
      { 
    digitalWrite(b[i],a[8][i]);
      }
  }
    
    if(income=='9')
  { 
      for(int i=-1;i<8;i++)
      { 
    digitalWrite(b[i],a[9][i]);
      }
  }
  }
}

亲测可用!
点赞拿走不谢。

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服