14432液晶显示模组 带中文字库
DV14432A(带中文字库)
一、概述
DV14432A 是一种内置8192 个16*16 点汉字库和144 个16*8 点ASCII 字符集图形点阵液晶显示器,它主要由
行驱动器/ 列驱动器及128×32 全点阵液晶显示器组成。可完成图形显示,也可以显示9×2 个(16×16 点阵)汉字.
与外部CPU 接口采用并行或串行方式控制。
主要技术参数和性能:
1.电源:VDD:+3.0∽+5.5V。
2.2.显示内容:144(列)×32(行)点。
3.全屏幕点阵。
4.2M ROM(CGROM)总共提供8192 个汉字(16×16 点阵)。
5.16K ROM(HCGROM)总共提供144 个字符(16×8 点阵)。
6.2MHZ 频率。
7.工作温度: -20℃ ∽ +70℃ ,存储温度: -30℃ ∽ +80℃
8. 常用的显示效果有蓝屏白字、黄绿屏蓝字、黄绿屏黑字、FSTN 灰底黑字(主要适用于室外或恶劣环境)
二、外形尺寸图
UnRegistered
第 3 页
图 1
2. 外形尺寸图
表 1
项目 正常尺寸 单位
模块体积 80.8×35×12 mm
视域 64.6×16 mm
行列点阵数 144×32 DOTS
点距离 0.36×0.41 mm
点大小 0.40×0.45 mm
三.模块主要硬件构成说明
UnRegistered
第 4 页
控制器接口信号说明:
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 时,模块为
准备状态,随时可接受外部指令和数据.
利用STATUS RD 指令,可以将BF 读到DB7 总线,从而检验模块之工作状态.
● 字型产生ROM(CGROM)
字型产生ROM(CGROM)提供8192 个此触发器是用于模块屏幕显示开和关的控制。DFF=1 为开显示(DISPLAY
ON),DDRAM 的内容就显示在屏幕上,DFF=0 为关显示(DISPLAY OFF)。
DFF 的状态是指令DISPLAY ON/OFF 和RST 信号控制的。
● 显示数据RAM(DDRAM)
模块内部显示数据RAM 提供64×2 个位元组的空间,最多可控制4 行16 字(64 个字)的中文字型显示(本
模块只用到其中的7.5*2 个),当写入显示数据RAM 时,可分别显示CGROM 与CGRAM 的字型;此模块可显示三种
字型,分别是瘦长的英数字型(16*8)、CGRAM 字型及CGROM 的中文字型,三种字型的选择,由在DDRAM 中写入的
编码选择,在00~0F 的编码中将选择CGRAM 的字定义字型,10~7F 的编码中将选择
瘦长英数字的字型,至于A0 以上的编码将自动的结合下一个位元组,组成两个位元组的编码形成中文字型的编
码(A140~D75F)。
● 字型产生RAM(CGRAM)
字型产生RAM 提供图象定义(造字)功能, 可以提供四组16×16 点的自定义图象空间,使用者可以将内部字
型没有提供的图象字型自行定义到CGRAM 中,便可和CGROM 中的定义一般的通过DDRAM 显示在荧屏中。
● 地址计数器AC
地址计数器是用来贮存DDRAM/CGRAM 之一的地址,它可由设定指令暂存器来改变,之后只要读取或是写入
DDRAM/CGRAM 的值时,地址计数器的值就会自动加一,当RS 为“0”时而R/W 为“1”时,地址计数器的值会被读
取到DB6~DB0 中。
● 游标/闪烁控制电路
此模块提供硬体游标及闪烁控制电路,由地址计数器的值来指定DDRAM 中的游标或闪烁位置。
UnRegistered
第 5 页
四、模块的外部接口
外部接口信号如下表2、3 所示(并行接口):
表 2
五、指令说明
模块控制芯片提供两套控制命令,基本指令和扩充指令如下:
指令表1:(RE=0:基本指令)
指 指 令 码 功 能
令 RS R/W D7 D6 D5 D4 D3 D2 D1 D0
清除
显示
0 0 0 0 0 0 0 0 0 1
将DDRAM填满"20H",并且设定DDRAM的地址计
数器(AC)到"00H"
UnRegistered
第 6 页
地址
归位
0 0 0 0 0 0 0 0 1 X
设定DDRAM 的地址计数器(AC)到"00H",并且
将游标移到开头原点位置;这个指令不改变
DDRAM 的内容
显示状
态开/关
0 0 0 0 0 0 1 D C B
D=1: 整体显示 ON
C=1: 游标ON
B=1:游标位置反白允许
进入点
设定
0 0 0 0 0 0 0 1 I/D S
指定在数据的读取与写入时,设定游标
的移动方向及指定显示的移位
游标或
显示移
位控制
0 0 0 0 0 1 S/C R/L X X
设定游标的移动与显示的移位控制位;
这个指令不改变DDRAM 的内容
功能
设定
0 0 0 0 1 DL X RE X X
DL=0/1:4/8 位数据
RE=1: 扩充指令操作
RE=0: 基本指令操作
设定
CGRAM
地址
0 0 0 1 AC5 AC4 AC3 AC2 AC1 AC0 设定CGRAM 地址
设定
DDRAM
地址
0 0 1 0 AC5 AC4 AC3 AC2 AC1 AC0
设定DDRAM 地址(显示位址)
第一行:80H-87H
第二行:90H-97H
读取忙
标志和
地址
0 1 BF AC6 AC5 AC4 AC3 AC2 AC1 AC0
读取忙标志(BF)可以确认内部动作是
否完成,同时可以读出地址计数器(AC)
的值
写数据
到RAM
1 0 数据 将数据D7~D0 写入到内部的RAM
(DDRAM/CGRAM/IRAM/GRAM)
读出RAM
的值
1 1 数据 从内部RAM 读取数据D7~D0
(DDRAM/CGRAM/IRAM/GRAM)
指令表2:(RE=1:扩充指令)
指 指 令 码 功 能
令 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 SR
SR=1:允许输入垂直卷动地址
SR=0:允许输入IRAM 和CGRAM 地址
反白
选择
0 0 0 0 0 0 0 1 R1 R0
选择2 行中的任一行作反白显示,并可
决定反白与否。初始值R1R0=00,第一
次设定为反白显示,再次设定变回正常
睡眠
模式
0 0 0 0 0 0 1 SL X X
SL=0:进入睡眠模式
SL=1:脱离睡眠模式
扩充
功能
设定
0 0 0 0 1 CL X RE G 0
CL=0/1:4/8 位数据
RE=1: 扩充指令操作
RE=0: 基本指令操作
G=1/0:绘图开关
设定绘
图RAM
地址
0 0 1
0
AC6
0
AC5
0
AC4
AC3
AC3
AC2
AC2
AC1
AC1
AC0
AC0
设定绘图RAM
先设定垂直(列)地址AC6AC5…AC0
再设定水平(行)地址AC3AC2AC1AC0
将以上16 位地址连续写入即可
UnRegistered
第 7 页
备注;当IC1 在接受指令前,微处理器必须先确认其内部处于非忙碌状态,即读取BF 标志时,BF 需为零,方可接受新
的指令;如果在送出一个指令前并不检查BF 标志,那么在前一个指令和这个指令中间必须延长一段较长的时间,即
是等待前一个指令确实执行完成。
六.时序图
并口读写时序图:
MPU 写数据
MPU 读数据
T p w
V ih 1
V i l1
T r T d s w T h
V a l id D a t a
T c
R S
R /W
E
D B 0 ~ D B 7
T a s
T a h
T a h
T c
T d s w T h
D B 0 ~ D B 7 V a l id D a t a
V i l i
V i h i V ih i
V i l i
T p w
T a s
V ih i
R /W
E
T r
R S V i h i
V i l i V i l i
V i h i
V ih i
T a h
T a h
T d d r
UnRegistered
第 8 页
串口读写时序:
七、软件初始化:
RS RW D7 D6 D5 D4 D3 D2 D1 D0
0 0 0 0 1 1 X X X X
…….在此指令前,不能检查BF 标志
0 0 0 0 1 1 X X X X …….在此指令前,不能检查BF 标志
电源开启
延迟时间超过40ms
延迟时间超过100us UnRegistered
第 9 页
0 0 0 0 1 1 X X X X …….在此指令前,不能检查BF 标志
0 0 0 0 1 1 1 1 x x …… 在此指令前,不能检查BF 标志
0 0 0 0 1 1 1 0 0 0 ….. 设为基本指令
0 0 0 0 0 0 0 0 0 1 ….. 荧屏显示清除
0 0 0 0 0 0 0 1 I/D S ….. 进入点设定
八.应用举例:
14432A 与单片机8031 的一种接口如图5.所示
;This program is for 14432A
延迟时间超过37us
初始设定结束
UnRegistered
第 10 页
; RS--------P3.3
; R/W-------P3.1
; E---------P3.0
; DB0~7-----P1
DI EQU P3.3
RW EQU P3.1
E EQU P3.0
ORG 0000H
AJMP START
ORG 0003H
LCALL PAUSE
START:
MOV IE,#81H ;EXT. INT0 PERMIT
MOV IP,#01H ;INT0 IS FIRST INT. LEVEL
MOV TCON,#00H ;TIMER/COUNTER CONTROLER INIT.
mov SP, #67h
LCALL DELAY
LCALL DELAY
LCALL SETUP
LCALL DEF_CHAR
MOV A,#80H
LCALL WRITE_COM
MOV R3,#8
TEST11:
MOV DPTR,#CGRAM1 ;CGRAM TEST
LCALL WRITE_CGRAM
DJNZ R3,TEST11
MOV A,#90H
LCALL WRITE_COM
MOV R3,#8
TEST12:
MOV DPTR,#CGRAM1
LCALL WRITE_CGRAM
DJNZ R3,TEST12
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV A,#80H
LCALL WRITE_COM
MOV R3,#8
TEST21:
MOV DPTR,#CGRAM2
LCALL WRITE_CGRAM
DJNZ R3,TEST21
MOV A,#90H
LCALL WRITE_COM
MOV R3,#8
TEST22:
UnRegistered
第 11 页
MOV DPTR,#CGRAM2
LCALL WRITE_CGRAM
DJNZ R3,TEST22
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV A,#80H
LCALL WRITE_COM
MOV R3,#8
TEST31:
MOV DPTR,#CGRAM3
LCALL WRITE_CGRAM
DJNZ R3,TEST31
MOV A,#90H
LCALL WRITE_COM
MOV R3,#8
TEST32:
MOV DPTR,#CGRAM3
LCALL WRITE_CGRAM
DJNZ R3,TEST32
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV A,#80H
LCALL WRITE_COM
MOV R3,#8
TEST41:
MOV DPTR,#CGRAM4
LCALL WRITE_CGRAM
DJNZ R3,TEST41
MOV A,#90H
LCALL WRITE_COM
MOV R3,#8
TEST42:
MOV DPTR,#CGRAM4
LCALL WRITE_CGRAM
DJNZ R3,TEST42
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV A#80H ;WORD TEST
LCALL WRITE_COM
MOV DPTR,#CHINESE
LCALL WRITE_HZ
MOV A,#90H
UnRegistered
第 12 页
LCALL WRITE_COM
MOV DPTR,#TABLE1
LCALL WRITE_ASCII
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV A#80H
LCALL WRITE_COM
MOV DPTR,#table1
LCALL WRITE_ascii
MOV A,#90H
LCALL WRITE_COM
MOV DPTR,#chinese
LCALL WRITE_hz
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
LCALL DELAY
AAA: LJMP START
SETUP:
LCALL DELAY
LCALL DELAY
LCALL DELAY
MOV A,#01H ;CLEAR DISPLAY
LCALL WRITE_COM
MOV A,#00110000B ;FUNCTION SETTING
LCALL WRITE_COM
MOV A,#00000010B ;DDRAM SET TO '00H'
LCALL WRITE_COM
MOV A,#00000100B ;
LCALL WRITE_COM
MOV A,#00001100B ;DISPLAY ON
LCALL WRITE_COM
MOV A,#00000001B ;CLEARING SCREEN
LCALL WRITE_COM
MOV A,#10000000B ;SET DDRAM ADDRESS
LCALL WRITE_COM
RET
WRITE_COM: ;WRIT///cv
;WRITE COMMANDS TO ST7920
LCALL DELAY1 ;INSTEAD OF CHECKING BF STATE
CLR RS
CLR RS
CLR RW
CLR RW
MOV P1,A
MOV P1,A
UnRegistered
第 13 页
SETB E
SETB E
NOP
NOP
CLR E
CLR E
;LCALL DELAY1
RET
WRITE_DAT: ;WRITE DISPLAY DATAS TO ST79220
LCALL DELAY1
SETB RS
SETB RS
CLR RW
CLR RW
MOV P1,A
MOV P1,A
SETB E
SETB E
NOP
NOP
CLR E
CLR E
RET
DELAY1:
MOV R7,#010H
D11: MOV R6,#010H
DJNZ R6,$
DJNZ R7,D11
RET
DELAY:
MOV R1,#00H
D2: MOV R2,#00H
DJNZ R2,$
DJNZ R1,D2
RET
DEF_CHAR: ;WRITE TO CGRAM
MOV A,#01000000B ;SET CGRAM ADDRESS
LCALL WRITE_COM
MOV R3,#8
DEF1:
MOV A,#000H
LCALL WRITE_DAT
LCALL WRITE_DAT
MOV A,#0FFH
LCALL WRITE_DAT
LCALL WRITE_DAT
DJNZ R3,DEF1
MOV R3,#8
DEF2:
UnRegistered
第 14 页
MOV A,#0AAH
LCALL WRITE_DAT
LCALL WRITE_DAT
MOV A,#0AAH
LCALL WRITE_DAT
LCALL WRITE_DAT
DJNZ R3,DEF2
MOV R3,#8
DEF3:
MOV A,#055H
LCALL WRITE_DAT
LCALL WRITE_DAT
MOV A,#0AAH
LCALL WRITE_DAT
LCALL WRITE_DAT
DJNZ R3,DEF3
mov R3,#8
DEF4:
MOV A,#0FFH
LCALL WRITE_DAT
LCALL WRITE_DAT
LCALL WRITE_DAT
LCALL WRITE_DAT
DJNZ R3,DEF4
RET
WRITE_ASCII:
MOV R4,#16
DDDD: CLR A
MOVC A,@A+DPTR
LCALL WRITE_DAT
INC DPTR
DJNZ R4,DDDD
RET
WRITE_HZ: ;WRITE 8 CHINESE TO LCD
MOV R4,#8
DD: CLR A
MOVC A,@A+DPTR
INC DPTR
LCALL WRITE_DAT
CLR A
MOVC A,@A+DPTR
INC DPTR
LCALL WRITE_DAT
DJNZ R4,DD
RET
WRITE_CGRAM: ;CGRAM TESTING
CLR A
MOVC A,@A+DPTR
LCALL WRITE_DAT
INC DPTR
CLR A
UnRegistered
第 15 页
MOVC A,@A+DPTR
LCALL WRITE_DAT
RET
PAUSE: SETB P3.2 ;PAUSE KEY PROCESS
SETB P3.2
LCALL DELAY1
MOV C,P3.2
MOV C,P3.2
JNC PAUSE ;CHECK KEY WAS PRESSED
PAUSE1: MOV C,P3.2
MOV C,P3.2
LCALL DELAY1
JC PAUSE1 ;CHECK KEY OPEN AFTER PRESSED
PAUSE2: SETB P3.2
SETB P3.2
LCALL DELAY1
MOV C,P3.2
MOV C,P3.2
JNC PAUSE2 ;CHECK KEY WAS PRESSED AGAIN
RETI
TABLE1:
;“这里是16*8 点阵的字符代码”
CGRAM1: DB 000H,000H ;这里是自造字符地址表
CGRAM2: DB 000H,002H
CGRAM3: DB 000H,004H
CGRAM4: DB 000H,006H
CHINESE:
;“这里是16*16 点阵的汉字代码表”
END
以下为串口写指令和数据的子程序:
WRITE_COM:
LCALL DELAY1 ;INSTEAD OF CHECKING BF STATE
SETB CS
PUSH ACC
MOV R0,#8
MOV A,#11111000B
COMM1:
CLR C
RLC A
MOV SID,C
CLR CLK
SETB CLK
DJNZ R0,COMM1
POP ACC
MOV R5,A
ANL A,#0F0H
MOV R0,#8
COMM2: CLR C
RLC A
MOV SID,C
UnRegistered
第 16 页
CLR CLK
SETB CLK
DJNZ R0,COMM2
MOV A,R5
SWAP A
ANL A,#0F0H
MOV R0,#8
COMM3: CLR C
RLC A
MOV SID,C
CLR CLK
SETB CLK
DJNZ R0,COMM3
CLR CS
RET
WRITE_DAT:
LCALL DELAY1
SETB CS
PUSH ACC
MOV R0,#8
MOV A,#11111010B
DATA1: CLR C
RLC A
MOV SID,C
CLR CLK
SETB CLK
DJNZ R0,DATA1
POP ACC
MOV R5,A
ANL A,#0F0H
MOV R0,#8
DATA2: CLR C
RLC A
MOV SID,C
CLR CLK
SETB CLK
DJNZ R0,DATA2
MOV A,R5
SWAP A
ANL A,#0F0H
MOV R0,#8
DATA3: CLR C
RLC A
MOV SID,C
CLR CLK
SETB CLK
DJNZ R0,DATA3
CLR CS
RET
UnRegistered