所以准备一下材料
四位数码管 1个
arduino控制板 1个
面包板 1快
面包板专用跳线盒 若干
数据线 若干
220欧姆电阻 8个
这个驱动程序,是我看了其他人程序后总结的,应该可以给,和我一样的初学者一些帮助,
void setup()
{
for(int i=2;i<=13;i++)//这里用循环对接口初始化,设置输出接口,,2——5是位选,6——13是段选
pinMode(i,OUTPUT);
}
void loop()//主函数
{
display(1,1);//函数调用
delay(1000);
display(2,2);//第一个2是位选,第二个2是要显示的数组,可以改变,比如改成5,数码管第二位就会显示5
delay(1000);
display(3,3);
delay(1000);
display(4,4);
delay(1000);
}
void display(unsigned char com ,unsigned char num)//这里定义了两个变量
{
for(int j=6;j<=13;j++)
{
digitalWrite(j,LOW); //清零
}
digitalWrite(2,HIGH);
digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
switch(com)//其中一个变量用来选择数码管的位
{
case 1:
digitalWrite(2,LOW);
break;
case 2:
digitalWrite(3,LOW);
break;
case 3:
digitalWrite(4,LOW);
break;
case 4:
digitalWrite(5,LOW);
break;
default:break;
}
int table[15][8]={ 1,1,1,1,1,1,0,0,//0 //这里是用数组显示的0到f
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 //这个数组最后的0是代表小数点,0就是不显示
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,0,1,1,1,1,1,0,//b
1,0,0,1,1,1,0,0,//c
0,1,1,1,1,0,1,0,//d
1,0,0,1,1,1,1,0,//e
1,0,0,0,1,1,1,0//f
};
for(int j=6;j<=13;j++) //这里是用循环将某一位数码管显示
digitalWrite(j,table[num][j-6]);//另外一个变量num来选择你所以显示的数字,
}
第一次发帖,没有准备视频,这个演示效果是,四位数码管轮流显示数字,数字有自己设定,
|