Arduino三位数码管

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);//个位
			}
		}
	}	
  }
}
原创文章 96 获赞 28 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_43813140/article/details/102733735
今日推荐