我改写的LED显示-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4044|回复: 0

我改写的LED显示

[复制链接]
发表于 2013-11-29 09:28 | 显示全部楼层 |阅读模式
学习了老师的程序,改写了一个程序,觉得很好玩的(共阴LED),不知还能否简化了。

const unsigned char LED8Pin[]={
  2,3,4,5,6,7,8,9};//A B C D E F G Dp(改写了接口)
const unsigned char LED8Code[]={
0x01, // a,LED单笔
0x02, // b
0x04, // c
0x08, // d
0x10, // e
0x20, // f
0x40, // g
0x80, // h
0x01, // a,LED单笔加笔划
0x03, // a,b
0x07, // a,b,c
0x0F, // a,b,c,d
0x1F, // a,b,c,d,e
0x3F, // a,b,c,d,e,f
0x7F, // a,b,c,d,e,f,g
0xFF, // a,b,c,d,e,f,g,h 全显示
0x3F, // 0,LED显示数字
0x06, // 1
0x5B, // 2
0x4F, // 3
0x66, // 4
0x6D, // 5
0x7D, // 6
0x07, // 7
0x7F, // 8
0x6F, // 9
0x77, // A
0x7C, // B
0x39, // C
0x5E, // D
0x79, // E
0x71, // F//共32个显示

};
void setup() {
   char i;
   for(i=0;i<8;i++)
   {
     pinMode(LED8Pin[i], OUTPUT);     
     digitalWrite(LED8Pin[i], HIGH);   
   }
}
char a;
void loop() {
   for(a=0;a<32;a++)//这里是32
   {
     LED8Show(a);
     delay(2000);//(改成2S)
   }
}
void LED8Show(char data){
   char i;
   char j;
   char hc;
   if(0<=data<32)//这也改成32
   {
     hc = LED8Code[data];
     for(i=0;i<8;i++)
     {
       j = bitRead(hc,i);
       digitalWrite(LED8Pin[i], j);
     }
   }
}

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-1-1 18:41 , Processed in 0.091878 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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