2位数码管从静态到动态的过程-Arduino中文社区 - Powered by Discuz! Archiver

简单侣图 发表于 2015-1-7 22:09

2位数码管从静态到动态的过程

1.开始写的是静态2位数码管,显示数字为12,但是有十位一点点的不正常,可以帮忙纠正哦const unsigned char LED8Pin[]={
6,7,8,10,11,13,12,9};//A B C D E F G Dp
const unsigned char LED8Code[]={
0xC0,    // 0
0xF9,    // 1
0xA4,    // 2
0xB0,    // 3
0x99,    // 4
0x92,    // 5
0x82,    // 6
0xF8,    // 7
0x80,    // 8
0x90,    // 9
0x88,    // A
0x83,    // B
0xC6,    // C
0xA1,    // D
0x86,    // E
0x8E   // F
};
int wei1 = 2;
int wei2 = 3;

void setup()
{
char i;
pinMode(wei1,OUTPUT);
pinMode(wei2,OUTPUT);
digitalWrite(wei1,LOW);
digitalWrite(wei2,LOW);
for(i=0;i<8;i++)
{
    pinMode(LED8Pin, OUTPUT);   
    digitalWrite(LED8Pin, HIGH);   
}
}
int a;
void loop()
{
    digitalWrite(wei1,HIGH);
    LED8Show(1);
    delay(10);
    digitalWrite(wei1,LOW);
    LED8Show(2);
    digitalWrite(wei2,HIGH);
    delay(10);
    digitalWrite(wei2,LOW);
}
void LED8Show(char data){
char i;
char j;
char hc;
if(0<=data<16)
{
    hc = LED8Code;
    for(i=0;i<8;i++)
    {
      j = bitRead(hc,i);
      digitalWrite(LED8Pin, j);
    }
}
}

2.现在修改的是主函数loop就可以哦,显示是00-->>99不断循环的,我暂时还没了解到中断函数,这个比较一般的哦,代码如下:
int a ,b = 0,c = 0;
void loop()
{   
    digitalWrite(wei1,HIGH);
    LED8Show(b/10);
    delay(10);
    digitalWrite(wei1,LOW);
    LED8Show(b%10);
    digitalWrite(wei2,HIGH);
    delay(10);
    digitalWrite(wei2,LOW);
   c++;
    if(c==50)
    {
      b++;
      c = 0;
      if(b == 100)
      {
      b = 0;
      }
    }
}

值班室 发表于 2015-1-14 10:56

http://www.geek-workshop.com/forum.php?mod=viewthread&tid=3168&highlight=%CA%FD%C2%EB%B9%DC
看看这个帖子,里面讲解的很详细。

值班室 发表于 2015-1-9 22:21

学习Arduino没有多长时间,最近在学数码管,看了楼主写的2位共阳数码管,很好理解。数码管有写好的库,SevSeg,内部中断也有写好的库,TimerOne。

简单侣图 发表于 2015-1-10 14:37

值班室 发表于 2015-1-9 22:21
学习Arduino没有多长时间,最近在学数码管,看了楼主写的2位共阳数码管,很好理解。数码管有写好的库,SevS ...

我还不知到怎么把库添加到IDE那里的,求教啊,一起学习

值班室 发表于 2015-1-13 09:06

把库文件放在Arduino IDE的libraries文件夹中就可以了。

简单侣图 发表于 2015-1-13 12:40

那库文件在哪里有下啊?英文网站看不懂啊:'(学好英文才行

简单侣图 发表于 2015-1-14 11:42

多谢解答,我是想问下那些库文件在国内网站哪里可以下载的?知道就说下吧,谢谢了

值班室 发表于 2015-1-15 09:44

学Arduino也不长,还是个新手,库方面的资料都来自论坛,最近正在学习四位数码管,愿与朋友们共同交流,共同学习。

简单侣图 发表于 2015-1-15 10:58

嗯,共同学习,2位和4位的道理是一样的,学过51单片机的很容易懂
页: [1]
查看完整版本: 2位数码管从静态到动态的过程