#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char
uint i,button,temp,num,j=0,n;
uchar code button_table[]={0xee,0xde,0xbe,0x7e,
0xed,0xdd,0xbd,0x7d,
0xeb,0xdb};
uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar address[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
void delay(n)
{
for(i=n;i>0;i--)
;
}
void delay2()
{for(n=50000;n>0;n--)
;
}
/*****************************************************************/
void main()
{
while(1)
{
P3=0xf0;
if(P3!=0xf0)
{
delay(10000);
if(P3!=0xf0)
{
temp=P3;
P3=0x0f;
button=P3|temp;
for(i=0;i<10;i++)
{
if(button==button_table[ i])
{ num=i;break;}
}
P2=address[j];
P0=table[num];
delay2();
j++;
if(j==8)
{j=0;}
}
}
;
}
}
但是這個只能實現顯示當前按鍵所對應的數字,圖上是我第三個按鍵按的6,用這種動態顯示的數碼管無法顯示8個數啊,應該怎么辦?求大佬解答一下,謝謝~