LCD12864液晶显示原理电路图程序要点.docx
《LCD12864液晶显示原理电路图程序要点.docx》由会员分享,可在线阅读,更多相关《LCD12864液晶显示原理电路图程序要点.docx(39页珍藏版)》请在冰豆网上搜索。
![LCD12864液晶显示原理电路图程序要点.docx](https://file1.bdocx.com/fileroot1/2023-2/9/502838e4-41da-4fa6-877b-36b42d5b44d0/502838e4-41da-4fa6-877b-36b42d5b44d01.gif)
LCD12864液晶显示原理电路图程序要点
LCD12864系列点阵型液晶显示模块
使用说明书
一、OCM12864液晶显示模块概述
1.OCM12864液晶显示模块是128×64点阵型液晶显示模块,可显示各种字符及图形,可与CPU直接接口,具有8位标准数据总线、6条控制线及电源线。
采用KS0107控制IC。
2.外观尺寸:
113×65×11mm(ocm12864-1),93×70×10mm(ocm12864-2)
78×70×10mm(ocm12864-3),
3.视域尺寸:
73.4×38.8mm(ocm12864-1)70.7×38mm(ocm12864-2),
64×44mm(ocm12864-3)
4.重量:
大约 g
●补充说明:
外观尺寸可根据用户的要求进行适度调整。
二、最大工作范围
1、逻辑工作电压(Vcc):
4.5~5.5V
2、电源地(GND):
0V
3、LCD驱动电压(Vee):
0~-10V
4、输入电压:
Vee~Vdd
5、工作温度(Ta):
0~55℃(常温)/-20~70℃(宽温)
6、保存温度(Tstg):
-10~65℃
三、电气特性(测试条件Ta=25,Vdd=5.0+/-0.25V)
1、输入高电平(Vih):
3.5Vmin
2、输入低电平(Vil):
0.55Vmax
3、输出高电平(Voh):
3.75Vmin
4、输出低电平(Vol):
1.0Vmax
5、工作电流:
2.0mAmax
四、接口说明
12864-3A接口说明表
管脚号
管脚
电平
说明
1
CSA
H/L
片选择信号,低电平时选择前64列。
2
CSB
H
片选择信号,低电平时选择后64列。
3
GND
0V
逻辑电源地。
4
VCC
5V
逻辑电源。
5
VEE
-10V
LCD驱动电源。
6
D/I
H/L
数据\指令选择,高电平:
数据D0-D7将送入显示RAM;
低电平:
数据D0-D7将送入指令寄存器执行。
7
R/W
H/L
读\写选择,高电平:
读数据;低电平:
写数据。
8
E
H.H/L
读写使能,高电平有效,下降沿锁定数据。
9
DB0
H/L
数据输入输出引脚。
10
DB1
H/L
数据输入输出引脚。
11
DB2
H/L
数据输入输出引脚。
12
DB3
H/L
数据输入输出引脚。
13
DB4
H/L
数据输入输出引脚。
14
DB5
H/L
数据输入输出引脚。
15
DB6
H/L
数据输入输出引脚。
16
DB7
H/L
数据输入输出引脚。
五、指令描述
1、显示开/关设置
CODE:
R/W D/IDB7DB6DB5DB4DB3DB2DB1DB0
L
L
L
L
H
H
H
H
H
H/L
功能:
设置屏幕显示开/关。
DB0=H,开显示;DB0=L,关显示。
不影响显示RAM(DDRAM)中的内容。
2、设置显示起始行
CODE:
R/W D/IDB7DB6DB5DB4DB3DB2DB1DB0
L
L
H
H
行地址(0~63)
功能:
执行该命令后,所设置的行将显示在屏幕的第一行。
显示起始行是由Z地址计数器控制的,该命令自动将A0-A5位地址送入Z地址计数器,起始地址可以是0-63范围内任意一行。
Z地址计数器具有循环计数功能,用于显示行扫描同步,当扫描完一行后自动加一。
3、设置页地址
CODE:
R/W D/IDB7DB6DB5DB4DB3DB2DB1DB0
L
L
H
L
H
H
H
页地址(0~7)
功能:
执行本指令后,下面的读写操作将在指定页内,直到重新设置。
页地址就是DDRAM的行地址,页地址存储在X地址计数器中,A2-A0可表示8页,读写数据对页地址没有影响,除本指令可改变页地址外,复位信号(RST)可把页地址计数器内容清零。
DDRAM地址映像表
Y地址
0
1
2
………………………
61
62
63
DB0
∫PAGE0
DB7
X=0
DB0
∫PAGE1
DB7
X=1
∷
∷
∷
∷
DB0
∫PAGE6
DB7
X=7
DB0
∫PAGE7
DB7
X=8
4、设置列地址
CODE:
R/W D/IDB7DB6DB5DB4DB3DB2DB1DB0
L
L
L
H
列地址(0~63)
功能:
DDRAM的列地址存储在Y地址计数器中,读写数据对列地址有影响,在对DDRAM进行读写操作后,Y地址自动加一。
5、状态检测
CODE:
R/W D/IDB7DB6DB5DB4DB3DB2DB1DB0
H
L
BF
L
ON/OFF
RST
L
L
L
L
功能:
读忙信号标志位(BF)、复位标志位(RST)以及显示状态位(ON/OFF)。
BF=H:
内部正在执行操作;BF=L:
空闲状态。
RST=H:
正处于复位初始化状态;RST=L:
正常状态。
ON/OFF=H:
表示显示关闭;ON/OFF=L:
表示显示开。
6、写显示数据
CODE:
R/W D/IDB7DB6DB5DB4DB3DB2DB1DB0
L
H
D7
D6
D5
D4
D3
D2
D1
D0
功能:
写数据到DDRAM,DDRAM是存储图形显示数据的,写指令执行后Y地址计数器自动加1。
D7-D0位数据为1表示显示,数据为0表示不显示。
写数据到DDRAM前,要先执行“设置页地址”及“设置列地址”命令。
7、读显示数据
CODE:
RSR/WDB7DB6DB5DB4DB3DB2DB1DB0
H
H
D7
D6
D5
D4
D3
D2
D1
D0
功能:
从DDRAM读数据,读指令执行后Y地址计数器自动加1。
从DDRAM读数据前要先执行“设置页地址”及“设置列地址”命令。
六、接口时序
1.写操作时序
时序1
1.
读操作时序
时序2
时序参数表:
名称
符号
最小值
典型值
最大值
单位
E周期时间
Tcyc
1000
ns
E高电平宽度
Pweh
450
ns
E低电平宽度
Pwel
450
ns
E上升时间
Tr
25
ns
E下降时间
Tf
25
ns
地址建立时间
Tas
140
ns
地址保持时间
taw
10
ns
数据建立时间
Tdsw
200
ns
数据延迟时间
Tddr
320
ns
写数据保持时间
Tdhw
10
ns
读数据保持时间
Tdhr
20
ns
七、屏幕显示与DDRAM地址映射关系
Y1
Y2
Y3
Y4
…………
Y62
Y63
Y64
X=0
Line0
1/0
1/0
1/0
1/0
…………
1/0
1/0
1/0
DB0
Line1
1/0
1/0
1/0
1/0
…………
1/0
1/0
1/0
DB1
Line2
1/0
1/0
1/0
1/0
…………
1/0
1/0
1/0
DB2
Line3
1/0
1/0
1/0
1/0
…………
1/0
1/0
1/0
DB3
Line4
1/0
1/0
1/0
1/0
…………
1/0
1/0
1/0
DB4
Line5
1/0
1/0
1/0
1/0
…………
1/0
1/0
1/0
DB5
Line6
1/0
1/0
1/0
1/0
…………
1/0
1/0
1/0
DB6
Line7
1/0
1/0
1/0
1/0
…………
1/0
1/0
1/0
DB7
…………
…………
…………
X=7
Line60
1/0
1/0
1/0
1/0
…………
1/0
1/0
1/0
DB4
Line61
1/0
1/0
1/0
1/0
…………
1/0
1/0
1/0
DB5
Line62
1/0
1/0
1/0
1/0
…………
1/0
1/0
1/0
DB6
Line63
1/0
1/0
1/0
1/0
…………
1/0
1/0
1/0
DB7
八、测试硬件电路
九、读写模块程序举例
●写指令子程序(INST)
SETBE
CLRD_I
CLRR_W
MOVP1,A
CLRE
RET
●写数据子程序(DATA)
SETBE
SETBD_I
CLRR_W
MOVP1,A
CLRE
RET
●写一页显示RAM数据(假设指令子程序为INST,数据子程序为DATA)
MOVA,#0B8H
LCALLINST;置页地址为0页
MOVA,#40H
LCALLINST;置列地址为0列
MOVR2,#40H
MOVR1,#00H
MOVDPTR,#ADDR
LOOP:
MOVA,R1
MOVCA,@A+DPTR
LCALLDATA
INCR1
DJNZR2,LOOP
带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。
可以显示8×4行16×16点阵的汉字.也可完成图形显示.低电压低功耗是其又一显著特点。
由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。
基本特性:
l 低电源电压(VDD:
+3.0--+5.5V)
l 显示分辨率:
128×64点
l 内置汉字字库,提供8192个16×16点阵汉字(简繁体可选)
l 内置128个16×8点阵字符
l 2MHZ时钟频率
l 显示方式:
STN、半透、正显
l 驱动方式:
1/32DUTY,1/5BIAS
l 视角方向:
6点
l 背光方式:
侧部高亮白色LED,功耗仅为普通LED的1/5—1/10
l 通讯方式:
串行、并口可选
l 内置DC-DC转换电路,无需外加负压
l 无需片选信号,简化软件设计
l 工作温度:
0℃-+55℃,存储温度:
-20℃-+60℃
模块接口说明
*注释1:
如在实际应用中仅使用串口通讯模式,可将PSB接固定低电平,也可以将模块上的J8和“GND”用焊锡短接。
*注释2:
模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。
*注释3:
如背光和模块共用一个电源,可以将模块上的JA、JK用焊锡短接。
2.2并行接口
管脚号
管脚名称
电平
管脚功能描述
1
VSS
0V
电源地
2
VCC
3.0+5V
电源正
3
V0
-
对比度(亮度)调整
4
RS(CS)
H/L
RS=“H”,表示DB7——DB0为显示数据
RS=“L”,表示DB7——DB0为显示指令数据
5
R/W(SID)
H/L
R/W=“H”,E=“H”,数据被读到DB7——DB0
R/W=“L”,E=“H→L”,DB7——DB0的数据被写到IR或DR
6
E(SCLK)
H/L
使能信号
7
DB0
H/L
三态数据线
8
DB1
H/L
三态数据线
9
DB2
H/L
三态数据线
10
DB3
H/L
三态数据线
11
DB4
H/L
三态数据线
12
DB5
H/L
三态数据线
13
DB6
H/L
三态数据线
14
DB7
H/L
三态数据线
15
PSB
H/L
H:
8位或4位并口方式,L:
串口方式(见注释1)
16
NC
-
空脚
17
/RESET
H/L
复位端,低电平有效(见注释2)
18
VOUT
-
LCD驱动电压输出端
19
A
VDD
背光源正端(+5V)(见注释3)
20
K
VSS
背光源负端(见注释3)
*注释1:
如在实际应用中仅使用并口通讯模式,可将PSB接固定高电平,也可以将模块上的J8和“VCC”用焊锡短接。
*注释2:
模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。
*注释3:
如背光和模块共用一个电源,可以将模块上的JA、JK用焊锡短接。
四.模块主要硬件构成说明
控制器接口信号说明:
1、RS,R/W的配合选择决定控制界面的4种模式:
RS
R/W
功能说明
L
L
MPU写指令到指令暂存器(IR)
L
H
读出忙标志(BF)及地址记数器(AC)的状态
H
L
MPU写入数据到数据暂存器(DR)
H
H
MPU从数据暂存器(DR)中读出数据
2、E信号
E状态
执行动作
结果
高——>低
I/O缓冲——>DR
配合/W进行写数据或指令
高
DR——>I/O缓冲
配合R进行读数据或指令
低/低——>高
无动作
●忙标志:
BF BF标志提供内部工作情况.BF=1表示模块在进行内部操作,此时模块不接受外部指令和数据.BF=0时,模块为准备状态,随时可接受外部指令和数据. 利用STATUSRD指令,可以将BF读到DB7总线,从而检验模块之工作状态.● 字型产生ROM(CGROM) 字型产生ROM(CGROM)提供8192个此触发器是用于模块屏幕显示开和关的控制。
DFF=1为开显示(DISPLAYON),DDRAM的内容就显示在屏幕上,DFF=0为关显示(DISPLAYOFF)。
DFF的状态是指令DISPLAYON/OFF和RST信号控制的。
● 显示数据RAM(DDRAM)模块内部显示数据RAM提供64×2个位元组的空间,最多可控制4行16字(64个字)的中文字型显示,当写入显示数据RAM时,可分别显示CGROM与CGRAM的字型;此模块可显示三种字型,分别是半角英数字型(16*8)、CGRAM字型及CGROM的中文字型,三种字型的选择,由在DDRAM中写入的编码选择,在0000H—0006H的编码中(其代码分别是0000、0002、0004、0006共4个)将选择CGRAM的自定义字型,02H—7FH的编码中将选择半角英数字的字型,至于A1以上的编码将自动的结合下一个位元组,组成两个位元组的编码形成中文字型的编码BIG5(A140—D75F),GB(A1A0-F7FFH)。
● 字型产生RAM(CGRAM) 字型产生RAM提供图象定义(造字)功能,可以提供四组16×16点的自定义图象空间,使用者可以将内部字型没有提供的图象字型自行定义到CGRAM中,便可和CGROM中的定义一样地通过DDRAM显示在屏幕中。
● 地址计数器AC地址计数器是用来贮存DDRAM/CGRAM之一的地址,它可由设定指令暂存器来改变,之后只要读取或是写入DDRAM/CGRAM的值时,地址计数器的值就会自动加一,当RS为“0”时而R/W为“1”时,地址计数器的值会被读取到DB6——DB0中。
应用说明
用带中文字库的128X64显示模块时应注意以下几点:
①欲在某一个位置显示中文字符时,应先设定显示字符位置,即先设定显示地址,再写入中文字符编码。
②显示ASCII字符过程与显示中文字符过程相同。
不过在显示连续字符时,只须设定一次显示地址,由模块自动对地址加1指向下一个字符位置,否则,显示的字符中将会有一个空ASCII字符位置。
③当字符编码为2字节时,应先写入高位字节,再写入低位字节。
④模块在接收指令前,向处理器必须先确认模块内部处于非忙状态,即读取BF标志时BF需为“0”,方可接受新的指令。
如果在送出一个指令前不检查BF标志,则在前一个指令和这个指令中间必须延迟一段较长的时间,即等待前一个指令确定执行完成。
指令执行的时间请参考指令表中的指令执行时间说明。
⑤“RE”为基本指令集与扩充指令集的选择控制位。
当变更“RE”后,以后的指令集将维持在最后的状态,除非再次变更“RE”位,否则使用相同指令集时,无需每次均重设“RE”位。
用51单片机应用于12864液晶显示程序(带字库汉字显示演示程序,可用于本站XL系列实验仪)
;12864(带字库汉字显示演示程序
;***************************************************************************
;*sxj1974@(51c51testweb)*
;*Createby:
石学军更多例程请登陆网站*
;***************************************************************************
RSEQUP2.0
RWEQUP2.1
EEQUP2.2
PSBEQUP2.3
RSTEQUP2.5
;-----------------------------------------------
LCD_XEQU30H
LCD_YEQU31H
COUNTEQU32H
COUNT1EQU33H
COUNT2EQU34H
COUNT3EQU35H
;-----------------------------------------------
LCD_DATAEQU36H
LCD_DATA1EQU37H
LCD_DATA2EQU38H
STOREEQU39H
;-----------------------------------------------
ORG0000H
LJMPMAIN
ORG0100H
;-----------------------------------------------
MAIN:
MOVSP,#5FH
CLRRST;复位
LCALLDELAY4
SETBRST
NOP
SETBPSB;通讯方式为8位数据并口
;********************初始化**********************
LGS0:
MOVA,#34H;34H--扩充指令操作
LCALLSEND_I
MOVA,#30H;30H--基本指令操作
LCALLSEND_I
MOVA,#01H;清除显示
LCALLSEND_I
MOVA,#06H;指定在资料写入或读取时,光标的移动方向
LCALLSEND_I;DDRAM的地址计数器(AC)加1
MOVA,#0CH;开显示,关光标,不闪烁
LCALLSEND_I
;===============================================
TU_PLAY1:
MOVDPTR,#TU_TAB1;显示图形
LCALLPHO_DISP
LCALLDELAY3
;=================================================
;;显示汉字和字符
;加入80ms的延时,使你能够看清楚显示的过程
;根据汉字显示坐标分段写入(顺序写入)
;=================================================
HAN_WR2:
LCALLCLEAR_P
HAN_WR2A:
MOVDPTR,#TAB1A;显示汉字和字符
MOVCOUNT,#10H;地址计数器设为16。
MOVA,#80H;第一行起始地址
LCALLSEND_I
LCALLQUSHU
HAN_WR2B:
MOVDPTR,#TAB1B;显示汉字和字符
MOVCOUNT,#10H;地址计数器设为16。
MOVA,#90H;第二行起始地址
LCALLSEND_I
LCALLQUSHU
HAN_WR2C:
MOVDPTR,#TAB1C;显示汉字和字符
MOVCOUNT,#10H;地址计数器设为16。
MOVA,#88H;第三行起始地址
LCALLSEND_I
LCALLQUSHU
HAN_WR2D:
MOVDPTR,#TAB1D;显示汉字和字符
MOVCOUNT,#10H;地址计数器设为16。
MOVA,#98H;第四行起始地址
LCALLSEND_I
LCALLQUSHU
LCALLDELAY3
LCALLFLASH
LCALLCLEAR_P
JMPTU_PLAY2
;----------------------------------------------
;TU_PLAY1:
MOVDPTR,#TU_TAB1;显示图形
LCALLPHO_DISP
LCALLDELAY3
;----------------------------------------------
TU_PLAY2:
MOVDPTR,#TU_TAB2;显示图形
LCALLPHO_DISP
LCALLDELAY3
;----------------------------------------------
TU_PLAY3:
MOVDPTR,#TU_TAB4;显示图形
LCALLPHO_DISP
LCALLDELAY3
;-----------------------------------------------
;显示点阵
;-----------------------------------------------
LATPLAY1:
MOVA,#01H;清屏
LCALLSEND_I
MOVLCD_DATA1,#