EDM12864A 图形点阵式液晶显示器模块原理与应用手册 大连东福彩色液晶显示器有限公司
一 概述 EDM12864A 液晶显示器模块是全屏幕图形点阵式液晶显示器组件, 由控制器 驱动器和全点阵液晶显示器组成 可完成图形显示, 也可以显示汉字 (4 8 个 16 16 点阵汉字 ); 与 CPU 接口是 8 位数据线和几条地址线, 而不用另外加控制器 ( 如 HD61830 等 ), 另外 3 条电源线供芯片和 LCD 驱动 接口信号表 : PIN 1 2 3 4 5 6 7 8 9~16 SYM Vee Vcc GND E D/I R/W RST CS DB7~DB0 机械参数外形尺寸 (W H T) 110.2 84.8 10.0 MM 视域尺寸 (W H) 92.8 48.8 MM 点尺寸 (W H) 0.635 0.635 MM 点间距 (W H) 0.05 0.05 MM 绝对最大范围名称 符号 条件 最小值 最大值 单位 电源电压 VDD Ta=25 0 6.7 V 输入电压 VIN Ta=25 0 VDD V 工作温度 Topr 常温 0 50 宽温 -20 65 存储温度 Tstg 常温 -20 55 宽温 -30 75 电气参数 2
( 如非特殊说明, 测试条件为 :VSS=0V,VDD=5V±10%,Ta=25 ) 名称 符号 条件 MIN TYP MAX 单位 电源电压 Logic VDD-VSS 4.75 5.0 5.25 LCD VDD-VEE 15.0 V 工作电流 Logic IDD 5.1 9.8 ma 操作电压 LCD VDD-VEE 25 13.5 V 输入电压 H Level VIH High Level 0.8VDD VDD L Level VIL Low Level 0 0.2VDD V 二 组件的主要组成说明 1 指令寄存器 (IR) IR 用来寄存指令码, 当 D/I=0 时, 在 E 信号下降沿的作用下, 指令写入 IR 2 数据寄存器 (DR) DR 是用来寄存数据的 当 DR=1 时, 在 E 信号的作用下, 图形显示数据写入不 DR, 或由 DR 读到 DB7~DB0 数据总线 DR 和 DD RAM 之间的数据传输是组件内部自动执行的 3 忙标志 (BF) BF 标志组件内部的工作情况 BF=1 表示组件在进行内部操作, 此时组件不接受外部指令和数据 BF=0 时, 组件为准备状态, 随时可接受外部指令和数据 4 显示控制触发器 (DFF) 此触发器是用于控制组件屏幕显示的开和关 DFF=1 为开显示,DD RAM 的内容就显示在屏幕上,DFF=0 为关显示 5 XY 地址计数器 XY 地址计数器是一个 9 位计数器 高三位是 X 地址计数器, 低 6 位为 Y 地址计数器 XY 地址计数器实际上是作为 DD RAM 的地址指针,X 地址计数器为 DD RAM 的页指针,Y 地址计数器为 DD RAM 的 Y 地址指针 6 显示数据 RAM(DD RAM) DD RAM 是存储图形显示数据的 数据为 1 表示显示选择, 数据为 0 表示显示非选择 DD RAM 与地址和显示位置的关系见 DD RAM 地址表 7 Z 地址计数器 Z 地址计数器是一个 6 位计数器 此计数器具备循环计数功能, 它是用于显示行扫描同步的 当一行扫描完成, 此地址计数器自动加 1, 指向下一行扫描数据 RST 复位后 Z 地址计数器为 0 Z 地址计数器可以用指令 DISPLAY START LINE 预置 因此, 显示屏幕的起始行就由此指令控制 即 DD RAM 的数据从哪一行开始显示在屏幕的第一行 此组件的 DD RAM 共 64 行, 屏幕可以循环显示 64 行 三 组件的外部接口 1 接口信号表 管脚号 管脚名称 电平 功能描述 1 Vee -- 液晶显示器驱动电压 :0 ~ 12V 3
2 Vdd -- 电源电压 : +5V 3 Vss -- 电源地 : 0V 4 E H.H L 使能信号 : R/W= L E 信号下降沿锁存 DB7~ DB0 R/W= H E= H DD RAM 数据读到 DB7~DB0 5 D/I H/L D/I= H 时表示 DB7~DB0 为显示数据 D/I= L 时表示 DB7~DB0 为指令数据 6 R/W H/L R/W= H,E= H 数据读到 DB7~DB0 R/W= L,E= H->L 数据写到 DB7~DB0 7 RST H/L 低电平时复位 8 CS H/L 高电平有效,,CS=0 选择左半屏,CS=1 则选右半屏 9~16 DB7~DB0 数据总线 2 时序 1) 写操作时序 2) 读操作时序 3) 接口时序参数 名 称 符号 最小值 典型值 最大值 单位 E 周期时间 Tcyc 1000 - - ns 4
E 高电平宽度 Pweh 450 - - ns E 低电平宽度 Pwel 450 - - ns E 上升时间 Tr - - 25 ns E 下降时间 Tf - - 25 ns 地址建立时间 Tas 140 - - ns 地址保持时间 Tah 10 - - ns 数据建立时间 Tdsw 200 - - ns 数据延迟时间 Tddr - - 320 ns 写数据保持时间 Tdhw 10 - - ns 读数据保持时间 Tdhr 20 - - ns 四 指令说明 1 显示开关控制(DISPLAY ON/OFF) 0 0 0 0 1 1 1 1 1 D D=1: 开显示 (DISPLAY ON) D=0: 关显示 (DISPLAY OFF) 此时的 DD RAM 内容不变 只要 D=0 变成 D=1 原来的显示就会显示在屏幕上 2 设置显示起始行 0 0 1 1 A5 A4 A3 A2 A1 A0 前面在 Z 地址计数器一节已经描述了显示起始行是由 Z 地址计数器控制的 A5~A0 6 位地址自动送入 Z 地址计数器, 起始行的地址可以是 0~63 的任意一行 举例 : 选择 A5~A0 是 62, 则起始行与 DD RAM 行的对应关系如下 : DD RAM 行 : 62 63 0 1 2 3 60 61 屏幕显示行 : 1 2 3 4 5 6 63 64 3 设置页地址(SET PAGE X ADDRESS ) 0 0 1 0 1 1 1 A2 A1 A0 所谓页地址就是 DD RAM 的行地址 8 行为一页, 组件共 64 行即 8 页 A2~A0 表示 0~7 页 读写数据对页地址没有影响 页地址由本指令或 RST 信号改变 复位后页地 址为 0 页地址与 DDRAM 的对应关系见地址表 4 设置 Y 地址 (SET Y ADDRESS) 0 0 0 1 A5 A4 A3 A2 A1 A0 此指令的作用是将 A5~A0 送入 Y 地址计数器 作为 DDRAM 的 Y 地址指针 在对 DDRAM 进行读写操作后,Y 地址指针自动加 1, 指向下一个 DDRAM 单元 表 4-4 DDRAM 地址表 CS=0 CS=1 Y= 0 1 2 3.. 062 63 0 1 2 3.. 62 63 行号 DB0 DB0 DB0 DB0 0 X=0 DB7 DB7 DB7 DB7 7 5
DB0 DB0 DB0 DB0 8 DB7 DB7 DB7 DB7 55 DB0 DB0 DB0 DB0 56 X=7 DB7 DB7 DB7 DB7 63 5 读状态 (STATUS READ) 1 0 BF 0 ON/OFF RST 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 DATA) 0 1 D7 D6 D5 D4 D3 D2 D1 D0 D7-D0 为显示数据 此指令把 D7-D0 写入相应的 DD RAM 单元 Y 地址指 针自动加 1 7 读显示数据(READ DISPLAY DATA) 1 1 D7 D6 D5 D4 D3 D2 D1 D0 此指令把 DD RAM 的内容 D7-D0 读到数据总线 DB7-DB0 Y 地址指针自动 加 1 五 与 8031 单片机接口的应用举例, 接口硬件电路如下图 ADDR RD E WR P1.3 RST P1.2 CS P1.1 R/W P1.0 D/I P0.7 DB7 +5V P0.6 DB6 P0.5 DB5 VDD P0.4 DB4 P0.3 DB3 VEE P0.2 DB2 P0.1 DB1 VSS P0.0 DB0-12V R0 为间址寄存器, ID 为指令码,DATA 为显示数据 1 显示开 / 关控制 (DISPLAY ON/OFF) CLR P1 SETB P1.3 MOV A,ID ; 左 64 列 6
SETB P1.2 MOVX @ R0,A ; 右 64 列 2 读状态 CLR P1 SETB P1.3 SETBP1.1 MOVX A,@R0 ; 状态读到 A 3 写显示 RAM 数据 (WRITE DISPLAY DATA) 假如 X 地址, Y 地址已设置完成 CLR P1 SETB P1.3 SETB P1.0 MOV A, # DATA ; 数据写入相应 DD RAM 单元 下面给出一个隔行显示的例子 RST EQU P1.3 D/I EQU P1.0 R/W EQU P1.1 CS EQU P1.2 ORG 0000H START: MOV A,#00H CLR CS NOP NOP SETB RST SETB CS NOP SETB RST LOOP3: MOV R1,#55H ;DATA ;DATA WR0: CLR CS LCALL LOOP1 SETB CS Lcall loop1 LCALL DELAY3 MOV R1,#0AAH CLR CS Lcall loop1 SETB CS LCALL LOOP1 Lcall delay3 LJMP LOOP3 LCALL BF CLR R/W BF: SETB D/I MOV A,R1 MOV R1,A DJNZ R7,WR0 MOV R7,#40H RET SETB R/W CLR D/I MOVX A,@R0 JB ACC.7,BF JB ACC.4,BF RET DELAY3:MOV R5,#08H MOV R4,#0FFH MOV R6,#0FFH LOOP: DJNZ R6,LOOP DJNZ R4,LOOP DJNZ R5,LOOP RET loop1: LCALL BF CLR R./W CLR D/I MOV A,#03FH ;SET DISPLAY ON MOV R7,#40H mov r3,#0b8h LCALL BF CLR R.W 7
CLR D/I MOV A,#40h ;y=0 loop2: LCALL BF CLR R/W CLR D/I MOV A,R3 ;x=0 LCALL WR0 inc r3 CJNE R3,#0BFH,loop2 mov r3,#0b8h RET EDM12864 在使用过程中应注意以下几个问题一 模块的工作电压是 VDD 提供的,LCD 驱动电压是 VDD 提供的, 改变 VEE 可以调整对比度 ( 范围 :0~-9V) 二 在编程时建议在每次读写指令前先访问忙信号 BUSY, 以节省时间 三 在显示汉字时可以调用汉字系统下的汉字库, 但要注意汉字库中字节排列顺序与 EDM12832 的字节排列顺序不同 8