12864液晶屏学习手册.docx
《12864液晶屏学习手册.docx》由会员分享,可在线阅读,更多相关《12864液晶屏学习手册.docx(17页珍藏版)》请在冰豆网上搜索。
12864液晶屏学习手册
12864液晶屏学习手
册
一、液晶显示模块概述
12864A-1,可显示汉字及图形,内置8192个中文汉字(16X16点阵,16*8=128,16*4=64,一行只能写8个汉字,4行;)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM)。
主要技术参数和显示特性:
电源:
VDD3.3V~+5V(内置升压电路,无需负压;显示内容:
128列×64行(128表示点数)显示颜色:
黄绿
显示角度:
6:
00钟直视LCD类型:
STN
与MCU接口:
8位或4位并行/3位串行配置LED背光
多种软件功能:
光标显示、画面移位、自定义字符、睡眠模式等二、外形尺寸
1.外形尺寸图
2.主要外形尺寸
二、模块引脚说明
逻辑工作电压(VDD:
4.5~5.5V电源地(GND:
0V
工作温度(Ta:
0~60℃(常温/-20~75℃(宽温)三、接口时序
模块有并行和串行两种连接方法(时序如下):
8位并行连接时序图MPU写资料到模块
MPU从模块读出资料
2、串行连接时序图
串行数据传送共分三个字节完成:
第一字节:
串口控制—格式11111ABCA为数据传送方向控制:
H表示数据从LCD到MCU,L表示数据从MCU到LCDB为数据类型选择:
H表示数据是显示数据,L表示数据是控制指令C固定为0
第二字节:
(并行8位数据的高4位—格式DDDD0000第三字节:
(并行8位数据的低4位—格式0000DDDD串行接口时序参数:
(测试条件:
T=25℃
VDD=4.5V
备注:
1时BF需为0,方可接受新的指令;如果在送出一个指令前并不检查BF标志,(一般在输入每天指令前加个delay)那么在前一个指令和这个指令中间必须延迟一段较长的时间,即是等待前一个指令确实执行完成,指令执行的时间请参考指令表中的个别指令说明。
2、“RE”为基本指令集与扩充指令集的选择控制位元,当变更“RE”位元后,往后的指令集将维持在最后的状态,除非再次变更“RE”位元,否则使用相同指令集时,不需每次重设“RE”位元。
具体指令介绍:
1、清除显示
功能:
清除显示屏幕,把DDRAM位址计数器调整为“00H”
2、位址归位
功能:
把DDRAM位址计数器调整为“00H”,游标回原点,该功能不影响显示DDRAM3、位址归位
功能:
把DDRAM位址计数器调整为“00H”,游标回原点,该功能不影响显示DDRAM功能:
执行该命令后,所设置的行将显示在屏幕的第一行。
显示起始行是由Z地址计数器控制的,该命令自动将A0-A5位地址送入Z地址计数器,起始地址可以是0-63范围内任意一
行。
Z地址计数器具有循环计数功能,用于显示行扫描同步,当扫描完一行后自动加一。
4、显示状态开/关
功能:
D=1;整体显示ONC=1;游标ONB=1;游标位置ON
5、游标或显示移位控制
功能:
设定游标的移动与显示的移位控制位:
这个指令并不改变DDRAM的内容
6、功能设定
功能:
DL=1(必须设为1)RE=1;扩充指令集动作RE=0:
基本指令集动作
7、设定CGRAM位址
功能:
设定CGRAM位址到位址计数器(AC)
8、设定DDRAM
位址
功能:
设定DDRAM位址到位址计数器(AC)
9、读取忙碌状态(BF)和位址
功能:
读取忙碌状态(BF)可以确认内部动作是否完成,同时可以读出位址计数器(AC)的值
10、写资料到RAMCODE:
RWRSDB7DB6DB5DB4DB3DB2DB1DB0
功能:
写入资料到内部的RAM(DDRAM/CGRAM/TRAM/GDRAM)
11、读出RAM的值
功能:
从内部RAM读取资料(DDRAM/CGRAM/TRAM/GDRAM)12、待命模式(12H)
功能:
进入待命模式,执行其他命令都可终止待命模式
13、卷动位址或IRAM位址选择(13H)
功能:
SR=1;允许输入卷动位址SR=0;允许输入IRAM位址
14、反白选择(14H)
功能:
选择4行中的任一行作反白显示,并可决定反白的与否
15、睡眠模式(015H)
功能:
SL=1;脱离睡眠模式SL=0;进入睡眠模式
16、扩充功能设定(016H
)
功能:
RE=1;扩充指令集动作RE=0;基本指令集动作G=1;绘图显示ONG=0;绘图显示OFF
17、设定IRAM位址或卷动位址(017H
)
18、设定绘图RAM位址(018H)
功能:
设定GDRAM位址到位址计数器(AC)
五、显示坐标关系
1、图形显示坐标
水平方向X—以字节单位垂直方向Y—以位为单位
2、汉字显示坐标
3、字符表
代码(02H---7FH)六、显示RAM
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中的游标或闪烁位置。
八、中文字符表:
*************************************
文
档
结
束
*******************************************
点阵LCD的显示原理
在数字电路中,所有的数据都是以0和1保存的,对LCD控制器进行不同的数据操作,可以得到不同的结果。
对于显示英文操作,由于英文字母种类很少,只需要8位(一字节)即可。
而对于中文,常用却有6000以上,于是我们的DOS前辈想了一个办法,就是将ASCII表的高128个很少用到的数值以两个为一组来表示汉字,即汉字的内码。
而剩下的低128位则留给英文字符使用,即英文的内码。
那么,得到了汉字的内码后,还仅是一组数字,那又如何在屏幕上去显示呢?
这就涉及到文字的字模,字模虽然也是一组数字,但它的意义却与数字的意义有了根本的变化,它是用数字的各位信息来记载英文或汉字的形状,如英文的'A'在字模的记载方式如图1所示:
图1“A”字模图
而中文的“你”在字模中的记载却如图2所示:
图2“你”字模图
12864点阵型LCD简介
12864是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×64全点阵液晶显示器组成。
可完成可图形显示,也以显示8×4个(16×16点阵汉字。
在使用12864LCD前先必须了解以下功能器件才能进行编程。
12864内部功能器件及相关功能如下:
1.指令寄存器(IR
IR是用于寄存指令码,与数据寄存器数据相对应。
当D/I=0时,在E信号下降沿的作用下,指令码写入IR。
2.数据寄存器(DR
DR是用于寄存数据,与指令寄存器寄存指令相对应。
当D/I=1时,在下降沿作用下,图形显示数据写入DR,或在E信号高电平作用下由DR读到DB7∽DB0数据总线。
DR和DDRAM之间的数据传输是模块内部自动执行的。
3.忙标志:
BF
BF标志提供内部工作情况。
BF=1表示模块在内部操作,此时模块不接受外部指令和数据。
BF=0时,模块为准备状态,随时可接受外部指令和数据。
利用STATUSREAD指令,可以将BF读到DB7总线,从检验模块之工作状态。
4.显示控制触发器DFF
此触发器是用于模块屏幕显示开和关的控制。
DFF=1为开显示(DISPLAYOFF),DDRAM的内容就显示在屏幕上,DFF=0为关显示(DISPLAYOFF)。
DDF的状态是指令DISPLAYON/OFF和RST信号控制的。
5.XY地址计数器
XY地址计数器是一个9位计数器。
高3位是X地址计数器,低6位为Y地址计数器,XY地址计数器实际上是作为DDRAM的地址指针,X地址计数器为DDRAM的页指针,Y地址计数器为DDRAM的Y地址指针。
X地址计数器是没有记数功能的,只能用指令设置。
Y地址计数器具有循环记数功能,各显示数据写入后,Y地址自动加1,Y地址指针从0到63。
6.显示数据RAM(DDRAM)
DDRAM是存储图形显示数据的。
数据为1表示显示选择,数据为0表示显示非选择。
DDRAM与地址和显示位置的关系见DDRAM地址表。
7.Z地址计数器
Z地址计数器是一个6位计数器,此计数器具备循环记数功能,它是用于显示行扫描同步。
当一行扫描完成,此地址计数器自动加1,指向下一行扫描数据,RST复位后Z地址计数器为0。
Z地址计数器可以用指令DISPLAYSTARTLINE预置。
因此,显示屏幕的起始行就由此指令控制,即DDRAM的数据从哪一行开始显示在屏幕的第一行。
此模块的DDRAM共64行,屏幕可以循环滚动显示64行。
12864LCD的指令系统及时序
该类液晶显示模块(即KS0108B及其兼容控制驱动器)的指令系统比较简单,总共只有七种。
其指令表如表2所示:
指令名称控制信号控制代码
R/WRSDB7DB6DB5DB4DB3DB2DB1DB0
显示开关0000111111/0显示起始行设置0011XXXXXX页设置0010111XXX列地址设置00
1
X
X
XXXX读状态10BUSY0ON/OFFRST0
写数据01写数据读数据
1
1
读数据
表2:
12864LCD指令表各功能指令分别介绍如下。
显示开/关指令
R/WRSDB7DB6DB5DB4DB3DB2DB1DB0
00
00111111/0
当DB0=1时,LCD显示RAM中的内容;DB0=0时,关闭显示。
2、显示起始行(ROW)设置指令
R/WRSDB7DB6DB5DB4DB3DB2DB1DB0
00
11显示起始行(0~63)
该指令设置了对应液晶屏最上一行的显示RAM的行号,有规律地改变显示起始行,可以使LCD实现显示滚屏的效果。
3、页(PAGE)设置指令
R/WRSDB7DB6DB5DB4DB3DB2DB1DB0
00
10111页号(0~7)
显示RAM共64行,分8页,每页8行。
4、列地址(YAddress)设置指令
R/WRSDB7DB6DB5DB4DB3DB2DB1DB0
00
01显示列地址(0~63)
设置了页地址和列地址,就唯一确定了显示RAM中的一个单元,这样MPU就可以用读、写指令读出该单元中的内容或向该单元写进一个字节数据。
5、读状态指令
R/WRSDB7DB6DB5DB4DB3DB2DB1DB0
10
BUSY0ON/OFFREST0000
该指令用来查询液晶显示模块内部控制器的状态,各参量含义如下:
BUSY:
1-内部在工作0-正常状态ON/OFF:
1-显示关闭0-显示打开
RESET:
1-复位状态0-正常状态在BUSY和RESET状态时,除读状态指令外,其它指令均不对液晶显示模块产生作用。
在对液晶显示模块操作之前要查询BUSY状态,以确定是否可以对液晶显示模块进行操作。
6、写数据指令R/WRS01读数据指令DB7DB6DB5DB4DB3DB2DB1DB0写数据R/WRS11DB7DB6DB5DB4DB3DB2DB1DB0读显示数据读、写数据指令每执行完一次读、写操作,列地址就自动增一。
必须注意的是,进行读操作之前,必须有一次空读操作,紧接着再读才会读出所要读的单元中的数据。