单片机c语言点亮数码管,单片机点亮数码管

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

}

数码管的示意图如上,通过点亮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--); // 最后个要有 ; 号 }
经验分享 程序员 微信小程序 职场和发展