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

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 29242|回复: 8

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

[复制链接]
发表于 2015-1-7 22:09 | 显示全部楼层 |阅读模式
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[data];
    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单片机的很容易懂
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 16:46 , Processed in 0.105043 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表