往CGRAM里面写字符,为什么字符会闪烁


#include<reg51.h>
unsigned char str3[] = {0x10,0x0F,0x10,0x10,0x10,0x10,0x0F,0x00};
void initlcd()
{
   writecmd(0x38);
   writecmd(0x0c);     
   writecmd(0x06);    
   writecmd(0x01);
}


void writeCGRAM()    //把数据存入到CGRAM里面
{
unsigned char i;
writecmd(0x40);    
for(i=0;i<8;i++)
writedat(str3[i]);
}


void main()
{
    initlcd();
    delay(10);
     writeCGRAM();
     writecmd(0x80);
     writedat(0x00);
    
}

img

void main()
{
    initlcd();
    delay(10);
     writeCGRAM();
     writecmd(0x80);
     writedat(0x00);
    while(1);//不加这个会不停的重启导致闪烁
}