1602液晶显示乱码

2019-07-16 01:33发布

写了一个用1602液晶显示时钟、闹钟、温度程序,为什么单片机上电后先显示乱码,过一会儿才显示正常,为什么啊?我的程序有6k多,会是因为程序太大,51单片机执行慢了的原因吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
16条回答
37395482
2019-07-16 09:27
那低头一笑的温 发表于 2013-4-10 18:06
清缓存不是清屏,是把空格符写进所有1602的显示缓存中,让屏幕全屏显示空格,也就是把 ' ' 写进32位显示中 ...

void LCD_Init(void)
{
   LCD_Write_Com(0x38);    /*显示模式设置*/
   DelayMs(5);
   LCD_Write_Com(0x38);
   DelayMs(5);
   LCD_Write_Com(0x38);
   DelayMs(5);
   LCD_Write_Com(0x38);  
   LCD_Write_Com(0x08);    /*显示关闭*/
   LCD_Write_Com(0x01);    /*显示清屏*/
   LCD_Write_Com(0x06);    /*显示光标移动设置*/
   DelayMs(5);
   LCD_Write_Com(0x0C);    /*显示开及光标设置*/
   }

这是我的液晶初始化函数,你能看下有什么问题吗?
清除缓存,全屏显示空格,难道还要写如下命令吗?  
LCD_Write_Com(0x80);for(i=0;i<16;i++) LCD_Write_Data(' ');
LCD_Write_Com(0xc0);for(i=0;i<16;i++)  LCD_Write_Data(' ');
求大神赐教啊!

一周热门 更多>