点亮数码管

数码管的示意图如上,通过点亮a-g七个led来拼成对应的数字或字符,数码管有共阳极(底电平亮)和共阴极(高电平亮),以上图的数字2为例:

共阳极(0亮1灭):   DP G  F  E  D  C  B  A

                             1  0  1  0  0  1   0  0         = 0xA4

共阴极(1亮0灭):   DP G F E  D C   B  A  

                             0  1 0 1  1  0  1   1           = 0x5B

全部定义:

附件的excel中有所有共阳共阴的代码;

以共阳极为例,将0-9定义在数组(C语言中是叫“表”?有知道的同志可以赐教)中,通过循环来依次显示0-9;

#include <reg52.h>

unsigned char code dofly_table[10]={0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x82,0xf8,0x80,0x90,};
// 显示数值表0-9
void Delay();

void main ()
{
  unsigned char i;
  while(1)
  {
     for (i = 0; i < 10; i++)
     {
        P1=dofly_table[i];
        Delay();
     }
  }
}

void Delay() // 12M晶振1s延时
{
unsigned char h, i, j, k;

for (h = 5; h > 0; h--)
for (i = 4; i > 0; i--)
for (j = 116; j > 0; j--)
for (k = 214; k > 0; k--); // 最后个要有 ; 号

}

谁知道怎么插入附件

posted @ 2014-02-26 14:21  彩蛋  阅读(1350)  评论(0编辑  收藏  举报