LCD12864驱动开发

目录

一、概述

二、方框图

三、模块接口说明

1、串口接口管脚信号

2、并行接口

四、模块主要硬件构成说明

1、RS,R/W配4种模式:

2、E信号

五、指令说明

六、读写时序图

[6.1 数据传输过程](#6.1 数据传输过程)

6.2、时序图

6.3、串口读写时序

七、交流参数

八、软件初始化

九、应用举例:

1、使用前的准备

2、字符显示

[3 、图形显示](#3 、图形显示)

4、应用说明

[5、LCD12864-0402B 与单片机 80C51 的一种接口如图所示](#5、LCD12864-0402B 与单片机 80C51 的一种接口如图所示)

十、附录部分

附录1:ASCII码表

​编辑

附录2:汉字码址表


一、概述

LCD12864-0402B 是一种具有 4位/8 位并行、2线或3 线串行多种接口方式,内部含有国标一级、二级简体中文字库 的点阵图形液晶显示模块:其显示分辨率为 128X64,内置 8192个 16*16 点汉字,和128 16*8点ASCII 字符集,利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示 8X4行 16X16 点阵的汉字,也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。

基本特性:

  • 低电源电压 (VDD:+3.0--+5.5V)
  • 显示分辨率:128X64 点
  • 内置汉字字库,提供 8192 个 16X16 点阵汉字(简繁体可选)内置 128 个 16X8 点阵字符2MHZ 时钟频率
  • 显示方式:STN、半透、正显
  • 驱动方式: 1/32DUTY,1/5BIAS
  • 视角方向: 6 点
  • 背光方式:侧部高亮白色 LED,功耗仅为普通 LED 的 1/5-1/10
  • 通讯方式:串行、并口可选
  • 内置 DC-DC 转换电路,无需外加负压
  • 无需片选信号,简化软件设计
  • 工作温度: 0C - +55C,存储温度: -20C - +60C

二、方框图

三、模块接口说明

1、串口接口管脚信号

  • *注释 1: 如在实际应用中仅使用串口通讯模式,可将 PSB 接固定低电平,也可以将模块上的J8 和"GND"用焊锡短接。
  • ***注释 2:**模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。
  • ***注释 3:**如背光和模块共用一个电源,可以将模块上的 JA、JK 用焊锡短接。

2、并行接口

  • *注释 1: 如在实际应用中仅使用并口通讯模式,可将 PSB 接固定高电平,也可以将模块上的J8 和"VCC'用焊锡短接。
  • ***注释 2:**模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空
  • ***注释 3:**如背光和模块共用一个电源,可以将模块上的 JA、JK 用焊锡短接。

四、模块主要硬件构成说明

控制器接口信号说明:

1、RS,R/W配4种模式:

2、E信号

  • 忙标志:BF

BF 标志提供内部工作情况.BF=1 表示模块在进行内部操作,此时模块不接受外部指令和数据.BF=O 时模块为准备状态,随时可接受外部指令和数据.

利用 STATUS RD 指令,可以将 BF 读到 DB7 总线,从而检验模块之工作状态

  • 字型产生 ROM(CGROM)

字型产生 ROM (CGROM) 提供 8192 个此触发器是用于模块屏幕显示开和关的控制。DFF=1 为开显示(DISPLAY ON),DDRAM 的内容就显示在屏幕上,DFF-0 为关显示(DISPLAY OFF)。

DFF 的状态是指令 DISPLAY ON/OFF 和 RST 信号控制的。

  • 显示数据RAM (DDRAM)

模块内部显示数据 RAM 提供 64X2 个位元组的空间,最多可控制 4 行 16 字(64 个字) 的中文字型显当写入显示数据 RAM 时,可分别显示 CGROM 与 CGRAM 的字型,此模块可显示三种字型,分别是半角英数字型(16*8)、CGRAM 字型及 CGROM 的中文字型,三种字型的选择,由在 DDRAM 中写入的编码选择,在 0000H0006H 的编码中(其代码分别是 0000、0002、0004、0006 共 4 ) 将选择 CGRAM 的自定义字型,02H-7FH 的编码中将选择半角英数字的字型,至于 A1 以上的编码将自动的结合下一个位元组,组成两个位元组的编码形成中文字型的编码 BIG5 (A140一D75F),GB (A1AO-F7FFH)。

  • 字型产生RAM(CGRAM)

字型产生 RAM 提供图象定义(造字)功能,可以提供四组 16X16 点的自定义图象空间,使用者可以将内部字型没有提供的图象字型自行定义到 CGRAM 中,便可和 CGROM 中的定义一样地通过 DDRAM 显示在屏幕中。

  • 地址计器AC

地址计数器是用来贮存 DDRAM/CGRAM 之一的地址,它可由设定指令暂存器来改变,之后只要读取或是写入 DDRAM/CGRAM 的值时,地址计数器的值就会自动加一,当 RS 为"0"时而 R/W 为"1"时,地址计数器的值会被读取到 DB6--DBO 中。

  • 光标/闪烁控制电路

此模块提供硬体光标及闪烁控制电路,由地址计数器的值来指定 DDRAM 中的光标或闪烁位置。

五、指令说明

模块控制芯片提供两套控制命令,基本指令和扩充指令如下:

指令表1:(RE=0:基本指令)

指令表2:(RE=1:扩充指令)

**备注:**当 IC1 在接受指令前,微处理器必须先确认其内部处于非忙碌状态,即读取 BF 标志时,BF 需为零,方可接受新的指令;如果在送出一个指令前并不检查 BF 标志,那么在前一个指令和这个指令中间必须延长一段较长的时间,即是等待前一个指今确实执行完成。

六、读写时序图

6.1 数据传输过程

6.2、时序图

MCU写资料到ST7920(8位数据线模式)

MPU从ST7920读资料(8位数据线模式)

6.3、串口读写时序

串口方式下MPU写数据到ST7920

七、交流参数

交流参数(Ta=25°C,Vdd=4.5V-5.5V)

八、软件初始化

8-位元介面:

4-位元介面:

九、应用举例:

1、使用前的准备

先给模块加上工作电压,再按照下图的连接方法调节LCD的对比度,使其显示出黑色的底影。此过程亦可以初步检测LCD有无缺段的现象。

2、字符显示

LCD12864-0402B 每屏可显示 4行 8 列共 32 个 16X16 点阵的汉字,每个显示 RAM 可显示1个中文字符或 2 个16X8 点阵全高 ASCII 码字符,即每屏最多可实现 32 个中文字符或 64 个

ASCII 码字符的显示。FYD12864-0402B 内部提供 128X2 字节的字符显示 RAM 缓冲区(DDRAM)。字符显示是通过将字符显示编码写入该字符显示 RAM 实现的。根据写入内容的不同,可分别在液品屏上显示 CGROM(中文字库)、HCGROM(ASCII 码字库)及 CGRAM(自定义字形 的内容。三种不同字符/字型的选择编码范围为: 0000~0006H(其代码分别是 0000、0002、0004、0006 共 4 个) 显示自定义字型,02H~7FH 显示半宽 ASCII 码字符,AIAOH~F7FFH 显示8192 种 GB2312 中文字库字形。字符显示 RAM 在液晶模块中的地址 80H~9FH。字符显示的 RAM 的地址与 32 个符显示区域有着一一对应的关系,其对应关系如下表所示。

3 、图形显示

先设垂直地址再设水平地址(连续写入两个字节的资料来完成垂直与水平的坐标地址)

垂直地址范围 AC5...AC0

水平地址范围 AC3...ACO

绘图RAM 的地址计数器(AC) 只会对水平地址(X 轴)自动加一,当水平地址 OFH 时会重新设为00H 但并不会对垂直地址做进位自动加一,故当连续写入多笔资料时,程序需自行判断垂直地址是否需重新设定。GDRAM的坐标地址与资料排列顺序如下图:

4、应用说明

LCD12864-0402B 显示模块时应注意以下几点:

  1. 欲在某一个位置显示中文字符时,应先设定显示字符位置,即先设定显示地址,再写入中文字符编码。
  2. 显示 ASCII 字符过程与显示中文字符过程相同。不过在显示连续字符时,只须设定一次显示地址,由模块自动对地址加 1指向下一个字符位置,否则,显示的字符中将会有一个空ASCII 字符位置。
  3. 当字符编码为 2 字节时,应先写入高位字节,再写入低位字节。
  4. 模块在接收指令前,向处理器必须先确认模块内部处于非忙状态,即读取 BF 标志时 BF 需为"O"方可接受新的指令。如果在送出一个指今前不检查 BF 标志,则在前一个指今和这个指今中间必须延迟一段较长的时间,即等待前一个指今确定执行完成。指今执行的时间请参考指今表中的指令执行时间说明。5"RE"为基本指今集与扩充指今集的选择控制位。当变更"RE"后,以后的指今集将维持在最后的状态,除非再次变更"RE"位,否则使用相同指今集时,无需每次均重设"RE"位。

5、LCD12864-0402B 与单片机 80C51 的一种接口如图所示

十、附录部分

附录1:ASCII码表

16*8半宽字符表

附录2:汉字码址表

相关推荐
TeYiToKu16 小时前
笔记整理—linux驱动开发部分(9)framebuffer驱动框架
linux·c语言·arm开发·驱动开发·笔记·嵌入式硬件·arm
学习嵌入式的小羊~2 天前
linux驱动-i2c子系统框架学习(1)
linux·驱动开发
挨踢小明2 天前
DPDK eth 网卡驱动开发
驱动开发
TeYiToKu3 天前
笔记整理—linux驱动开发部分(6)platform平台总线
linux·c语言·arm开发·驱动开发·笔记·嵌入式硬件
学习嵌入式的小羊~4 天前
linux驱动-认识输入子系统源码以及裁剪
linux·驱动开发
学习嵌入式的小羊~6 天前
linux驱动—input输入子系统
驱动开发
深度学习渣6 天前
SCSI驱动与 UFS 驱动交互概况
驱动开发·交互
郁大锤6 天前
linux alsa-lib snd_pcm_open函数源码分析(一)
linux·驱动开发·嵌入式硬件·音频·pcm·视频编解码
郁大锤6 天前
linux alsa-lib snd_pcm_open函数源码分析(二)
linux·驱动开发·嵌入式硬件·音视频
weixin_750335527 天前
OpenHarmony驱动开发--UART(串口)驱动
驱动开发