找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2656|回复: 5
打印 上一主题 下一主题
收起左侧

请教有关LCD_ShowString函数的问题

[复制链接]
跳转到指定楼层
楼主
ID:1043490 发表于 2022-9-1 17:25 来自触屏版 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问这个函数应该怎么定义啊,想在程序里用LCD_ShowString(1,16," ")这样的指令
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:213173 发表于 2022-9-1 20:43 | 只看该作者
这是LCD显示字符串的函数,形参通常包含坐标位置、字节长度和" 字符串.........."等内容。
回复

使用道具 举报

板凳
ID:155507 发表于 2022-9-1 22:29 | 只看该作者
这个函数应该这么样定义

  1. void LCD_ShowString(uchar x,uchar y, uchar en,uchar *dat) //左右屏显示设置
  2. {
  3.         uchar i=0;
  4.         lcd_werite_x_y(x,y);            //设定起始地址
  5.         for(i=0;i<8;i++)
  6.         {
  7.                 write_date(dat[en*16+i]);
  8.         }   //先写上半个字,共8个字节
  9.         lcd_werite_x_y(x+1,y);          //设定起始地址,此次将行地址加1,以便写下行
  10.         for(i=0;i<8;i++)
  11.         {
  12.                 write_date(dat[en*16+8+i]);
  13.         } //再写下半个字,共8个字节
  14. }
复制代码
回复

使用道具 举报

地板
ID:59202 发表于 2022-9-1 23:26 | 只看该作者
你这样问很难回答啊,这个具体要看你的LCD是那种型号,这里给你个LCD1602的参考一下:
//LCD1602显示一行字符
//x为在一行中开始显示的位置,取值0-15;y为显示行,取值0-1
void lcd1602_showstring(unsigned char x, unsigned char y, unsigned char *p)
{
    if ((x >= 16) | (y >= 2))
    {
        return;
    }
   
    if (y == 0)
    {
        LcdWriteCom(0x80 + x);
    }
    else
    {
        LcdWriteCom(0xC0 + x);
    }
   
    while (*p != '\0')
    {
        LcdWriteData(*p++);
    }
}

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

5#
ID:123289 发表于 2022-9-2 08:14 | 只看该作者
学会查手册,这个很重要。
回复

使用道具 举报

6#
ID:1043490 发表于 2022-9-2 08:55 来自触屏版 | 只看该作者
好的,清楚了,谢谢大家
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表