您的位置:首页 > 产品设计 > UI/UE

Arduino 单位数码管实验

2016-10-30 13:12 585 查看
数码管,分共阴共阳两类。

共阴——共用阴极GND,

公阳——共用阳极3.3V。

数码管相当于集成了8个LED灯,然后用8条线分别控制其各LED的开关,组合成各种数字或字符。

实验效果



引脚说明



* PS 右下角圆点也为h

BOM表

Arduino Uno          * 1

单位共阴数码管       *1

电阻 1KΩ                *1

跳线若干

接线图



程序开源代码

#define D_a 2  //数码管a 接引脚 2
#define D_b 3
#define D_c 4
#define D_d 5
#define D_e 6
#define D_f 7
#define D_g 8
#define D_h 9

//数码管0-F数字码值
unsigned char num[17][8] =
{
//1为点亮,0为关闭,a表示数码管a的led灯,其他类似
//a  b  c  d  e  f  g  h
{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
{1, 1, 1, 0, 1, 1, 1, 1},     //A
{1, 1, 1, 1, 1, 1, 1, 1},     //B
{1, 0, 0, 1, 1, 1, 0, 1},     //C
{1, 1, 1, 1, 1, 1, 0, 1},     //D
{1, 0, 0, 1, 1, 1, 1, 1},     //E
{1, 0, 0, 0, 1, 1, 1, 1},     //F
{0, 0, 0, 0, 0, 0, 0, 1},     //.
};

void setup()
{
pinMode(D_a,OUTPUT);				//设置引脚为输出
pinMode(D_b,OUTPUT);        //设置引脚为输出
pinMode(D_c,OUTPUT);        //设置引脚为输出
pinMode(D_d,OUTPUT);        //设置引脚为输出
pinMode(D_e,OUTPUT);        //设置引脚为输出
pinMode(D_f,OUTPUT);        //设置引脚为输出
pinMode(D_g,OUTPUT);        //设置引脚为输出
pinMode(D_h,OUTPUT);        //设置引脚为输出
}

void loop()
{
//按顺序显示0123456789ABCDEF.
for( int i = 0 ; i < 17 ; i++)				//循环显示0-9
{
digitalWrite(D_a,num[i][0]);	//设置a 引脚的电平
digitalWrite(D_b,num[i][1]);  //设置b 引脚的电平
digitalWrite(D_c,num[i][2]);  //设置c 引脚的电平
digitalWrite(D_d,num[i][3]);  //设置d 引脚的电平
digitalWrite(D_e,num[i][4]);  //设置e 引脚的电平
digitalWrite(D_f,num[i][5]);  //设置f 引脚的电平
digitalWrite(D_g,num[i][6]);  //设置g 引脚的电平
digitalWrite(D_h,num[i][7]);  //设置h 引脚的电平

delay(1000);						//延迟1秒
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: