单片机数码管显示问题

2025-04-17 05:26:10
推荐回答(1个)
回答1:

改动硬件连线,虽然可以,但是不如改动程序,更为方便。

如下修改即可:

void display()
{
P0=table[0];

P2_0 = 0; //改为 P2_3
delay(5);
P2_0 = 1; //改为 P2_3
P0=table[1];
P2_1 = 0; //改为 P2_2
delay(5);
P2_1 = 1; //改为 P2_2
P0=table[2];
P2_2 = 0; //改为 P2_1
delay(5);
P2_2 = 1; //改为 P2_1
P0=table[3];
P2_3 = 0; //改为 P2_0
delay(5);
P2_3 = 1; //改为 P2_0
}

下面的改动,更简单:

void display()
{
P0=table[0]; //改为 P0=table[3];
P2_0 = 0;
delay(5);
P2_0 = 1;
P0=table[1]; //改为 P0=table[2];
P2_1 = 0;
delay(5);
P2_1 = 1;
P0=table[2]; //改为 P0=table[1];
P2_2 = 0;
delay(5);
P2_2 = 1;
P0=table[3]; //改为 P0=table[0];
P2_3 = 0;
delay(5);
P2_3 = 1;
}

试试看,一定可以成功。