第十章 单片机与字符液晶显示模块连接技术.docx
- 文档编号:28997206
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:19
- 大小:22.52KB
第十章 单片机与字符液晶显示模块连接技术.docx
《第十章 单片机与字符液晶显示模块连接技术.docx》由会员分享,可在线阅读,更多相关《第十章 单片机与字符液晶显示模块连接技术.docx(19页珍藏版)》请在冰豆网上搜索。
第十章单片机与字符液晶显示模块连接技术
第十章单片机与字符液晶显示模块连接技术
第一节字符式液晶显示模块简介
一、内部结构
字符式液晶显示模块为智能式显示器件。
常用型号有EA—D系列、H25系列、LM系列等。
其中ED—A系列显示模块(以下简称模块)主要由三部分组成:
液晶显示面板、CMOS驱动器和CMOS控制器。
引脚排列及内部结构图如图10—1(a)、(b)、(c)所示:
SED1278
VSSVDDV0RSR/WED0D1D2D3D4D5D6D7
1234567891011121314
4040
液晶显示面板
88
8
ER/WR5DB7—DB0
(a)EA—D16015AR引脚排列图(b)SED1278专用集成块内部结构示意图
指令寄存器状态存器显示存储器字符产生存储器
振
荡
器
控制逻辑数据寄存器行驱动器列驱动器
1640
ERSR/WD7—D0
(c)EA—D16015AR内部结构示意图
图10—1EA—D16015AR液晶显示模块
二、字符编码
模块内有96个ASCII字符和92个特殊字符的字库,此外还有十六个地址供用户自己编写和产生其它形式的字符,见表10—1:
表10—1显示模块字符编码表
高位
低位
0000
0010
0011
0100
0101
0110
0111
1010
1011
1100
1101
1110
1111
××××0000
CGRAM
(1)
0
P
\
—
タ
三
P
××××0001
(2)
!
1
A
Q
a
q
ロ
ア
チ
ム
a
q
××××0010
(3)
″
2
B
R
b
r
Г
イ
リ
メ
××××0011
(4)
#
3
C
S
c
s
┙
ウ
テ
モ
ε
从模块字符编码表可看出,EA—D系列显示模块能显示数字、西文、日语的假名和简单的汉字等。
对选中的字符,只要将其8位编码数据送入显示存储器(DDRAM)即可。
例如空格编码20H,字符“R”的编码52H等。
表中第一列有十六个地址(实际只有8个编码区),那是用户自定义字符编码区(CGRAM),编码范围从00H—07H(08H—0FH)。
表中第二列到最后一列是固定字符编码区(CGROM),共有192个,供用户随意调用,每个字符本身占用5×7个点阵,另加一行光标显示控制行,共占用5×8个点阵。
综上所述,编码表中共有16×8个字节的CGRAM单元和192×8个字节的CGROM单元。
三、显示地址
模块中设有显示存储器(DDRAM)单元,DDRAM地址与显示屏幕一一对应,若向DDRAM的某一单元写入一个字符的编码后,该字符即在对应位置上显示出来。
EA—D16015AR的显示屏幕可理解为由8×100点阵组成,若每个字符采用5×8个显示,则屏幕共分为8/8=1行和100/5=20列。
EA—D16015AR显示地址分配如表10—2所示:
表10—2EA—D16015AR显示地址分配表
显示位置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
DDRAM地址
00
01
02
03
04
05
06
07
40
41
42
43
44
45
46
47
请注意上述模块DDRAM中第八个字符地址和第九个地址不连续。
四、模块引脚功能介绍
引脚1;VSS,地线输入端。
引脚2;VDD,+5V电源输入端。
引脚3;显示面板亮度调节输入端,亮度调节线路如图10—2所示;
VDD
V010k~20k
Vs
图10—2亮度调节线路
引脚4;RS,寄存器选择输入端,RS=0,选通指令寄存器。
RS=1,选通数据寄存器。
引脚5;R/W,读/写控制线,R/W=0,将数据写入模块。
R/W=1,从模块读出数据。
引脚6;E,模块启动输入端,E=0,未启动。
E=1,模块启动,可进行读/写操作。
引脚7—14;D7—D0,八位数据总线。
数据总线可选择4位或8位总线操作,用4位总线操作时仅用D7—D4,4位总线操作速度比八位总线操作提高一倍。
第二节模块指令系统
模块的预置及显示功能均由指令实现,共有11条指令,如表10—3所示:
表10—3显示模块指令表
指令
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
*
置输入模式
0
0
0
0
0
0
0
1
I/D
S
显示开/关控制
0
0
0
0
0
0
1
D
C
B
光标或字符移动
0
0
0
0
0
1
S/C
R/L
*
*
置功能
0
0
0
0
1
IF
N
F
*
*
置字符发生存储器地址
0
0
0
1
字符发生存储器地址(ACG)
置数据存储器地址
0
0
1
显示数据存储器地址(ADD)
读忙标志或地址
0
1
BF
计数器地址(AC)
写数到CGRAM或DDRAM
1
0
要写的数
从CGRAM或
DDRAM读数
1
1
读出的数据
表中所用和符号说明如下:
I/D=1/0:
增量/减量。
S=1;整个显示屏移动。
S/C=1/0:
显示屏移动/光标移动。
R/L=1/0:
右移/左移。
IF=10:
8位数据/4位数据。
N=1/0:
2行/1行。
F=1/0:
5×10点阵/5×7点阵。
BF=1/0:
忙/闲标志。
DDRAM:
显示数据存储器。
CGRAM:
字符产生存储器。
ACG:
字符产生存储器地址。
ADD:
显示数据存储器地址,它与光标地址一一对应。
AC:
显示数据存储器地址和字符产生存储器地址使用的地址计数器。
*:
无关项。
指令简要说明如下:
1.清显示指令
编码
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
0
0
0
0
0
0
0
0
0
1
该命令实际上是将空格编码20H写入DDRAM的所有单元,并将地址计数器AC清0,显示光标返回起始位置。
2.光标返回命令
编码
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
0
0
0
0
0
0
0
0
1
*
该命令将AC内容清0,光标回到起始位置,DDRAM中内容保持不变。
3.置输入模式命令
编码
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
0
0
0
0
0
0
0
1
I/D
S
I/D=0,DDRAM地址减一,显示器光标左移。
I/D;在对DDRAM作读、写操作时,I/D=1,DDRAM地址加一,显示器光标加一。
而对CCRAM作读,写操作时,地址加,减与DDRAM相同,但与光标无关。
S=0,内容不移动。
S;屏幕内容移动控制,S=1,内容移动,当I/D=1,左移;I/D=1,右移。
4.显示开关控制
编码
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
0
0
0
0
0
0
I
D
C
B
D;D=0,显示器关闭。
D=1,显示器打开。
C;C=0,不显示光标。
C=1,显示光标。
B;B=0,不闪烁
B=1,光标或字符闪烁。
5.光标或显示屏移动命令
编码
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
0
0
0
0
0
0
S/L
R/L
*
*
该命令使显示屏或光标移动,而不进行读/写操作,具体移动情况由D3,D2状态确定,见表10—4:
表10—4
D3(S/L)D2(R/L)
操作
00
01
10
11
光标左移,AC减一。
光标右移,AC加一。
显示屏左移,光标随显示屏移动,AC不变。
显示屏右移,光标随显示屏移动,AC不变。
6.置功能命令
编码
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
0
0
0
0
1
IF
N
F
*
*
IF;接口数据线长度控制参数。
IF=0,数据以四位数据长度(D7—D4)传送;IF=1,数据以八位数据长度(D7—D0)传送。
四位传送时,传送速度提高一倍。
N,F;显示屏控制参数.控制功能如表10—5;
表10—5
NF
显示行数
字符点阵
占空因数
00
01
10
11
1
1
2
2
5×7
5×10
5×7
5×7
1/16
1/11
1/16
1/16
7.建立CGRAM地址命令
高位低位
编码
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
0
0
0
1
A
A
A
A
A
A
该命令将六位(D5—D0)CGRAM地址送入AC,以便下一步CGRAM进行读/写操作。
8.建立DDRAM地址命令
高位低位
编码
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
0
0
1
A
A
A
A
A
A
A
该命令将七位DDRAM地址送入AC,以便下一步对DDRAM进行读/写操作。
9.读忙标志BF和地址命令
高位低位
编码
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
0
1
BF
A
A
A
A
A
A
A
该指令BF(模块忙标志)和当前AC内容。
该指令可通过测试忙标志协调计算机与显示模块间时序的配合,另外也可读出当前AC的内容。
10.对CGRAM或DDRAM进行读/写操作命令
高位低位
编码
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
1
0
D
D
D
D
D
D
D
D
该命令将八位数据写入CGRAM或DDRAM.具体是写入CGRAM还是写入DDRAM,则由最近送入AC的地址是CGRAM地址还是DDRAM地址确定。
11.对CGRAM或DDRAM进行读操作命令
高位低位
编码
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
1
1
D
D
D
D
D
D
D
D
该命令从CGRAM或DDRAM读出八位数据,具体是读CGRAM还是读DDRAM内容,由最近的建立地址指令确定(同指令10)
第三节模块与8051单片机的连接
模块与单片机连接主要考虑以下三点;
1.单片机若为CMOS芯片,则不用加总线驱动器等电平转换电路;若为TTL芯片则须配电平转换电路。
2.模块读/写控制线为单线,对读、写控制线分开的单片机,须加读、写信号转换电路。
3.根据对模块确定的编码地址,选择对应的译码电路。
图10—3为模块与80C51单片机的最简连接电路,图中采用了线选寻址。
.
+5V+5V
VCCRDVCC
WR1R/W
80C51P0D7—D0
EA—DV0W
16015AR
P2.0RS
P2.6E
VSS
图10—380C51与液晶显示模块连接
在图10—3中显然有;
P2.6=0,模块未选通。
P2.6=1,模块选通。
P2.0=0,选中指令寄存器。
P2.0=1,选中数据寄存器。
因此模块中指令寄存器地址为4000H,数据寄存器地址为4100H。
第四节模块字符显示举例
以下是在显示屏幕上显示"READY"字符的初始化控制字及程序清单。
1.模块功能控制字38H;
D7D0
IF=1,8位数据操作.
38H00111000NF=10,5×8点阵.
2.输入模式控制字06H;
D7D0
I/D=1,AC地址自动加一。
06H00000110
S=0,显示内容不移动。
3.显示开关控制字0CH;
D7D0
D=1,显示器打开。
0CH00001100C=0,光标关闭。
B=0,不闪烁。
综上可得初始化功能为;
从03H开始显示READY字符,8位数据传送,采用5×8点阵,地址自动加一,显示字符不移动,关闭光标,字符不闪烁。
以下为模块的初始化程序:
START:
PUSHDPL
PUSHDPH
PUSHACC
MOVDPTR,#4000H;建立命令寄存器地址。
MOVA,#38H;建立模块控制字38H。
MOVX@DPTR,A;送命令寄存器。
LCALLWAIT;等待,使模块完成上述操作。
MOVA,#06H;设置输入模式控制字06H,
MOVX@DPTR,A;送命令寄存器。
LCALLWAIT;等待。
MOVA,#0CH;设置显示开关控制字0CH。
MOVX@DPTR,A
LCALLWAIT
MOVA,#01H;清屏幕。
MOVX@DPTR,A
LCALLWAIT
POPACC
POPDPH
POPDPL
RET;返回。
初始化完成后,即可显示有关字符,以下为显示"READY"五个字符的程序清单;
READY:
PUSHDPL
PUSHDPH
PUSHACC
MOVDPTR,#4000H;建立命令寄存器地址。
MOVA,#03H;建立DDRAM地址初值03H。
MOVX@DPTR,A
LCALLWAIT;等待。
MOVA,#52H;调"R"字符编码52H。
LCALLLOAD;将A中当前字符编码送DDRAM单元。
MOVA,#45H;调"E"字符编码45H。
LCALLLOAD;送下一DDRAM单元。
MOVA,#41H;调"A"字符编码41H。
LCALLLOAD
MOVA,#44H;调"D"字符编码。
LCALLLOAD
MOVA,#59H;调"Y"字符编码。
LCALLLOAD
POPACC
POPDPH
POPDPL
RET
LOAD:
MOVDPTR,#4100H;建立数据寄存器地址。
MOVX@DPTR,A;当前字符编码内容送数据寄存器,并使DDRAM地址加一。
LCALLWAIT
RET;返回。
上述程序由于可直接调用模块原有字符编码,故程序较为简单。
第五节自定义字符显示
要定义一个自定义字符,首先是将自定义字符的数据送入某CGRAM(自定义字符),再将该CGRAM的编码送入DDRAM即可显示。
例如我们要显示一个"工"字,用5×7点阵,字符点阵为"1"时点亮,见图10—4:
自定义字符编码字地址CGRAM数据区
D7D6D5D4D3D2D1D0D5D4D3D2D1D0D7D6D5D4D3D2D1D0
000XXX11111
001XXX00100
字地址高三位作为编码地址的低三位
010XXX00100
0000X000000011XXX00100
100XXX00100
自定义字符固定编码
101XXX00100
110XXX11111
111XXX00000
不用
图10—4自定义字符“工”字编码
由图10—4可得;
1.CGRAM数据区中高三位不用(D7—D5)。
2.每个字符由八个存储单元组成,其中前七行构成字符点阵排列,第八行为光标控制行,当第八行数据为0时,显示光标;当第八行数据为1时,不显示光标。
例如上述八个存储单元内容分别为;1FH,04H,04H,04H,04H,04H,1FH,00H,构成了自定义字符“工”字的数据信息。
3.自定义字符的编码由高五位固定编码(D7D6D5D4D3=0000X)和低三位(D2D1D0)组成,因此每次最多可有八个自定义字符可供调用(即D2D1D0从000到111变化)。
4.在将自定义数据信息依次送入CGRAM后,再将该字符编码送入指定的DDRAM即可显示该字符。
以下是建立自定义字符“工”字的参考程序:
BUILD:
PUSHDPL
PUSHDPH
PUSHACC
MOVDPTR,#4000H;建立命令寄存器地址。
MOVA,#40H;设CGRAM地址初值为00H
MOVX@DPTR,A
LCALLWAIT
MOVA,#1FH;"工"第一行字符点阵数据1FH送
CGRAM
LCALLLOAD
MOVA,#04H;送第二行至第八行数据。
LCALLLOAD
MOVA,#04H
LCALLLOAD
MOVA,#04H
LCALLLOAD
MOVA,#04H
LCALLLOAD
MOVA,#04H
LCALLLOAD
MOVA,#1FH
LCALLLOAD
MOVA,#00H
LCALLLOAD
POPACC
POPDPH
POPDPL
RET;返回。
显示参考程序如下;
GONG:
PUSHDPL
PUSHDPH
PUSHACC
MOVDPTR,#4000H;建立命令寄存器地址。
MOVA,#88H;设DDRAM地址初值为08H。
MOVX@DPTR,A
LCALLWAIT
MOVA,#00H;“工”字符的地址编码送DDRAM。
LCALLLOAD
POPACC
POPDPH
POPDPL
RET;返回。
应当指出,在每次调用LOAD子程序时,由于事先建立的地址初值不同,所以操作对象也不同;在自定义字符建立子程序BUILD中,由于事先建立了CGRAM地址初值,故那时LOAD子程序是访问CGRAM,而在显示子程序GONG中,由于事先建立了DDRAM地址初值,故这时LOAD子程序改而访问DDRAM,两者不可混淆(这一点在模块指令系统中已有说明)。
如果要自定义另外七个字符并显示,思路与上相同,只是CGRAM数据及地址DDRAM地址有所不同。
思考题与习题
10—1请通过调查市场了解当前比较成熟的字符显示器件产品,并分析该产品与8051的连接方法。
10—2试叙述8051与EA—D16051AR模块连接注意事项,并说明理由。
10—3试编程用EA—D16051AR显示字符“PASS”。
10—4试编程用EA—D16051AR自定义中文字符“天”。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第十章 单片机与字符液晶显示模块连接技术 第十 单片机 字符 液晶显示 模块 连接 技术
![提示](https://static.bdocx.com/images/bang_tan.gif)