用51单片机八位共阴极数码管三极管,设计单片机动态扫描显示系统,八位数码管稳定同时显示1-8数字。
c includeunsigned char codetable[] = {0x3 f, 0x06 , 0x5 b, 0x4 f, 0x6 6 , 0x6 d, 0x7 d, 0x07 , 0x7 f, 0x6 f};
void display(); // 函数声明 void time_delay(); // 函数声明
void main() { while (1 ) { display(); // 循环调用显示函数 } }
void display() { unsigned char index; for (index = 0; index < 8 ; ++index) { P0 = codetable[index + 1 ]; // 显示数码管字符 P2 = ~(0x01 << index); // 控制位选 time_delay(); // 延时 P2 = 0xFF; // 关闭位选 } }
void time_delay() { int counter; for (counter = 1 00; counter > 0; --counter) { // 空循环延时 } }
8位数码管怎么显示的!!!!
尽管不是每个人对电子基础都有深刻的认识,但我们可以从基础出发,揭开8 位数码管的神秘面纱,其实它们并不像看起来那么难以理解。想象一下,8 位数码管就像是由8 个小灯泡组成的,其中一个小灯泡专门用来表示小数点。
比如说,如果我们想要显示数字1 ,只需要点亮右侧上下两个小灯泡就足够了。
为了更加清晰地理解,我们可以给这8 个小灯泡逐一编号,比如从A到H。
当我们需要显示不同的数字,从0到9 ,实际上就是在这些小灯泡之间进行不同的组合。
在每个数字的显示状态下,哪些小灯泡需要亮起,这就构成了所谓的“编码”。
比如说,当我们要显示数字0时,ABCDEFGH这8 个小灯泡都需要被点亮。
一旦我们掌握了这些编码,我们就可以依据这些编码来控制小灯泡的亮灯状态。
比如说,当我们要显示数字1 时,我们只需要点亮编号为BC的小灯泡,而其他的灯泡则保持关闭状态。
通过这种方式,我们就能控制数码管显示不同的数字。
在实际应用中,我们通常会采用一些特定的编码方式,比如7 段数码管的编码,来简化控制过程。
这种编码方式不仅适用于简单的显示需求,还可以拓展到更为复杂的显示应用中。
8 位数码管的显示原理虽然相对简单,但它们背后的编码逻辑却至关重要。
通过熟悉这些基础知识,我们就能更加深入地理解和应用数码管显示技术,从而实现更加多样化的显示效果。
单片机:::8只数码管同时显示数字1—8 怎么做????。 求大神万分感谢、、
c includesbit wei = P1 ^1 ; // 位选控制 sbit duan = P1 ^0; // 段选控制
unsigned int i, n; unsigned int w[8 ] = {0xFE, 0xFD, 0xFB, 0xF7 , 0xEF, 0xDF, 0xBF, 0x7 F}; unsigned int x[8 ] = {0x06 , 0x5 B, 0x4 F, 0x6 6 , 0x6 D, 0x7 D, 0x07 , 0x7 F};
void delay() { for (i = 4 00; i > 0; i--); }
void main() { while (1 ) { for (n = 0; n