DM12864N的应用汉字图形点阵液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM)。
主要技术参数和显示特性:
电源:VDD 3.3V~+5V(内置升压电路,无需负压);
显示内容:128列× 64行
显示颜色:黄绿
显示角度:6:00钟直视
LCD类型:STN
与MCU接口:8位或4位并行/3位串行
配置LED背光
多种软件功能:光标显示、画面移位、自定义字符、睡眠模式等
二、外形尺寸
外观尺寸:93×70×12.5mm 视域尺寸:73×39mm
外形尺寸
、模块引脚说明
引脚号
|
引脚名称
|
方向
|
功能说明
|
1
|
VSS
|
0V
|
模块的电源地
|
2
|
VDD
|
3-5V
|
模块的电源正端
|
3
|
PSB
|
H/L
|
H:并口方式 L:口串口方式
|
4
|
RS(CS)
|
H/L
|
并行的指令/数据选择信号;串行的片选信号
|
5
|
R/W(SID)
|
H/L
|
并行的读写选择信号;串行的数据口
|
6
|
E(CLK)
|
H/L
|
并行的使能信号;串行的同步时钟
|
7
|
DB0
|
H/L
|
数据0
|
8
|
DB1
|
H/L
|
数据1
|
9
|
DB2
|
H/L
|
数据2
|
10
|
DB3
|
H/L
|
数据3
|
11
|
DB4
|
H/L
|
数据4
|
12
|
DB5
|
H/L
|
数据5
|
13
|
DB6
|
H/L
|
数据6
|
14
|
DB7
|
H/L
|
数据7
|
15
|
LED_A
|
-
|
背光源正极(LED+5V)
|
16
|
LED_K
|
-
|
背光源负极(LED-OV)
|
注:PSB脚出厂时默认成并口方式,R7下方的跳线接成高电平;用串口方式时需接成低电平
逻辑工作电压(VDD):4.5~5.5V
电源地(GND):0V
工作温度(Ta):-20~75
模块有并行和串行两种连接方法(时序如下):
8位并行连接时序图
MPU写资料到模块
MPU从模块读出资料
2、串行连接时序图
串行数据传送共分三个字节完成:
**字节:串口控制—格式 11111ABC
A为数据传送方向控制:H表示数据从LCD到MCU,L表示数据从MCU到LCD
B为数据类型选择:H表示数据是显示数据,L表示数据是控制指令
C固定为0
**字节:(并行)8位数据的高4位—格式 DDDD0000
第三字节:(并行)8位数据的低4位—格式 0000DDDD
串行接口时序参数:(测试条件:T=25℃ VDD=4.5V)
1、指令表1:(RE=0:基本指令集)
指令
|
指令码
|
说明
|
执行时间(540KHZ)
|
|||||||||
RS
|
RW
|
DB7
|
DB6
|
DB5
|
DB4
|
DB3
|
DB2
|
DB1
|
DB0
|
|||
**显示
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
将DDRAM填满“20H”,并且设定DDRAM的地址计数器(AC)到“00H”
|
4.6ms
|
地址归位
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
X
|
设定DDRAM的地址计数器(AC)到“00H”,并且将游标移到开头原点位置;这个指令并不改变DDRAM的内容
|
4.6ms
|
进入点
设定
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
I/D
|
S
|
指定在资料的读取与写入时,设定游标移动方向及指定显示的移位
|
72us
|
显示状态
开/关
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
D
|
C
|
B
|
D=1:整体显示ON
C=1:游标ON
B=1:游标位置ON
|
72us
|
游标或显示移位控制
|
0
|
0
|
0
|
0
|
0
|
1
|
S/C
|
R/L
|
X
|
X
|
设定游标的移动与显示的移位控制位元;这个指令并不改变DDRAM的内容
|
72us
|
功能设定
|
0
|
0
|
0
|
0
|
1
|
DL
|
X
|
0
RE
|
X
|
X
|
DL=1 (必须设为1)
RE=1: 扩充指令集动作
RE=0: 基本指令集动作
|
72us
|
设定CGRAM地址
|
0
|
0
|
0
|
1
|
AC5
|
AC4
|
AC3
|
AC2
|
AC1
|
AC0
|
设定CGRAM地址到地址计数器(AC)
|
72us
|
设定DDRAM
地址
|
0
|
0
|
1
|
AC6
|
AC5
|
AC4
|
AC3
|
AC2
|
AC1
|
AC0
|
设定DDRAM地址到地址计数器(AC)
|
72us
|
读取忙碌标志(BF)和地址
|
0
|
1
|
BF
|
AC6
|
AC5
|
AC4
|
AC3
|
AC2
|
AC1
|
AC0
|
读取忙碌标志(BF)可以确认内部动作是否完成,同时可以读出地址计数器(AC)的值
|
0us
|
写资料到RAM
|
1
|
0
|
D7
|
D6
|
D5
|
D4
|
D3
|
D2
|
D1
|
D0
|
写入资料到内部的RAM(DDRAM/CGRAM/IRAM/GDRAM)
|
72us
|
读出RAM的值
|
1
|
1
|
D7
|
D6
|
D5
|
D4
|
D3
|
D2
|
D1
|
D0
|
从内部RAM读取资料(DDRAM/CGRAM/IRAM/GDRAM)
|
72us
|
指令表—2:(RE=1:扩充指令集)
指令
|
指令码
|
说明
|
执行时间(540KHZ)
|
|||||||||||||||||||
RS
|
RW
|
DB7
|
DB6
|
DB5
|
DB4
|
DB3
|
DB2
|
DB1
|
DB0
|
|||||||||||||
待命模式
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
将DDRAM填满“20H”,并且设定DDRAM的地址计数器(AC)到“00H”
|
72us
|
||||||||||
卷动地址或IRAM地址选择
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
SR
|
SR=1:允许输入垂直卷动地址
SR=0:允许输入IRAM地址
|
72us
|
||||||||||
反白选择
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
R1
|
R0
|
选择4行中的任一行作反白显示,并可决定反白与否
|
72us
|
||||||||||
睡眠模式
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
SL
|
X
|
X
|
SL=1:脱离睡眠模式
SL=0:进入睡眠模式
|
72us
|
||||||||||
扩充功能设定
|
0
|
0
|
0
|
0
|
1
|
1
|
X
|
1
RE
|
G
|
0
|
RE=1: 扩充指令集动作
RE=0: 基本指令集动作
G=1 :绘图显示ON
G=0 :绘图显示OFF
|
72us
|
||||||||||
设定IRAM地址或卷动地址
|
0
|
0
|
0
|
1
|
AC5
|
AC4
|
AC3
|
AC2
|
AC1
|
AC0
|
SR=1:AC5—AC0为垂直卷动地址
SR=0:AC3—AC0为ICON IRAM地址
|
72us
|
|
|||||||||
设定绘图RAM地址
|
0
|
0
|
1
|
AC6
|
AC5
|
AC4
|
AC3
|
AC2
|
AC1
|
AC0
|
设定CGRAM地址到地址计数器(AC)
|
72us
|
|
备注:
1、当模块在接受指令前,微处理顺必须先确认模块内部处于非忙碌状态,即读取BF标志时BF需为0,方可接受新的指令;如果在送出一个指令前并不检查BF标志,那么在前一个指令和这个指令中间必须延迟一段较长的时间,即是等待前一个指令确实执行完成,指令执行的时间请参考指令表中的个别指令说明。
2、“RE”为基本指令集与扩充指令集的选择控制位元,当变更“RE”位元后,往后的指令集将维持在*后的状态,除非再次变更“RE”位元,否则使用相同指令集时,不需每次重设“RE”位元。
具体指令介绍:
1、**显示
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L
|
L
|
L
|
L
|
L
|
L
|
L
|
L
|
L
|
H
|
功能:**显示屏幕,把DDRAM位址计数器调整为“00H”
2、位址归位
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L
|
L
|
L
|
L
|
L
|
L
|
L
|
L
|
H
|
X
|
功能:把DDRAM位址计数器调整为“00H”,游标回原点,该功能不影响显示DDRAM
3、位址归位
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L
|
L
|
L
|
L
|
L
|
L
|
L
|
H
|
I/D
|
S
|
功能:把DDRAM位址计数器调整为“00H”,游标回原点,该功能不影响显示DDRAM功能:执行该命令后,所设置的行将显示在屏幕的**行。显示起始行是由Z地址计数器控制的,该命令自动将A0-A5位地址送入Z地址计数器,起始地址可以是0-63范围内任意一行。Z地址计数器具有循环计数功能,用于显示行扫描同步,当扫描完一行后自动加一。
4、显示状态 开/关
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L
|
L
|
L
|
L
|
L
|
L
|
H
|
D
|
C
|
B
|
功能: D=1;整体显示ON C=1;游标ON B=1;游标位置ON
5、游标或显示移位控制
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L
|
L
|
L
|
L
|
L
|
H
|
S/C
|
R/L
|
X
|
X
|
功能:设定游标的移动与显示的移位控制位:这个指令并不改变DDRAM的内容
6、功能设定
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L
|
L
|
L
|
L
|
H
|
DL
|
X
|
0 RE
|
X
|
X
|
功能:DL=1(必须设为1) RE=1;扩充指令集动作 RE=0:基本指令集动作
7、设定CGRAM位址
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L
|
L
|
L
|
H
|
AC5
|
AC4
|
AC3
|
AC2
|
AC1
|
AC0
|
功能:设定CGRAM位址到位址计数器(AC)
8、设定DDRAM位址
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L
|
L
|
H
|
AC6
|
AC5
|
AC4
|
AC3
|
AC2
|
AC1
|
AC0
|
功能:设定DDRAM位址到位址计数器(AC)
9、读取忙碌状态(BF)和位址
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L
|
H
|
BF
|
AC6
|
AC5
|
AC4
|
AC3
|
AC2
|
AC1
|
AC0
|
功能:读取忙碌状态(BF)可以确认内部动作是否完成,同时可以读出位址计数器(AC)的值
10、写资料到RAM
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
H
|
L
|
D7
|
D6
|
D5
|
D4
|
D3
|
D2
|
D1
|
D0
|
功能:写入资料到内部的RAM(DDRAM/CGRAM/TRAM/GDRAM)
11、读出RAM的值
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
H
|
H
|
D7
|
D6
|
D5
|
D4
|
D3
|
D2
|
D1
|
D0
|
功能:从内部RAM读取资料(DDRAM/CGRAM/TRAM/GDRAM)
12、 待命模式(12H)
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L
|
L
|
L
|
L
|
L
|
L
|
L
|
L
|
L
|
H
|
功能:进入待命模式,执行其他命令都可终止待命模式
13、卷动位址或IRAM位址选择(13H)
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L
|
L
|
L
|
L
|
L
|
L
|
L
|
L
|
H
|
SR
|
功能:SR=1;允许输入卷动位址 SR=0;允许输入IRAM位址
14、反白选择(14H)
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L
|
L
|
L
|
L
|
L
|
L
|
L
|
H
|
R1
|
R0
|
功能:选择4行中的任一行作反白显示,并可决定反白的与否
15、睡眠模式(015H)
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L
|
L
|
L
|
L
|
L
|
L
|
H
|
SL
|
X
|
X
|
功能:SL=1;脱离睡眠模式 SL=0;进入睡眠模式
16、扩充功能设定(016H)
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L
|
L
|
L
|
L
|
H
|
H
|
X
|
1 RE
|
G
|
L
|
功能:RE=1;扩充指令集动作 RE=0;基本指令集动作 G=1;绘图显示ON G=0;绘图显示OFF
17、设定IRAM位址或卷动位址(017H)
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L
|
L
|
L
|
H
|
AC5
|
AC4
|
AC3
|
AC2
|
AC1
|
AC0
|
功能:SR=1;AC5~AC0为垂直卷动位址 SR=0;AC3~AC0写ICONRAM位址
18、设定绘图RAM位址(018H)
CODE: RW RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
L
|
L
|
H
|
AC6
|
AC5
|
AC4
|
AC3
|
AC2
|
AC1
|
AC0
|
功能:设定GDRAM位址到位址计数器(AC)
1、图形显示坐标
水平方向X—以字节单位
垂直方向Y—以位为单位
2、汉字显示坐标
|
X坐标
|
|||||||
Line1
|
80H
|
81H
|
82H
|
83H
|
84H
|
85H
|
86H
|
87H
|
Line2
|
90H
|
91H
|
92H
|
93H
|
94H
|
95H
|
96H
|
97H
|
Line3
|
88H
|
89H
|
8AH
|
8BH
|
8CH
|
8DH
|
8EH
|
8FH
|
Line4
|
98H
|
99H
|
9AH
|
9BH
|
9CH
|
9DH
|
9EH
|
9FH
|
3、字符表
代码(02H---7FH)
1、文本显示RAM(DDRAM)
1、文本显示RAM(DDRAM)
文本显示RAM提供8个×4行的汉字空间,当写入文本显示RAM时,可以分别显示CGROM、HCGROM与CGRAM的字型;ST7920A可以显示三种字型,分别是半宽的HCGROM字型、CGRAM字型及中文CGROM字型。三种字型的选择,由在DDRAM中写入的编码选择,各种字型详细编码如下:
显示半宽字型 :将一位字节写入DDRAM中,范围为02H-7FH的编码。
显示CGRAM字型:将两字节编码写入DDRAM中,总共有0000H,0002H,0004H,0006H四种编码
显示中文字形:将两字节编码写入DDRAMK,范围为A1A0H-F7FFH(GB码)或A140H-D75FH(BIG5码)的编码。
绘图RAM(GDRAM)
绘图显示RAM提供128×8个字节的记忆空间,在更改绘图RAM时,先连续写入水平与垂直的坐标值,再写入两个字节的数据到绘图RAM,而地址计数器(AC)会自动加一;在写入绘图RAM的期间,绘图显示必须关闭,整个写入绘图RAM的步骤如下:
1、关闭绘图显示功能。
2、先将水平的位元组坐标(X)写入绘图RAM地址;
再将垂直的坐标(Y)写入绘图RAM地址;
将D15——D8写入到RAM中;
将D7——D0写入到RAM中;
打开绘图显示功能。
绘图显示的缓冲区对应分布请参考“显示坐标”
游标/闪烁控制
ST7920A提供硬件游标及闪烁控制电路,由地址计数器(addresscounter)的值来指定DDRAM中的游标或闪烁位置。