1602液晶问题如何解决
答案:1 悬赏:60 手机版
解决时间 2021-01-03 02:07
- 提问者网友:自食苦果
- 2021-01-02 04:18
1602液晶在指定位置显示一个字符怎么处理的
最佳答案
- 五星知识达人网友:枭雄戏美人
- 2021-01-02 05:46
通过函数定位啊,给你一个单片机C语言写的1602字符定位的函数参考一下:
lcd1602写入字符串函数
------------------------------------------------*/
void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *s) //x代表列,y代表行
{
if (y == 1) //y==1代表显示在LCD1602第一行
{
LCD_Write_Com(0x80 + x); //表示第一行
}
else //否则就是第二行,就是必须y==2
{
LCD_Write_Com(0xC0 + x); //表示第二行
}
while (*s)
{
LCD_Write_Data( *s); //写入字符
s ++; //指向下一个地址
}
}
这个应该很容易看懂吧,比如在第二行第3位写一个字符串“abcd”,在直接调用函数:LCD_Write_String(3,2,“abcd”);
再来一个定位函数
------------------------------------------------*/
void LCD_Pos(unsigned char x,unsigned char y) //x代表列,y代表行
{
if (y == 1) //y==1代表显示在LCD1602第一行
{
LCD_Write_Com(0x80 + x); //表示第一行
}
else
{
LCD_Write_Com(0xC0 + x); //表示第二行
}
}
比如把光标定位到第一行第5位,就调用函数:LCD_Pos(5,1);
lcd1602写入字符串函数
------------------------------------------------*/
void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *s) //x代表列,y代表行
{
if (y == 1) //y==1代表显示在LCD1602第一行
{
LCD_Write_Com(0x80 + x); //表示第一行
}
else //否则就是第二行,就是必须y==2
{
LCD_Write_Com(0xC0 + x); //表示第二行
}
while (*s)
{
LCD_Write_Data( *s); //写入字符
s ++; //指向下一个地址
}
}
这个应该很容易看懂吧,比如在第二行第3位写一个字符串“abcd”,在直接调用函数:LCD_Write_String(3,2,“abcd”);
再来一个定位函数
------------------------------------------------*/
void LCD_Pos(unsigned char x,unsigned char y) //x代表列,y代表行
{
if (y == 1) //y==1代表显示在LCD1602第一行
{
LCD_Write_Com(0x80 + x); //表示第一行
}
else
{
LCD_Write_Com(0xC0 + x); //表示第二行
}
}
比如把光标定位到第一行第5位,就调用函数:LCD_Pos(5,1);
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯