12864LCD液晶显示屏中文资料
● 字型产生RAM(CGRAM)字型产生RAM提供图象定义(造字)功能, 可以提供四组16×16点的自定义图象空间,使用者可以将内部字型没有提供的图象字型自行定义到CGRAM中,便可和CGROM中的定义一样地通过DDRAM显示在屏幕中。
● 地址计数器AC地址计数器是用来贮存DDRAM/CGRAM之一的地址,它可由设定指令暂存器来改变,之后只要读取或是写入DDRAM/CGRAM的值时,地址计数器的值就会自动加一,当RS为“0”时而R/W为“1”时,地址计数器的值会被读取到DB6——DB0中。
光标/闪烁控制电路
此模块提供硬体光标及闪烁控制电路,由地址计数器的值来指定DDRAM中的光标或闪烁位置。
五、指令说明
模块控制芯片提供两套控制命令,基本指令和扩充指令如下:
指令表1:(RE=0:基本指令)
指
|
指 令 码
|
功 能
|
|||||||||
令
|
RS
|
R/W
|
D7
|
D6
|
D5
|
D4
|
D3
|
D2
|
D1
|
D0
|
|
清除
显示
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
将DDRAM填满"20H",并且设定DDRAM的地址计数器(AC)到"00H"
|
地址
归位
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
X
|
设定DDRAM的地址计数器(AC)到"00H",并且将游标移到开头原点位置;这个指令不改变DDRAM 的内容
|
显示状态开/关
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
D
|
C
|
B
|
D=1: 整体显示 ON
C=1: 游标ON
B=1:游标位置反白允许
|
进入点
设定
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
I/D
|
S
|
指定在数据的读取与写入时,设定游标的移动方向及指定显示的移位
|
游标或显示移位控制
|
0
|
0
|
0
|
0
|
0
|
1
|
S/C
|
R/L
|
X
|
X
|
设定游标的移动与显示的移位控制位;这个指令不改变DDRAM 的内容
|
功能
设定
|
0
|
0
|
0
|
0
|
1
|
DL
|
X
|
RE
|
X
|
X
|
DL=0/1:4/8位数据
RE=1: 扩充指令操作
RE=0: 基本指令操作
|
设定CGRAM
地址
|
0
|
0
|
0
|
1
|
AC5
|
AC4
|
AC3
|
AC2
|
AC1
|
AC0
|
设定CGRAM 地址
|
设定DDRAM
地址
|
0
|
0
|
1
|
0
|
AC5
|
AC4
|
AC3
|
AC2
|
AC1
|
AC0
|
设定DDRAM 地址(显示位址)
第一行:80H-87H
第二行:90H-97H
|
读取忙标志和地址
|
0
|
1
|
BF
|
AC6
|
AC5
|
AC4
|
AC3
|
AC2
|
AC1
|
AC0
|
读取忙标志(BF)可以确认内部动作是否完成,同时可以读出地址计数器(AC)的值
|
写数据到RAM
|
1
|
0
|
数据
|
将数据D7——D0写入到内部的RAM (DDRAM/CGRAM/IRAM/GRAM)
|
|||||||
读出RAM的值
|
1
|
1
|
数据
|
从内部RAM读取数据D7——D0
(DDRAM/CGRAM/IRAM/GRAM)
|
指令表2:(RE=1:扩充指令)
指
|
指 令 码
|
功 能
|
|||||||||
令
|
RS
|
R/W
|
D7
|
D6
|
D5
|
D4
|
D3
|
D2
|
D1
|
D0
|
|
待命
模式
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
进入待命模式,执行其他指令都棵终止
待命模式
|
卷动地址开关开启
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
SR
|
SR=1:允许输入垂直卷动地址
SR=0:允许输入IRAM和CGRAM地址
|
反白
选择
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
R1
|
R0
|
选择2行中的任一行作反白显示,并可决定反白与否。初始值R1R0=00,第一次设定为反白显示,再次设定变回正常
|
睡眠
模式
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
SL
|
X
|
X
|
SL=0:进入睡眠模式
SL=1:脱离睡眠模式
|
扩充
功能
设定
|
0
|
0
|
0
|
0
|
1
|
CL
|
X
|
RE
|
G
|
0
|
CL=0/1:4/8位数据
RE=1: 扩充指令操作
RE=0: 基本指令操作
G=1/0:绘图开关
|
设定绘图RAM
地址
|
0
|
0
|
1
|
0
AC6
|
0
AC5
|
0
AC4
|
AC3
AC3
|
AC2
AC2
|
AC1
AC1
|
AC0
AC0
|
设定绘图RAM
先设定垂直(列)地址AC6AC5…AC0
再设定水平(行)地址AC3AC2AC1AC0
将以上16位地址连续写入即可
|
备注:当IC1在接受指令前,微处理器必须先确认其内部处于非忙碌状态,即读取BF标志时,BF需为零,方可接受新的指令;如果在送出一个指令前并不检查BF标志,那么在前一个指令和这个指令中间必须延长一段较长的时间,即是等待前一个指令确实执行完成。
应用举例:
1、使用前的准备:先给模块加上工作电压,再按照下图的连接方法调节LCD的对比度,使其显示出黑色的底影。此过程亦可以初步检测LCD有无缺段现象。
2、字符显示:带中文字库的128X64-0402B每屏可显示4行8列共32个16×16点阵的汉字,每个显示RAM可显示1个中文字符或2个16×8点阵全高ASCII码字符,即每屏最多可实现32个中文字符或64个ASCII码字符的显示。带中文字库的128X64-0402B内部提供128×2字节的字符显示RAM缓冲区(DDRAM)。字符显示是通过将字符显示编码写入该字符显示RAM实现的。根据写入内容的不同,可分别在液晶屏上显示CGROM(中文字库)、HCGROM(ASCII码字库)及CGRAM(自定义字形)的内容。三种不同字符/字型的选择编码范围为:0000~0006H(其代码分别是0000、0002、0004、0006共4个)显示自定义字型,02H~7FH显示半宽ASCII码字符,A1A0H~F7FFH显示8192种GB2312中文字库字形。字符显示RAM在液晶模块中的地址80H~9FH。字符显示的RAM的地址与32个字符显示区域有着一一对应的关系,其对应关系如下表所示。
80H
|
81H
|
82H
|
83H
|
84H
|
85H
|
86H
|
87H
|
90H
|
91H
|
92H
|
93H
|
94H
|
95H
|
96H
|
97H
|
88H
|
89H
|
8AH
|
8BH
|
8CH
|
8DH
|
8EH
|
8FH
|
98H
|
99H
|
9AH
|
9BH
|
9CH
|
9DH
|
9EH
|
9FH
|
3 、图形显示
先设垂直地址再设水平地址(连续写入两个字节的资料来完成垂直与水平的坐标地址)
垂直地址范围 AC5...AC0
水平地址范围 AC3…AC0
绘图RAM 的地址计数器(AC)只会对水平地址(X 轴)自动加一,当水平地址=0FH 时会重新设为00H 但并不会对垂直地址做进位自动加一,故当连续写入多笔资料时,程序需自行判断垂直地址是否需重新设定。GDRAM的坐标地址与资料排列顺序如下图:
4、应用说明
用带中文字库的128X64显示模块时应注意以下几点:
①欲在某一个位置显示中文字符时,应先设定显示字符位置,即先设定显示地址,再写入中文字符编码。
②显示ASCII字符过程与显示中文字符过程相同。不过在显示连续字符时,只须设定一次显示地址,由模块自动对地址加1指向下一个字符位置,否则,显示的字符中将会有一个空ASCII字符位置。
③当字符编码为2字节时,应先写入高位字节,再写入低位字节。
评论