看了许多网上文章,没有清楚介绍12864液晶反白显示的。不才拙见呈给众码友以博一洒;

反白常用的手法是读出液晶屏内存储器的相应数据,然后按位取反,再写入液晶相应内存;12864读取液晶内存的手法比较特别,直接按照时序图写数据不行,它要求使能信号至少完成两次反转才行。

首先命令给予地址,使能信号给予低电平,延时半个周期约200ns

然后,rs,rw,置位。

再延时200ns;

使能信号置位;至此完成一次虚读,不把总线数据读入变量;

再延时450ns,

使能变低;

再延时450ns;

使能变高,这时正确的数据就放到数据总线上了

给P0口高电平0x00;

读数据到变量;然后处理;按位取反;

再写入相同地址就行了;

如此循环64次,完成左半屏的反白,换屏选信号,选择右半屏,重复上面的动作就行了;

附上写屏代码:

/*******************************************************************************
* 函 数 名         : Lcd2864WriteData
* 函数功能         : 写入一个数据到12864
* 输    入         : dat
* 输    出         : 无
*******************************************************************************/void lcd12864_writedat(dat)
{unsigned char xh;LCD12864_RS = 1;         //select command,选择数据LCD12864_RW = 0;           //select write,选择写模式LCD12864_E  = 0;       xh=10;                  //延时140ns以上;5指令周期;;while(xh--);LCD12864_E  = 1;       //使能变高450us;DATA_PORT = dat;        //put command,总线放上命令数据xh=50;                      while(xh--);          //再延时450us18指令周期;;LCD12864_E  = 0;       //下降沿写入数据;_nop_();                     //延时10us   }

附上读数据代码

/*******************************************************************************
* 函 数 名         : Lcd2864ReadData
* 函数功能         : 从12864的数据区读数据,处理后用;
* 输    入         : 无
* 输    出         : 读到的一个字节,这种液晶要求虚读一次。也就是E使能信号完成两次反转;
*******************************************************************************/unsigned char lcd12864_Readdat()
{unsigned char xh,dat;DATA_PORT=0xff;          //这句很重要,在要读入数据之前必须把P0口写入0xff;LCD12864_E  = 0;xh=5;                  //保证rs和rw在E信号的低电平while(xh--);LCD12864_RS = 1;          //选择数据LCD12864_RW = 1;         //选择读模式xh=15;                  //保证E低电平450ns以上;两次延时共20指令周期;;while(xh--);LCD12864_E  = 1;     //使能变高450us;第一次虚读完成xh=20;                     while(xh--);          //保持E高电平450nm;LCD12864_E  = 0;      //然后E低电平xh=20;                 //保持E低电平450nmwhile(xh--);LCD12864_E  = 1;      //使能变高锁存12864数据到数据总线;xh=5;                  //稳定150nm  while(xh--);         //再延时450us18指令周期;;dat = DATA_PORT;       //读总线上的数据LCD12864_E  = 0;      //给E为低电平准备下次操作;return dat;               //返回读数;
}

KS0108控制的12864液晶屏的反白显示办法相关推荐

  1. protues仿真中12864液晶屏串行编程的感想(从实际硬件驱动芯片 ST7565R到仿真硬件驱动芯片SED1565)

    因为疫情的原因,没办法回学校拿毕业设计,自然也就没办法调试,虽然硬件电路都搭好了,但没法调试也就意味着不知道程序编写是否有问题,所以就想着在protues上把硬件电路搭起来调试程序,因为单片机用的是s ...

  2. [arduino][u8g2][12864] oled—u8g2库使用说明(例子是12864液晶屏)

    [arduino][u8g2][12864] oled-u8g2库使用说明(例子是12864液晶屏) 首先说一下写这个文档的目的,一是给自己做个笔记来以备后边使,二是写个文档给大家看,我从网上找了很多 ...

  3. 单片机快速入门:12864液晶屏实现多功能数字时钟

    想要快速入门单片机,就要多动手实践.也许你的手上有不止一块的单片机开发板,但是你有没有亲自动手实现自己的想法?单片机实现数字时钟是一个不错的想法.有12864液晶显示屏.有按键.有DS18B20.最关 ...

  4. 洋桃技术支持0001:GPIO驱动12864液晶屏需要注意哪些事项?

    [提问]请问洋桃1号开发板的GPIOB端口要使用的话,硬件上和软件上需要注意什么?我想用STM32上的GPIOB端口控制点亮一个20口的12864液晶屏? 解答: [方法论] 1,解决这个问题的方法是 ...

  5. COG液晶屏是如何实现显示画面的呢?

    对于LCD液晶屏大家都不陌生,但是如果按结构细分的话,很多结构大家都不是很清楚.比如,LCD液晶显示屏会有线驱动电路来进行控制,水平方向叫门驱动(Gate Driver),垂直方向叫源驱动(Sourc ...

  6. ZYNQ7020(黑金)纯verilog驱动4.3寸RGB接口TFT液晶屏(AN430)显示彩条

    ZYNQ7020(黑金)纯verilog驱动4.3寸RGB接口TFT液晶屏(AN430)显示彩条 简介 像素(Pixel):像素是指由图像的小方格组成的,这些小方快都有一个明确的位置和被分配的色彩数值 ...

  7. ST7920LCD12864反白显示

    反白思想:  从使用手册上可知,扩展指令里的0x03+行号即可实现反白对应行.但是ST7920 控制器的128×64 点阵液晶其实原理上等同256×32 点阵,第三行对应的DDRAM 地址紧接第一行: ...

  8. ST7920驱动的LCD12864实现单行反白显示

    参考链接: ST7920驱动的LCD12864实现单行反白显示 - jqdy - 博客园 12864液晶模块的详细使用_Rainlee随笔记-CSDN博客_12864使用 GDRAM空间有64×256 ...

  9. 转:【0811】LM4229(LCD240128)画矩形+反白显示

    [0811]LM4229(LCD240128)画矩形+反白显示 2008-08-11 23:09 ===========================================         ...

  10. 12864液晶屏调试笔记.

    1. 点阵类的液晶屏, 先上电,  背光亮, 看液晶屏,  是否有像素点阵出现,以及测量VO管脚的电压, 调节VO的电压, 知道 液晶屏出现 像素点阵,  代表负压调整好了. 然后在接下来调程序. 2 ...

最新文章

  1. Quickhit快速击键
  2. AspectJ和Spring AOP(java动态代理和CGLIB)简单介绍
  3. 清华张悠慧:AI时代,「图灵完备」之后,「类脑计算完备」如何设计?
  4. 数据企业IBM段仰圣:大数据关键是“分析”
  5. 13 款 JavaScript 模板引擎
  6. Android 内存管理 Memory Leak OOM 分析
  7. 创建型、结构型、行为型模式(2)
  8. 哈啰出行架构调整:两轮电动车租售平台将升级为独立事业部
  9. OS开发UI篇—Quartz2D使用(截屏)
  10. ip以及端口转发数据、根据端口转发显示内网的web的方法介绍
  11. paip.租房宝付房租功能抓包总结
  12. Postman 安装
  13. 深度探索二维码及其应用
  14. 科研热点|发一篇SCI吃半年土?为何国际期刊版面费越来越贵?
  15. 一张纸的厚度是0.0001米,将纸对折,问对折多少次厚度超过珠穆朗玛峰8848米
  16. JavaSE 多线程
  17. cp——复制文件\文件夹
  18. BlockingQueue的用法
  19. iamp是什么意思计算机网络,pop3和imap什么意思
  20. 阿里巴巴创始人马云:阿里是幸福指数最高的企业

热门文章

  1. Excel VBA快速去除Excel中的所有公式
  2. 世界著名的四大检索工具
  3. 树莓派linux led字符设备驱动( platform)
  4. STM8S系列基于STVD标准库外设库开发,PWM输出实现LED呼吸灯效果
  5. 常见的10种“瓶颈”
  6. ECCV 2022 | k-means Mask Transformer
  7. 清远机器人编程_清远宇舵机器人告诉你为什么少年儿童要学习机器人编程?
  8. 香港自由行攻略(自用)
  9. OA系统分级审批功能
  10. AtCoder Beginner Contest 240 C