#include<reg51.h>
unsigned char code table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,
0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,
0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,
0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,
0xff,0x00,0xff,0x00};
unsigned char code table1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x3f};
unsigned char i;
void delay()
{
unsigned char i,j,k;
for(i=20;i>0;i--)
for(j=20;j>0;j--)
for(k=248;k>0;k--);
}
sbit kaiguan=P3^0
void main()
{
while(1)
{
if(kaiguan==0)
{
for(i=0;i<36;i++);
{
P1=table
;
delay();
}
}
else if(kaiguan==1)
{
for(i=0;i<10;i++);
{
P0=table1;
delay();
}
}
}
}
这是我反复更改后的程序,还是存在错误,运行仿真后D1-D8只亮D7-D8,数码管从8回到0,就不动了,按下开关也无效