点亮数码管

数码管的示意图如上,通过点亮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--); // 最后个要有 ; 号

}

谁知道怎么插入附件

相关文章:

  • 2021-12-26
  • 2021-05-13
  • 2021-10-01
  • 2022-02-07
  • 2022-12-23
  • 2021-05-22
  • 2021-05-10
  • 2021-06-28
猜你喜欢
  • 2021-12-29
  • 2021-10-12
  • 2022-12-23
  • 2021-12-19
  • 2022-01-18
  • 2021-11-18
相关资源
相似解决方案