×
单片机 > 单片机程序设计 > 详情

单片机点亮数码管

发布时间:2020-06-01 发布时间:
|

数码管的示意图如上,通过点亮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

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--); // 最后个要有 ; 号

}


关键字:单片机  数码管 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
浅谈AVR中定时器几种工作模式