Arduino的三位数码管
按照以下的Arduino板子上的口连线
#define dw digitalWrite
#define uint unsigned int
uint data[][10]={
{1,2,3,7,4,5,0},
{2,3,0},
{1,2,4,5,6,0},
{1,2,3,4,6,0},
{2,3,7,6,0},
{1,7,6,3,4,0},
{1,7,6,3,4,5,0},
{1,2,3,0},
{1,2,3,4,5,6,7,0},
{1,7,6,2,3,4,0}
};
bool flag = true;
uint p = 0;
//点亮一位数字
void ledstart(uint n,uint k){
if(k%3==0){
dw(9,1),dw(10,0),dw(11,0);
}
else if(k%3==1){
dw(9,0),dw(10,1),dw(11,0);
}
else{
dw(9,0),dw(10,0),dw(11,1);
}
for(uint i = 0;i<9;i++) //初始化数码管
dw(i,1);
for(uint i = 0;data[n][i]!=0;i++)
dw(data[n][i],0);
}
void setup(){
for(uint i = 0;i<12;i++){
pinMode(i,OUTPUT);
dw(i,1);
}
}
void loop(){
for(uint p = 0;p<10;p++){
for(uint i = 0;i<10;i++){
for(uint j = 0;j<10;j++){
for(uint k = 0;k<100;k++){
ledstart(p,11);delay(2); //含200ms延时
ledstart(i,9);delay(2);//十位
ledstart(j,10);delay(2);//个位
}
}
}
}
}