找回密码
 立即注册

QQ登录

只需一步,快速开始

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

LCD12864反白程序怎么搞?网上的反应都太慢了

[复制链接]
跳转到指定楼层
楼主
ID:706567 发表于 2021-1-29 18:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  网上找了很多12864液晶 任意位置反白的程序,但是反应都太慢了,快的也要四五秒,不能接受啊!!!!!各位 朋友们,高手们,大师们,谁有写好的  参考下.
谢谢啦!!!!

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:390416 发表于 2021-1-30 10:20 | 只看该作者
使用扩展指令 里面有 反白显示的指令 先指令 后地址 就可以了
回复

使用道具 举报

板凳
ID:706567 发表于 2021-1-30 10:39 | 只看该作者
人人学会单片机 发表于 2021-1-30 10:20
使用扩展指令 里面有 反白显示的指令 先指令 后地址 就可以了

有编好的吗》?试了几次,刚解决花屏问题。
回复

使用道具 举报

地板
ID:554500 发表于 2021-1-30 13:39 | 只看该作者
用12864的绘图模式,取模的时候设置好取模方式
回复

使用道具 举报

5#
ID:390416 发表于 2021-1-30 14:08 | 只看该作者
无限飞翔 发表于 2021-1-30 10:39
有编好的吗》?试了几次,刚解决花屏问题。

http://www.51hei.com/bbs/dpj-200462-1.html  这是我写的LCD12864的资料包 你可以看看
回复

使用道具 举报

6#
ID:706567 发表于 2021-1-31 16:46 | 只看该作者
人人学会单片机 发表于 2021-1-30 14:08
http://www.51hei.com/bbs/dpj-200462-1.html  这是我写的LCD12864的资料包 你可以看看

谢谢!
你这里没有我需要的。
回复

使用道具 举报

7#
ID:822755 发表于 2021-1-31 21:30 | 只看该作者
如果是点阵屏,那不过是把数据取反后送显示。
回复

使用道具 举报

8#
ID:706567 发表于 2021-2-4 21:02 | 只看该作者
KongQuan 发表于 2021-1-31 21:30
如果是点阵屏,那不过是把数据取反后送显示。

是的,就是在绘图模式下,就是延时太厉害,4-5秒,才能显示出来,试了好多 。
回复

使用道具 举报

9#
ID:883031 发表于 2021-2-5 16:04 | 只看该作者
扩展指令集里有反白指令
回复

使用道具 举报

10#
ID:883171 发表于 2021-2-6 11:56 | 只看该作者
修改寄存器值就可以了
回复

使用道具 举报

11#
ID:56002 发表于 2021-2-6 15:21 | 只看该作者
/****************************************************************************/
//字符反白显示
//输入参数:CX=要反白字符的行(0-3)
//CY=要反白字符的列(0-7)
//width=要反白字符的长度(1-16)
/****************************************************************************/
void convertChar (uchar CX, CY, width)
{
        displayPhoto(OFF,ON);
        lcdPosY = 0x80;

        if (CX == 0)
        {
                CX = 0x80;
                halfLineCnt = 16;
        }
        else if (CX == 1)
        {
                CX = 0x80;
                halfLineCnt = 32;
        }
        else if (CX == 2)
        {
                CX = 0x88;
                halfLineCnt = 16;
        }
        else if (CX == 3)
        {
                CX = 0x88;
                halfLineCnt = 32;
        }
        lcdPosX = CX + CY;
       
    for (; halfLineCnt != 0; halfLineCnt--)
        {
                basicBlock = width;
                wrPosition();
       
                for (;basicBlock != 0; basicBlock--)
                {
                        if (halfLineCnt > 16)
                        {
                                lcdWriteData(0x00);
                        }
                        else
                        {
                                lcdWriteData (0xff);
                        }
                }
                lcdPosY++;
        }

        lcdWriteCommand(cFuncDrawOn);
        lcdWriteCommand(cFunctionSetB);
}

从本论坛上考的
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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