12864ZW使用说明书液晶显示器使用手册目录(一)概述(二)外形尺寸(三)模块外部接口(四)时序说明(五)指令集说明(六)显示步骤(七)初始化时序(八)应用举例一、概述12864ZW是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128X64全点阵液晶显示器组成,可完成图形显示,也可以显示8X4个(16X16点阵汉字,与外部CPU接口可采用串行或并行方式控制。二、外形尺寸图项目参考值LCM尺寸(长×宽×厚)93.0×70.0×13.5可视区域(长×宽)72.0×40.0点间距(长×宽)0.52×0.52点尺寸(长×宽0.48×0.48逻辑工作电压(Vdd+5.0V或+3.3V(出厂时设定+5.0V)LCD驱动电压(Vdd-V0)+3.0~+5.0V工作温度(Ta)0~+50℃(常温)/-20~+70℃(宽温)储存温度(Tsto)-10~+60℃(常温)/-30~+80℃(宽温)工作电流(背光除外)3.0mA(max)三.模块外部接口引脚名称方向说明1VSS--电源负端(0V)2VDD--电源正端(+3.3V或+5.0V,出厂时设定+5.0V)3V0--LCD驱动电压(可调)4RS(CS)I并口方式:●RS=0:当MPU进行读模块操作,指向地址计数器。当MPU进行写模块操作,指向指令寄存器。●RS=1:无论MPU读/写操作,均指向数据寄存器。串口方式:CS:串行片选信号,高电平有效。5R/W(SID)I并口方式:●R/W=0写操作。●R/W=1读操作。串口方式:串行数据输入端6E(SCLK)I并口方式:使能信号,高电平有效。串口方式:串行时钟信号。7-14DB0~DB7I/OMPU与模块之间并口的数据传送通道,4位总线模式下D0~D3脚断开15PSBI串/并口控制选择端:●H:并口控制;●L:串口控制。16NC--空脚17RSTI复位脚(低电平有效)18VOUT--倍压输出脚。(VDD=+3.3V时有效)19LEDK--背光电源负端(0V)20LEDA--背光电源正端(+3.3V或+5.0V,出厂时设定+5.0V)说明:LEDA与LEDK的背光正负极性可根据客户要求进行变更:1.使用并口驱动方式时,PSB=VDD。2.使用串口驱动方式时,PSB=VSS,且DB0~DB7悬空不接。3.串并口选择方式:除接口第15脚(PSB)外,也可使用PS焊盘点(IC面)选择并口/串口。4.中间与右部焊盘短路,表示串口控制方式。5.中间与左部焊盘短路,表示并口控制方式四.时序说明1、并口传输方式:当PSB脚(串/并口选择)接高电平时,模块将进入并口模式,在并口模式下可由指令DLFLAG来选择8-位或4-位接口,主控制系统将配合(RS、RW、E、DB0..DB7)来达成传输动作。从一个完整的流程来看,当设定地址指令后(CGRAM、DDRAM)若要读取数据时需先DUMMYREAD一次,才会读取到正确数据第二次读取时则不需DUMMYREAD除非又下设定地址指令才需再次DUMMYREAD。在4-位传输模式中,每一个八位的指令或数据都将被分为两个字节动作:较高4(DB7~DB4)的资料将会被放在第一个字节(DB7~DB4)部分,而较低4位(DB3~DB0)的资料则会被放在第二个字节的(DB7~DB4)部分,至于相关的另四位则在4-位传输模式中DB3~DB0接口未使用。相关接口传输讯号请参考下图说明:2、并行接口时序图1)MPU写数据到液晶显示模块2)MPU从液晶显示模块读数据3)并行模式AC特性(TA=25℃,VDD=4.5V)3、串口传输方式:当PSB脚(串/并口选择)接低电位时,模块将进入串口模式。从一个完整的串口传输流程来看,一开始先传输启始字节,它需先接收到五个连续的‘1’(同步位字符串),在启始字节,此时传输计数将被重置并且串行传输将被同步,再跟随的两个位字符串分别指定传输方向位(RW)及寄存器选择位(RS),最后第八的位则为‘0’。在接收到同步位及RW和RS资料的启始字节后,每一个八位的指令将被分为两个字节接收到:较高4位(DB7~DB4)的指令资料将会被放在第一个字节的LSB部分,而较低4位(DB3~DB0)的指令资料则会被放在第二个字节的LSB部分,至于相关的另四位则都为0。串行传输讯号请参考下图说明4、串行接口时序图:(1)MPU写数据到液晶显示模块(2)串行模式AC特性(TA=25℃,VDD=4.5V)五、用户指令集说明:1、指令表一:(RE=0:基本指令集)指令表二:(RE=1:扩充指令集)备注说明:●当模块在接受指令前,微处理顺必须先确认模块内部处于非忙碌状态,即读取BF标志时BF需为0,方可接受新的指令;如果在送出一个指令前并不检查BF标志,那么在前一个指令和这个指令中间必须延迟一段较长的时间,即是等待前一个指令确实执行完成,指令执行的时间请参考指令表中的个别指令说明。●“RE”为基本指令集与扩充指令集的选择控制位,当变更“RE”位后,往后的指令集将维持在最后的状态,除非再次变更“RE”位,否则使用相同指令集时,不需每次重设“RE”位。2、具体指令介绍:基本指令(RE=0)1)清除显示:功能:将DDRAM填满”20H”(空格),把DDRAM地址计数器调整“00H”,重新进入点设定将I/D设为”1”,光标右移AC加1。2)地址归位:功能:把DDRAM地址计数器调整为“00H”,光标回原点,该功能不影响显示DDRAM3)点设置:功能:设定光标移动方向并指定整体显示是否移动。I/D=1光标右移,AC自动加1;I/D=0光标左移,AC自动减1。S=1且DDRAM为写状态:整体显示移动,方向由I/D决定(I/D=1左移,I/D=0右移)S=0或DDRAM为读状态:整体显示不移动.4)显示状态开/关:功能:D=1:整体显示ON;D=0:整体显示OFF。C=1:光标显示ON;C=0:光标显示OFF。B=1:光标位置反白且闪烁;B=0:光标位置不反白闪烁。5)光标或显示移位控制:功能:S/C:光标左/右移动,AC减/加1。R/L:整体显示左/右移动,光标跟随移动,AC值不变。6)功能设定:功能:DL=1:8-BIT控制接口;DL=0:4-BIT控制接口。RE=1:扩充指令集动作;RE=0:基本指令集动作。7)设定CGRAM地址:功能:设定CGRAM地址到地址计数器(AC),需确定扩充指令中SR=0(卷动地址或RAM地址选择)8)设定DDRAM地址:功能:设定DDRAM地址到地址计数器(AC)9)读取忙碌状态(BF)和地址:功能:读取忙碌状态(BF)可以确认内部动作是否完成,同时可以读出地址计数器(AC)的值,当BF=1,表示内部忙碌中此时不可下指令需等BF=0才可下新指令10)写资料到RAM:功能:写入资料到内部的RAM(DDRAM/CGRAM/GDRAM),每个RAM地址都要连续写入两个字节的资料。11)读RAM的值:功能:从内部RAM读取数据(DDRAM/CGRAM/GDRAM),当设定地址指令后,若需读取数据时需先执行一次空的读数据,才会读取到正确数据,第二次读取时则不需要,除非又下设定地址指令。扩充指令(RE=1)1)待命模式:功能:进入待命模式,执行其它命令都可终止待命模式2)卷动地址或RAM地址选:功能:SR=1:允许输入卷动地址;SR=0:允许设定CGRAM地址(基本指令)3)反白选择:功能:选择4行中的任一行作反白显示,并可决定反白与否。第一次设定为反白显示,再次设定时为正常显示注意:HJ12864系列中,(根据DDRAM关系,有如下变化效果)R0=0、R1=0:为一、三行反白;R0=0、R1=1:为二、四行反白。4)睡眠模式:功能:SL=1:脱离睡眠模式;SL=0:进入睡眠模式。5)扩充功能设定:功能:DL=1:8-BIT控制接口;DL=0:4-BIT控制接口RE=1:扩充指令集动作;RE=0:基本指令集动作G=1:绘图显示ON;G=0:绘图显示OFF6)卷动地址设定:功能:SR=1,AC5~AC0为垂直卷动地址7)绘图RAM地址设定:功能:设定GDRAM地址到地址计数器(AC)五、显示步骤:1、显示资料RAM(DDRAM)显示数据RAM提供64×2个字节的空间,最多可以控制4行16个中文字型(16×16点阵),或4行×32个字符(8×16)。当写入显示资料RAM时,可以分别显示CGROM,HCGROM与CGRAM的字型;此中文字库系列模块可以显示三种字型,分别是半宽的HCGROM字型、自定义CGRAM字型及中文CGROM字型,三种字型的选择,由DDRAM中写入的编码选择,在0000H~0006H的编码中将选择CGRAM的自定字型,02H~7FH的编码中将选择半宽英数字的字型,至于A1以上的编码将自动的结合下一个字节,组成两个字节的编码达成中文字型的编码简繁体中文BIG5(A140~D75F),简体中文GB(A1A0~F7FF),详细各种字型编码如下:1)显示半宽字型:将8位资料写入DDRAM中,范围为02H~7FH的编码。2)显示CGRAM字型:将16位资料写入DDRAM中,总共有0000H,0002H,0004H,0006H四种编码。3)显示中文字形:将16位资料写入DDRAM中,范围为A140H~D75FH的繁体中文编码(BIG5),A1A0H~F7FFH的简体中文编码(GB)。将16位资料写入DDRAM方式为透过连续写入两个字节的资料来完成,先写入高字节(D15~D8)再写入低字节(D7~D0)。2、绘图RAM(GDRAM)绘图显示RAM提供64×32个字节的记忆空间(由扩充指令设定绘图RAM地址),最多可以控制256×64点的二维绘图缓冲空间,在更改绘图RAM时,由扩充指令设定GDRAM地址先设垂直地址再设水平地址(连续写入两个字节的数据来完成垂直与水平的坐标地址),再写入两个8位的资料到绘图RAM,而地址计数器(AC)会自动加一,整个写入绘图RAM的步骤如下:1)绘图清屏。2)先将垂直的字节坐标(Y)写入绘图RAM地址。3)再将水平的字节坐标(X)写入绘图RAM地址。4)将D15~D8写入到RAM中(写入第一个Bytes)。5)将D7~D0写入到RAM中(写入第二个Bytes)。六、初始化时序:1)、8位并联接口:2、4位并联接口:八、应用举例:12864带M系列(控制器ST7920A),单片机:89S52,晶振:12M,//并行连接方式,P3.1-RS,P3.4-RW,P3.5-E//设计:BOLIANG#includereg52.h#includeintrins.hsbitRS=P3^1;//串口时为CSsbitRW=P3^4;//串口为SIDsbitE=P3^5;//串口为时钟SCLK//sbitstop=P3^2;sbitPSB=P2^3;sbitREST=P2^4;//以下是用at89x51.h头文件的定义/*#defineRSP2_0#defineRWP2_1//定义引脚#defineEP2_2#definePSBP2_3#defineRESTP2_4#defineDataP1#includeat89x51.h*/#defineBF0x80//用于检测LCM状态字中的Busy标识typedefunsignedintUint;typedefunsignedcharUchar;//字符串例子//F1--English,也可以往里面写入汉字码,一个汉字由两个码组成constUcharF1English[]={0x46,0x31,0x2d,0x2d,0x45,0x6e,0x67,0x6c,0x69,0x73,0x68,0x00};constUcharlengthF1=6;//字符串长度//汉字,直接可以写入字形unsignedcharcodeuctech[]constUcharlengthCF3=8;UcharcodeTAB1[]={/*--调入了一幅图像:C:\DocumentsandSettings\Administrator\桌面\12864.bmp--*//*--