图形点阵液晶显示模块使用手册 TG12864C(L) 广州捷胜吉电子科技 地址 : 广州市天河区天河路 561# 新赛格电子城 B2226 电话 :(020)33550997 13829772038 网址 :WWW.GZJSJDZ.COM E-mail:CJKD@21CN.COM
目 录 ( 一 ) 概述 (1) ( 二 ) 外形尺寸图 (1) ( 三 ) 模块主要硬件构成说明 (2) ( 四 ) 模块的外部接口 (3) ( 五 ) 指令说明 (3) ( 六 ) 读写操作时序 (5) ( 七 ) 应用举例 (6)
一. 概述 TG12864C(L) 是一种图形点阵液晶显示器, 它主要由行驱动器 / 列驱动器及格 128 64 全点阵液晶显示器组成 可完成图形显示, 也可以显示 8 4 个 (16 16 点阵 ) 汉字 主要技术参数和性能 : 模块内自带 -10 负压, 用于 LCD 的驱动电压 1. 电源 : VDD: +5V; 2. 显示内容 : 128( 列 ) 64( 行 ) 点 3. 全屏幕点阵 4. 七种指令 5. 与 CPU 接口采用 8 位数据总线并行输入输出和 8 条控制线 6. 占空比 1/64 7. 工作温度 : -10 +55, 存储温度 : -20 +70 二. 外形尺寸图 2. 外形尺寸
三. 模块主要硬件构成说明 ( 结构框图 ) IC3 为行驱动器 IC1, IC2 为列驱动器 IC1, IC2, IC3 含有以下主要功能器件 了解如下器件有利于对 LCD 模块之编程 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 时, 模块为准备状态, 随时可接受外部指令和数据 利用 STATUS READ 指令, 可以将 BF 读到 DB7 总线, 从检验模块之工作状态 4. 显示控制触发器 DFF 此触发器是用于模块屏幕显示开和关的控制 DFF=1 为开显示 ( DISPLAY OFF), DDRAM 的内容就显示在屏幕上, DFF=0 为关显示 ( DISPLAY OFF) DDF 的状态是指令 DISPLAY ON/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 地址表 ( 见第 6 页 ) 7. Z 地址计数器 Z 地址计数器是一个 6 位计数器, 此计数器具备循环记数功能, 它是用于显示行扫描同步 当一行扫描完成, 此地址计数器自动加 1, 指向下一行扫描数据, RST 复位后 Z 地址计数器为 0 Z 地址计数器可以用指令 DISPLAY START LINE 预置 因此, 显示屏幕的起始行就由此指令控制, 即 DDRAM 的数据从哪一行开始显示在屏幕的第一行 此模块的 DDRAM 共 64 行, 屏幕可以循环滚动显示 64 行 四. 模块的外部接口 五. 指令说明
1. 显示开关控制 (DISPLAY ON/OFF) 代码 R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 形式 0 0 0 0 1 1 1 1 1 D D=1: 开显示 (DISPLAY ON) 意即显示器可以进行各种显示操作 D=0: 关显示 (DISPLAY OFF) 意即不能对显示器可以进行各种显示操作 2. 设置显示起始行代码 R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 形式 0 0 1 1 A5 A4 A3 A2 A1 A0 前面在 Z 地址计数器一节已经描述了显示起始行是由 Z 地址计数器控制的 A5 A0 的 6 位地址自动送入 Z 地址计数器, 起始行的地址可以是 0 63 的任意一行 例如 : 选择 A5 A0 是 62, 则起始行与 DDRAM 行的对应关系如下 : DDRAM 行 : 62 63 0 1 2 3 28 29
屏幕显示行 : 1 2 3 4 5 6 31 32 3. 设置页地址代码 R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 形式 0 0 1 0 1 1 1 A2 A1 A0 所谓页地址就是 DDRAM 的行地址,8 行为一页, 模块共 64 行即 8 页, A2 A0 表示 0 7 页 读写数据对地址没有影响, 页地址由本指令或 RST 信号改变复位后页地址为 0 页地址与 DDRAM 的对应关系见 DDRAM 地址表 4. 设置 Y 地址 (SET Y ADDRESS) 代码 R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 形式 0 0 0 1 A5 A4 A3 A2 A1 A0 此指令的作用是将 A5 A0 送入 Y 地址计数器, 作为 DDRAM 的 Y 地址指针 在对 DDRAM 进行读写操作后, Y 地址指针自动加 1, 指向下一个 DDRAM 单元 DDRAM 地址表 : 5. 读状态 (STATUS READ) 代码 R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 形式 0 1 BUSY 0 ON/OFF RET 0 0 0 0 当 R/W=1 D/I=0 时, 在 E 信号为 H 的作用下, 状态分别输出到数据总线 ( DB7 DB0) 的相应位 BF: 前面已叙述过 ( 见 BF 标志位一节 ) ON/OFF: 表示 DFF 触发器的状态 ( 见 DFF 触发器一节 ) RST: RST=1 表示内部正在初始化, 此时组件不接受任何指令和数据 6. 写显示数据 (WRITE DISPLAY DATE) 代码 R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 形式 0 1 D7 D6 D5 D4 D3 D2 D1 D0 D7 D0 为显示数据, 此指令把 D7 D0 写入相应的 DDRAM 单元,Y 地指针自动加 1 7. 读显示数据 (READ DISPLAY DATE) 代码 R/W D/I DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 形式 1 1 D7 D6 D5 D4 D3 D2 D1 D0
此指令把 DDRAM 的内容 D7 D0 读到数据总线 DB7 DB0, Y 地址指针自动加 1 六. 读写操作时序 1. 写操作时序 2. 读操作时序 3. 读写时序参数表
七. 应用举例 TG12864C(L) 与单片机 8031 的一种接口如图 5. 所示 : 图 5 利用图 5 举例介绍编程实例 ORG 0000H LJMP INITM ORG 0100H INITM: MOV SP, #67H MOV DPTR, #0800H MOV A, #3EH MOV A, #3FH ; SET STACK ADDRESS ; SELECT CHIP1 AND CHIP2 ; OFF DISPLAY ; ON DISPLAY
; 显示 * 号 MOV R3, #04H MOV A, #0B8H DISP1: PUSH ACC LCALL CHIN1 DJNZ R3, DISP1 ; PAGE NUMBER( 2*4=8PAGES) ; PAGE0 ; 显示竖条 MOV R3, #04H MOV A, #0B8H DISP2: PUSH ACC LCALL CHIN2 DJNZ R3, DISP2 ; 显示横条 MOV R3, #04H MOV A, #0B8H DISP3: PUSH ACC LCALL CHIN3 DJNZ R3, DISP3
; 显示汉字 MOV R3, #04H MOV A, #0B8H DISP4: PUSH ACC LCALL CHIN4 DJNZ R3, DISP4 LJMP INITM CHIN1: PUSH ACC LCALL OUT1 MOV A, #40H MOV R2, #32 LOAD1: MOV A, #55H MOV A, #0AAH DJNZ R2, LOAD1 MOV A, #40H MOV R2, #32 LOAD12: MOV A, #55H MOV A, #0AAH DJNZ R2, LOAD12 RET CHIN2: PUSH ACC LCALL OUT1 MOV A, #40H ; PUT A ( PAGE NUMBER) INTO STACK ; SET Y ADDRESS ; PUT A ( PAGE NUMBER) INTO STACK ; SET Y ADDRESS
MOV R2, #32 LOAD2: MOV A, #00H MOV A, #0FFH DJNZ R2, LOAD2 MOV A, #40H MOV R2, #32 LOAD21: MOV A, #00H MOV A, #0FFH DJNZ R2, LOAD21 RET CHIN3: PUSH ACC LCALL OUT1 MOV A, #40H MOV R2, #64 LOAD3: MOV A, #55H DJNZ R2, LOAD3 MOV A, #40H MOV R2, #64 LOAD31: MOV A, #55H DJNZ R2, LOAD31 RET ; PUT A ( PAGE NUMBER) INTO STACK ; SET Y ADDRESS CHIN4: PUSH ACC LCALL OUT1 MOV A, #40H MOV R2, #64 MOV R1, #00H
MOV DPTR, #CHINESE LOAD4: MOV A, R1 MOVC A, @A+DPTR INC DPTR DJNZ R2, LOAD4 MOV R2, #64 LOAD41: MOV A, R1 MOVC A, @A+DPTR INC DPTR DJNE R2, LOAD41 RET MS40: MOV R7, #0E8H MS2: MOV R6, #0FFH MS1: DJNZ R6, MS1 DJNZ R7, MS2 RET ; OUT INSTRCTION FOR CHIP1 AND CHIP2 OTUI: PUSH DPH PUSH DPL MOV DPTR, #0800H MOVX @A+DPTR, A POP DPL POP DPH RET OUTD: PUSH DPH PUSH DPL MOV DPTR, #4800 MOVX @DPTR, A POP DPL POP DPH RET CHINNESE:;( PAGE0) DB 10H, 60H, 01H, 86H, 60H, 04H, 1cH, e4h, 04H, 04H, 04H, E4H, 1cH, 04H, 00H, 00 DB 00H, 00H, 80H, 9fH, 95H, d5h, 55H, 55H, 55H, 15H, d5h, 15H, 1fH, 00H, 00H, 00 DB 10H, 61H, 06H, E0H, 18H, 84H, E4H, 1CH, 84H, 65H, BEH, 24H, 0A4H, 64 H,04H, 00, DB 00H, 00H, 00H, 00H, 7EH, 2AH, 2AH, 2AH, 2AH, 2AH, 2AH, 7EH, 00H,
00H, 00H, 00 ; ( PAGE1) DB 04, 04H, 7eH, 01H, 40H, 20H, 20H, 10H, 0bH, 04H, 0bH, 10H, 30H, 60H, 20H, 00 DB 02, 02H, 42H, 22H, 1aH, 07H, 02H, 02H, 02H, 02H, 0ffH, 02H, 02H, 02H,02H, 00H DB 04H, 04H, 0FFH, 00H, 00H, 00H, FFH, 41H, 21H, 12H, 0CH, 1BH, 61H, 0C0H, 40H, 00 DB 00H, 7FH, 25H, 25H, 25H, 25H, 7FH, 00H, 00H, 7FH, 25H, 25H, 25H 25H, 7FH, 00H