极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9216|回复: 0

新手上路 不知道哪有问题 请大家帮忙啊

[复制链接]
发表于 2015-5-11 15:38:47 | 显示全部楼层 |阅读模式
想做一个四位数码管分别显示1234    借鉴的一个程序  不知道该怎么改啊
#define SEG_A 2
#define SEG_B 3
#define SEG_C 4
#define SEG_D 5
#define SEG_E 6
#define SEG_F 7
#define SEG_G 8
#define SEG_H 9

#define COM1  10
#define COM2  11
#define COM3  12
#define COM4  13

unsigned char table[10][8]=
{
  {0,0,1,1,1,1,1,1},
  {0,0,0,0,0,1,1,0},
  {0,1,0,1,1,0,1,1},
  {0,1,0,0,1,1,1,1},
  {0,1,1,0,0,1,1,0},
  {0,1,1,0,1,1,0,1},
  {0,1,1,1,1,1,0,1},
  {0,0,0,0,0,1,1,1},
  {0,1,1,1,1,1,1,1},
  {0,1,1,0,1,1,1,1}
}

void setup()
{
pinMode(SEG_A,OUTPUT);
pinMode(SEG_B,OUTPUT);
pinMode(SEG_C,OUTPUT);
pinMode(SEG_D,OUTPUT);
pinMode(SEG_E,OUTPUT);
pinMode(SEG_F,OUTPUT);
pinMode(SEG_G,OUTPUT);
pinMode(SEG_H,OUTPUT);

pinMode(COM1,OUTPUT);
pinMode(COM2,OUTPUT);
pinMode(COM3,OUTPUT);
pinMode(COM4,OUTPUT);
}

void  loop()
{
    Display(1,1);
    delay(500);
    Display(2,2);
    delay(500);
    Display(3,3);
    delay(500);
    Display(4,4);
    delay(500);
}

void display( unsigned char  com,unsigned char  num    )
{
    digitalWrite( SEG_A LOW);
    digitalWrite( SEG_B LOW);
    digitalWrite( SEG_C LOW);
    digitalWrite( SEG_D LOW);
    digitalWrite( SEG_E LOW);
    digitalWrite( SEG_F LOW);
    digitalWrite( SEG_G LOW);
    digitalWrite( SEG_H LOW);
    digitalWrite( SEG_A LOW);
   
    switch(com)
    {   
      case 1:
         digitalwrite(com1,low);
         digitalwrite(com2,low);
         digitalwrite(com3,low);
         digitalwrite(com4,low);
         break;
      case 2:
          digitalwrite(com1,HIGH);
          digitalwrite(com2,low);
          digitalwrite(com3,HIGH);
          digitalwrite(com4,HIGH);
          break;
       case 3:
           digitalwrite(com1,HIGH);
           digitalwrite(com2,HIGH);
           digitalwrite(com3,low);
           digitalwrite(com4,HIGH);
           break;
       case 4:
            digitalwrite(com1,HIGH);
            digitalwrite(com2,HIGH);
            digitalwrite(com3,HIGH);
            digitalwrite(com4,LOW);
            break;
        default:break;
    }
    digitalWrite( SEG_A,table[num][7]);
    digitalWrite( SEG_B,table[num][6]);
    digitalWrite( SEG_C,table[num][5]);
    digitalWrite( SEG_D,table[num][4]);
    digitalWrite( SEG_E,table[num][3]);
    digitalWrite( SEG_F,table[num][2]);
    digitalWrite( SEG_G,table[num][1]);
    digitalWrite( SEG_H,table[num][0]);
   
}
      
   
回复

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-9 05:18 , Processed in 0.035102 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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