帮忙看下 怎么不循环
想让8个数码管 做右移循环 !!#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar temp,j,aa;
uchar table[8]={0x80,0xf8, //1-8编码
0xf8,0x92,
0x99,0xB0,
0xA4,0xf9};
delay(uint z) //延时子程序
{uint x,y;
for(x=10;x>0;x--)
for(y=z;y>0;y--);
}
void display() //动态显示子程序 初始显示87654321
{P3=0XFE;
P0=table[0];
delay(1);
P3=0XFD;
P0=table[1];
delay(1);
P3=0XFB;
P0=table[2];
delay(1);
P3=0XF7;
P0=table[3];
delay(1);
P3=0XEF;
P0=table[4];
delay(10);
P3=0XDF;
P0=table[5];
delay(1);
P3=0XBF;
P0=table[6];
delay(1);
P3=0X7F;
P0=table[7];
delay(1);
}
void timer0() interrupt 1
{TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
aa++;}
void init() //初始化子程序
{aa=0;
TMOD=0X01;
TH0=(65536-50000)/256; //定时50ms
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;}
void main()
{init(); //初始化子程序调用
while(1) //大循环
{if(aa==20) //50*20=1s 是否到1s
{aa=0;
for(j=7;j>=1;j--) //table[]右移循环 {这好像有问题}
{temp=table[j];
table[j]=table[j-1];
table[0]=temp;}
}
display(); //调用动态显示子程序
}
}