数字从最后一位数码管依次向左出现,直到最后一位数在第一个数码管消失为一次循环。
#include <reg51.h>
void move_disp()
{
unsigned char move[ ]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x6f,0x6f,0x6d,0x3f,0x4f,0x06,0x7d,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
unsigned char tab[ ]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
unsigned char m, n, k;
for(m = 0; m < 15; m++)
{
for(k = 0; k < 10; k++)
{
for(n = 0; n < 8; n++)
{
P0=tab[n];
P2=move[m+n];
time1ms();
P2=0xff;
}
}
}
}
void main()
{
while(1)
{
move_disp();
}
}
这个是我照着书上的程序写的,按道理是没有错de,但是我做出来,不仅不滚动,连数字都不显示,不知道是代码有问题还是我的图有问题,求解答。