关于12864动态显示数字的问题

我想在12864显示屏上显示一个动态数字,从0~99,但显示屏上效果只有一个0,而且不变化,跪求大神能指点一下
图片说明
(目前第二行和第三行还断码),附上主函数,循环显示的语句在最后,望大神赐教

#include
#include"Twist_Switch.h"
#include"STC15.H"

uchar code dis1[]={"C101实验室"};
uchar code dis2[]={"上旋钮:"};
uchar code dis3[]={"下旋钮:"};
uchar code dis4[]={"感谢使用"};
uchar Number[2];

void delay_ms(uint x)
{
uint i,j;
for(j=0;j<x;j++)
for(i=0;i<110;i++);
}

void LcdGPIO_Init(void) //设置准双向口
{
P0M1 = 0; P0M0 = 0;

P1M1 = 0; P1M0 = 0;

P2M1 = 0; P2M0 = 0;

P3M1 = 0; P3M0 = 0;

P4M1 = 0; P4M0 = 0;

P5M1 = 0; P5M0 = 0;

P6M1 = 0; P6M0 = 0;

P7M1 = 0; P7M0 = 0;

}

void write_cmd(uchar cmd) //写指令
{
LCD_RS=0;
LCD_RW=0;
LCD_EN=0;
LCD_data=cmd;
delay_ms(5);
LCD_EN=1;
delay_ms(5);
LCD_EN=0;
}

void write_dat(uchar dat) //写数据
{
LCD_RS=1;
LCD_RW=0;
LCD_EN=0;
LCD_data=dat;
delay_ms(5);
LCD_EN=1;
delay_ms(5);
LCD_EN=0;
}

void lcd_pos(uchar X,uchar Y) //LCD屏幕显示位置
{
uchar pos;
if(X==0)
{X=0x80;}
else if (X==1)
{X=0x90;}
else if (X==2)
{X=0x88;}
else if (X==3)
{X=0x98;}
pos=X+Y;
write_cmd(pos);
}

void lcd_init() //液晶屏初始化
{
//LCD_PSB=1;
write_cmd(0x30);
delay_ms(5);
write_cmd(0x0C);
delay_ms(5);
write_cmd(0x01);
delay_ms(5);
}

void main()
{
LcdGPIO_Init();
delay_ms(10);
lcd_init();
while(1)
{
uchar i,k;
lcd_pos(0,1);
i=0;
while(dis1[i]!='\0')
{
write_dat(dis1[i]);
i++;
}

    lcd_pos(1,0);
    i=0;
    while(dis2[i]!='\0')
    {
        write_dat(dis2[i]);
        i++;
    }

    lcd_pos(2,0);
    i=0;
    while(dis3[i]!='\0')
    {
        write_dat(dis3[i]);
        i++;
    }

    lcd_pos(3,2);
    i=0;
    while(dis4[i]!='\0')  //δ½áÊø
    {
        write_dat(dis4[i]);
        i++;
    }


            lcd_pos(1,4);
            for(k=0;k<100;k++)
            {
                for(a=0;a<100;a++)
                    {
                        Number[0]=a/10;
                        Number[1]=a%10;
                        sprintf(&Number, "%d", a);  //½«ÕûÐÎת»»³É×Ö·û´®
                        write_dat(Number[k]);
                    }

            }

}

}
(没有附加Twist_Switch.h和STC15.H程序,头文件里应该没有问题)
再次感谢!!!!

建议用中断,这样放在循环里有时候会出问题