2019-07-16 01:33发布
那低头一笑的温 发表于 2013-4-10 18:06 清缓存不是清屏,是把空格符写进所有1602的显示缓存中,让屏幕全屏显示空格,也就是把 ' ' 写进32位显示中 ...
最多设置5个标签!
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(' ');
求大神赐教啊!
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(' ');
清缓存,也就是显示全屏空格,你也可以把这个定义成一个清显示的函数,以后会用到的:
#defined LCD_CLEAR_FIRST_LINE 0
#defined LCD_CLEAR_SECOND_LINE 1
#defined LCD_CLEAR_ALL_LINE 2
void LCD_Clear(unsinged char ClearLine)
{
switch(ClearLine)
{
case LCD_CLEAR_FIRST_LINE:
LCD_Write_Com(0x80);for(i=0;i<16;i++) LCD_Write_Data(' ');
break;
case LCD_CLEAR_SECOND_LINE :
LCD_Write_Com(0xc0);for(i=0;i<16;i++) LCD_Write_Data(' ');
break;
case LCD_CLEAR_ALL_LINE:
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(' ');
break;
default:
break;
}
}
一周热门 更多>