当前位置:首页 >> 信息与通信 >>

液晶显示技术内置SED1335系列显示控制器的320240液晶显示模块的应用


内置 SED1335 系列显示控制器的 320240 液晶显示模块的应用
一、SED1335 液晶显示驱动控制器 SEDl335 这一系列液晶显示驱动控制器是由 EPSON 公司设计、生产的。SEDl330、 SEDl335 和 SEDl336、还有 E1330 都是同类控制器中功能最强者。其软件特性以及主要电路 特性都是相同的,是相互兼容的。其特点如表 1 所示。 表

1 SED1335 系列的具体型号
型 SED1330 SED1335 SED1336 E1330 号 基本型 SED1330 的宽工作电压型(2.7V~5.5V) 同 SED1335,增加视频输出信号(3.0V~5.5V) 同 SEDl330,增加级联同步信号,可以使两片 E1330 同时工作 特 点

本节将以 SEDl335 为主,详细叙述 SEDl335 的电路原理、软件特性及其应用技术。 SED1335 的原理框图和引脚图分别如图 1 和图 2 所示、图 3 所示。

图 1 SEDl335 等的电路原理图

图 2 SED1335 引脚图(QFP5 封装形式)

图 3 SED1335 引脚图(QFP6 封装形式) 二、内置 SED1335 图形液晶显示模块的电路特性 通常内置 SED1335 液晶显示驱动控制器的图形液晶显示模块是比较大型、 比较复杂的。 下面将按照控制器结构的“三部一集”来分析 SEDl335 的工作原理。

1 接口部 SEDl335 等的接口部由接口控制电路、数据输入缓冲器、数据输出锁存器、指令寄存器 及译码器、忙状态触发器以及时序控制电路等组成。 (1)与计算机的连接 在接口部 SEDl335 等采用了通道处理方式传输显示数据。计算机在 SEDl335 等接口部 将其访问与 SEDl335 等内部时序同步。 ●写显示数据时, 计算机可以反复以系统总线时序向 SEDl335 等写入显示数据, SEDl335 等以内部略延时于系统总线时序的时序将数据送入显示存储器内。 ●读显示数据时,SEDl335 等在接受到计算机发来的读显示数据的指令代码后,即将当 前光标指针所指的显示存储器单元的内容提前送入接口部的数据输出锁存器内等待计算机 的读取。计算机每次都以系统总线时序读取显示数据,即读的都是数据输出锁存器的内容, 而 SEDl335 等在计算机的每次读操作后都将修正光标指针并将修改后光标指针所指单元的 内容提前送入数据输出锁存器内。 因此计算机读显示数据的操作看似同步进行。 由此可见, 在计算机循环读显示数据操作 时,其循环时间要大于 SEDl335 等从显示存储器内读取数据送入数据输出锁存器的时间, 只有这样才能进行正确的读操作。 否则应在循环中加入空操作指令“NOP”以作为延时来等待 SEDl335 等的读操作的完成。 从上述内容可以看出:在与计算机连接方面,SEDl335 等的接口部具有高性能的接口电 路。主要体现在:计算机可以随时访问 SEDl335 等而不需要判别其当前工作状态;SEDl335 等即时地把计算机送来的指令代码和参数或显示数据就位, 或把显示数据即时地送上计算机 总线供计算机读取。SEDl335 等接口电路在内部时钟周期 Tcyc 内,以全速接应计算机的访 问。 这样做虽然满足了计算机的实时控制, 但是当计算机访问显示存储器的时候要中断读取 显示数据的操作,因而不可避免地将在显示屏上出现“雪花”现象。如果仅是几次操作,这种 中断在瞬间出现,由于人眼在视觉上的惰性而看不出“雪花”现象,但是当大量的数据被传送 时, “雪花”对显示的影响将不可忽略。 为了避免“雪花”的影响,使计算机的操作对显示的影响最小,SEDl335 等在接口部提 供一个状态信号——“忙”标志 BF。 BF=0 表示显示扫描时序处于当前行的显示数据传完到下一行显示数据传送开始的这一 段时间。在这段时间内 SEDl335 等将不读取显示数据,此时 SEDl335 等接应计算机对显示

存储器的访问将不会影响显示效果。 BF=1 则表示显示扫描时序处于一行显示数据的传输时间内,此时 SEDl335 等接应计算 机对显示存储器的访问将会影响显示效果, 只是根据计算机访问频率的快慢而决定影响显示 的强弱而已。 BF 标志将在数据总线的 D6 位上读出。 SEDl335 等与计算机的接口电路特性如表 2 所示。 表 2 SEDl335 等与计算机的接口电路特性
VDD=4.5~5.5V 项 目 符号 最小值 电源电压 输入高电平 输入低电平 输出高电平 输出低电平 输入漏电流 输出漏电流 振荡器频率 工作态电流 休闲态电流 功耗 工作温度 存储温度 VDD V1h V1i Voh Vol I1i Ilo Fosc Iopr Iq Pd Topr Tstg -20 -65 1.0 11 0.05 0.05 0.10 4.5 0.5VDD Vss 2.4 VSS+0.4 2.0 5.0 10.0 15 20.0 300 +75 +150 -20 -65 1.0 3.5 0.05 0.05 0.10 典型值 5.0 最小值 5.5 VDD 0.2VDD 最小值 3.0 0.5VDD Vss 2.4 VSS+0.4 2.0 5.0 10.0 7.0 20.0 300 +75 +150 典型值 3.5 最小值 4.5 VDD 0.2VDD V V V V’ V “A I上A Hz mA “A mW ℃ ℃ VDD=3.0~4.5V 单位

(2)适配时序 在 SED1335 的接口部的接口控制电路内有两套时序电路,由时序适配电路设置以适配 不同计算机操乍时序的要求。时序适配电路的设置端为 SELl 和 SEL2。SELl 和 SEL2 的时 序设置如表 3 所示。 表 3 SELl 和 SEL2 的时序设置表
SELl 0 SEL2 0 适配时序 Inte|8080 系列时序 操作信号 /RD、/WR

1 X

0 1

M6800 系列时序 禁止运行

E、R/W

●在 Intel8080 时序下,SEDl335 等与计算机的接口控制信号为: /CS A0 /RD /WR 输入 输入 输入 输入 SEDl335 等片选端,低电平有效 SEDl335 等寄存器选择端 SEDl335 等读操作信号端,低电平有效 SEDl335 等写操作信号端,低电平有效 SEDl335 等数据总线

D7~D0 三态

在 Intel8080 时序下的接口信号的组合功能如表 4 所示、操作时序图如图 4 所示,时序 表如表 5 所示。 表 4 Intel8080 时序下的接口信号
/CS 1 0 0 0 0 A0 X 0 0 1 1 /RD X 0 1 0 1 /WR X 1 0 1 0 禁止操作 读状态标志位 写指令参数和显示数据 读显示数据和光标指针 写指令代码 功 能

图 4 SEDl335 等遣配 Intel8080 系列计算机的时序图 表 5 Intel8080 时序表

SED(E)1330/1335、1336 项 目 符号 VDD=4.5~5.5V 最小值 系统周期时间 地址建立时间 地址保持时间 读写脉冲宽度 数据建立时间 数据保持时间 RD 建立时间 输出保持时间 Tcyc8 Taw8 T8h8 Tcc Tds8 Tdh8 Tacc8 Toh8 10 注* 30/0 10 220/120 120 10/5 120/50 50 10 最大值

SEDl 335/1 336 VDD=2.7/3.0~4.5V 最小值 注* 0 10 150/140 120 5 80/70 50 最大值 ns ns ns ns ns ns ns ns 单位

注*: 对于存储器控制和系统控制指令(单位:ns) Tcyc8=2Tc+Tcc+Tcea+75>Tacv+245 对于其他所有指令(单位:ns) Tcyc8=4Tc+Tcc+30 其中 Tc 时钟周期时间 Tc=100(VDD=5.0V)/Tc=125(VDD-3.5V)

Tcea 显示 RAM 选通信号/VCE 访问时间 Tcea=2Tc=80 Tacv 显示 RAM 地址访问时间 Tacv=3Tc-100/Tacv=3Tc-110 ●在 M6800 时序下,SEDl335 等与计算机的接口控制信号为: /CS A0 E R/W 输入 输入 输入 输入 SEDl335 等片选端,低电平有效 SEDl335 等寄存器选择端 SEDl335 等操作使能信号端,高电平为读操作,下降沿为写操作 SEDl335 等读写选择信号端,R/W=0 为写操作,R/W =l 为读操作 SEDl335 等数据总线

D7~D0 三态

在 M6800 时序下的接口信号的组合功能如表 6 所示、操作时序图如图 5 所示,时序表 如表 7 所示。 表 6 M6800 时序下的接口信号
CS A0 R/W E 功 能

1 0

X 0

X 1

X

禁止操作 读状态标志位

0

0

0

写指令参数和显示数据

0

1

l

读显示数据和光标指针

0

1

0

写指令代码

图 5 SEDl335 等适配 M6800 系列计算机的时序图 表 7 M6800 时序表
SED(E)1330/1335、1336 项 目 符号 VDD=4.5~5.5V 最小值 系统周期时间 地址建立时间 地址保持时间 数据建立时间 数据保持时间 数据建立时间 输出保持时间 Tcyc6 Taw6 Tah6 Tds6 Tdh6 Tacc6 Toh6 10 注* 30/0 10/0 120/100 10/0 120/85 50 10 最大值 SEDl 335/1 336 VDD=2.7/3.0~4.5V 最小值 注* 0 10 120 0 130/120 75/70 最大值 ns ns ns ns ns ns ns 单位

使能脉冲宽度

Tew

220/120

150/140

ns

注*: 对于存储器控制和系统控制指令(单位:ns) Tcyc6=2Tc+Tew+Tcea+75>Tacv+245 对于其他所有指令(单位:ns) Tcyc6=4Tc+Tew+30 其中 Tc 时钟周期时间 Tc=100(VDD=5.0V)/Tc=125(VDD-3.5V)

Tcea 显示 RAM 选通信号/VCE 访问时间 Tcea=2Tc=80 Tacv 显示 RAM 地址访问时间 Tacv=3Tc-100/Tacv=3Tc-110 (3)复位电路 接口部还配置了复位电路。其控制端/RES 为施密特触发器输入,复位信号为低电平有 效,复位信号低电平宽度要大于 200μs。复位电路将 SEDl335 等内部电路复位,重新启动工 作需要写入指令 SYSTEM SET 指令代码及其 P1 参数。 2 驱动部 SEDl335 等驱动部具有显示区合成显示能力, 传输数据的组织能力及产生液晶显示驱动 系统所需的控制时序脉冲信号。SEDl335 等驱动部的功能输出端如表 8 所示。 表 8 SEDl335 等驱动部的功能输出端
输出端 YD 功能 帧扫描信号,在一帧的最后一行的周期内输出高电平 显示数据锁存脉冲信号, 在完成每显示行的数据传输后输出正脉冲, 将该行数据从列驱动器 LP 内的移位寄存器中锁存到锁存器内。它也是帧信号的位移脉冲信号 XSCL WF XD3 XD2 4 位显示数据并行输出端,XD3 为最高位,XD0 为最低位 XD1 XD0 液晶显示驱动电源关控制信号,低电平有效,在显示驱动时输出为高电平。在计算机写入休 YDIS 闲指令 SLEEP IN 的一、二帧后输出为低电平。用以控制液晶显示驱动系统驱动电源的关闭 显示数据位移脉冲信号,每一个正脉冲都将一组显示数据位移到列驱动器内 显示交流驱动波形信号,该信号为 B 型驱动波形,即一帧改变一次波形的极性

XECL YSCL

显示数据传输的使能信号,下降沿有效 行数据位移脉冲信号

SEDl335 等驱动部的数据传输方式是以 4 位并行方式传输的。 驱动部将一字节显示数据 分高 4 位和低 4 位两次并行传输。 这就要求液晶显示驱动系统的列驱动器的数据接口形式也 为 4 位结构。 驱动部的显示数据传输是以数据块形式传输的。 SEDl335 等在驱动部将显示数据以 8 个 字节(4× 16=64 位)为一数据块进行传输。当显示一行的显示数据量为 64 位的整倍数时, 驱动部正好满数据块组织传输;当显示一行的显示数据量不为 64 位的整倍数时,驱动部就 要在一行的最后一个数据块中将不足的位填充为“0”以组成一个完整的数据块进行传输。 SEDl335 等不仅能够控制单屏结构的液晶显示驱动系统, 而且也能控制双屏结构的液晶 显示驱动系统。 从驱动部数据输出端来看, 数据传输方式是不分上下屏结构的。 所以 SEDl335 等控制双屏结构液晶显示驱动系统有其独特的一面, 即串行传输方式。 这要求相应的驱动系 统的上半屏列驱动器与下半屏的列驱动器串接起来, SEDl335 等在控制双屏结构液晶显示驱 动系统时先传输上半屏的显示数据, 然后再传输下半屏的显示数据。 根据驱动部数据块传输 的特点,双屏结构液晶显示屏的点列数应是 64 的整倍数,否则在上半屏列驱动器的最后要 留出相应的列驱动输出空闲, 以放置最后的数据块中的填充数据。 这种双屏结构数据的串行 传输方式实际上相当于控制了一个二倍屏,所以 SEDl335 等控制双屏的能力比较差。 SEDl335 等驱动部控制液晶显示驱动系统时还提供了一个控制信号是 YDIS——液晶显 示驱动电源关控制信号。它在 SEDl335 等进入休闲工作模式后为低电平状态,以指示液晶 显示驱动系统关闭驱动电源,使行列驱动器输出电压趋于 0V。这个信号的应用将保证液晶 显示驱动系统在 SEDl335 等的休闲模式下没有高直流电压加在液晶显示器件上。 3 控制部 SED1335 等的控制部由振荡器电路、控制寄存器组、控制逻辑电路以及显示存储器和 字符发生器的管理电路等组成。控制部能分区管理 64K 的显示存储器,可以同时管理三个 或四个显示区,并同时能管理自定义字符发生器。 (1)振荡器电路 振荡器电路产生 SEDl335 等的工作时钟, 从而形成 SEDl335 等内部总线时钟脉冲序列。 振荡器电路有两个外接晶体振荡器端,它们是: XD 振荡器输入端 接晶体振荡器或外部时钟发生器

XG

振荡器输出端

接晶体振荡器或在使用外部时钟发生器时浮空

SEDl335 等可以工作在较高的时钟频率下, 一般晶振频率可以在 1M~10MHz 范围内选 择。SEDl335 等的逻辑电路在此时钟脉冲的作用下,迅速地接收计算机的访问,即时地处理 显示数据,控制液晶显示驱动系统的工作。 (2)显示区 控制部能够同时管理三个或四个显示区。 每个显示区都拥有自己的显示特性。 这里将这 四个区定义为第一显示区 L1、第二显示区 L2、第三显示区 L3 和第四显示区 L4。 SEDl335 等以第一显示区和第二显示区为主显示区, 第三显示区和第四显示区为辅显示 区。在控制单屏结构液晶显示驱动系统时,SEDl335 等可以分别或同时使用第一、第二和第 三显示区。在控制双屏结构液晶显示驱动系统时,SEDl335 等需要组合使用第一、第二、第 三和第四显示区。 在此种情况下, 第一、 第二显示区仅管理显示屏上半屏的显示数据, 第三、 第四显示区管理显示屏下半屏的显示数据,并规定第一和第三显示区合成为一控制全屏显 示,第二和四显示区合成为一控制全屏显示。 显示区根据其数据的性质可以具有两种特性: ●文本显示特性 拥有该特性的显示区专用于文本方式显示使用。 在该显示区内的单元的数据均被认为是 字符代码。 这个字符代码作为字符发生器地址的一部分实现对字符发生器的寻址, 以取得相 应的字符字模数据,送至液晶显示驱动系统显示。 ●图形显示区 拥有该特性的显示区专用于图形方式显示使用。 在该显示区内的单元的数据被认为是 8 点位的显示数据,直接送人液晶显示驱动系统显示。 (3)参数寄存器组 控制部设计了若干种显示特性的实现电路。 这些显示特性有多个显示区按逻辑关系的合 成显示、闪烁显示、显示点位移特性等。控制部专门为它们配置了参数寄存器。 ●点计数器 点计数器是一组参数寄存器, 包括有显示字符体宽度参数 FX、 显示字符体高度参数 FY、 有效显示窗口长度参数 C/R、驱动时序用的时间常数参数 TC/R 和显示扫描用的帧参数 L/F 等。点计数器的参数组定义了当前 SEDl335 等将要控制的液晶显示驱动系统的规模。 ●显示区管理寄存器 管理显示区有如下几个参数寄存器。

显示起始地址寄存器 SAD:该地址寄存器为 16 位寄存器,其作用是为显示驱动提供显 示区域的首地址。该寄存器有四个,分别管理四个显示区。它们是 SADl 为第一显示区 L1 的首地址寄存器;SAD2 为第二显示区 L2 的首地址寄存器;SAD3 为第三显示区 L3 的首地 址寄存器;SAD4 为第四显示区 L4 的首地址寄存器。 显示区宽度寄存器 AP:该寄存器为 16 位寄存器,指示显示区一行所占的单元数,也 可以称为显示区的宽度。显示区的宽度对四个显示区来说是统一的。 显示区长度寄存器 SL:该寄存器为 8 位寄存器,指示显示区占有多少行,每行有 AP 个字节。显示区长度寄存器有两个 SLl 和 SL2。分别管理第一显示区和第二显示区,第三, 第四显示区间接的受 SLl 和 SL2 管理。 由显示起始地址寄存器 SAD、显示区宽度寄存器 AP 和显示区长度寄存器 SL 组合定义 了显示区域的范围。如图 6 所示。

(a)显示区的划分与单屏结构液晶显示屏面的对应关系

(b)显示区的划分与双屏结构液晶显示屏面的对应关系 图 6 显示存储器的显不区的划分与显示屏面的对应关系 在图中,对第一、第三显示区文本属性的规定仅是作为例子而言。 ●控制部管理显示存储器的信号有: VAl5~VA0 VD7~VD0 /VCE /VRD /VWR 输出态 三态 输出态 输出态 输出态 16 位显示存储器的地址总线 8 位显示存储器的数据总线 显示 RAM 的片选信号 显示存储器读操作信号,低电平有效 显示存储器写操作信号,低电平有效

(4)字符发生器 控制部能管理两种字符发生器。 一种为固定字符发生器 CGROM,它有两种形式,其一是固化在 SEDl335 等片内 5× 7 点阵字体数据库,一共有 160 种字符,参见表 9;其二是固化在显示存储器内的字库芯片 EPROM,该字库是根据使用者的需要而设计的,它可以是 8×8 点阵字体数据库,也可以是 8× 点阵字体数据库。字库占显示存储器的地址为 F000H~FFFFH。该类字符发生器是不 16 可修改的。 表 9 SED1335 的 CGROM

另一种为随机字符发生器 CGRAM, 它是根据使用者的需要随时建立和修改的自定义字 符发生器。CGRAM 的应用有两种,其一是与片内字符发生器 CGROM 联用。SEDl335 等能 提供给使用者两个自定义字符发生器的数据区,每个区占有 256 个字节,为 32 个代码。第 一自定义字符数据区 CGRAMl 的代码范围规定为 80H~9FH;第二自定义字符数据区 CGRAM2 的代码范围规定为 E0H~FFH。当使用这两个区的字符代码时,控制部自动的到 CGRAMl 或 CGRAM2 内寻址,提取相应的字模数据。由于两个区的代码不是连续的,所以 两个区的地址就不会连续, 这样将造成显示空间的浪费, 因此控制部在管理第二自定义字符 数据区时配置了 40H 异或电路,使 E0H~FFH 范围内的代码经异或电路后产生新的代码 A0H~BFH,由此使其与第一自定义数据区的地址连接起来。这一特点在建立第二自定义字 符数据区 CGRAM2 时要特别注意。CGRAM 可以在显示存储器内任意区域建立。其二是独 立使用 CGRAM。 它将同使用固化在显示存储器内字库相同, 仅是这里使用的是存储器芯片, 而字库数据可以随时建立与修改。

控制部提供一个 16 位寄存器 SAG 作为 CGRAM 的起始地址寄存器,从该地址以下的 2K 字节或 4K 字节空问为自定义字库空间。 (5)光标指针 控制部为计算机访问显示存储器设置了可读写的 16 位光标指针寄存器,并提供了两位 光标指针修正参数位, 该参数位将确定在计算机对显示存储器读写操作后光标指针的修正计 算公式。SEDl335 等提供了上、下、左、右四个方向的修正,也就是说,SEDl335 等不光能 使光标指针自动加一或减一,即右移或左移,而且还能使光标指针加 AP 值或减 AP 值,即 下移或上移。 SEDl335 等还具有光标显示功能,光标可设置为线状形式或块状形式两种,光标位置由 光标指针确定。光标形状由光标形状参数寄存器控制。 (6)休闲工作模式 SEDl335 等具有休闲工作模式。在这个工作模式下,控制部将中止包括振荡器在内的所 有逻辑操作;置管理显示存储器的片选信号 VCE 为高电平,以保护显示存储器内数据不受 破坏;把驱动系统的列驱动器清零,置驱动电源控制信号 YDIS 为零,为驱动电源提供关闭 信号。在此工作模式下 SEDl335 等的功耗最低,仅为百十微瓦。退出休闲工作模式需要系 统初始化指令 SYSTEM SET 中参数 P1 的再写入。 4 模块特性 液晶显示控制器 SEDl335 等所控制的液晶显示模块都属于中、大规模的点阵液晶显示 模块。 而且其驱动系统的接口特性是显示数据的传输为 4 位并行方式。 本节以市面一款型号 为 320240 的液晶显示模块为例,说明此类模块的特性。 (1)液晶显示模块的控制部分 在使用 SEDl335 等控制器控制液晶显示模块,首先要设计 SEDl335 等的控制电路,它 包括 SEDl335 等与计算机的接口电路,SEDl335 等管理的显示存储器的连接电路以及 SEDl335 等与液晶显示模块的接口电路。控制部分电路原理图如图 7 所示。

图 7 320240 液晶显示模块的控制部分

从图中可以看出: ①显示存储器 在控制部分使用了一片 62256 作为显示存储区,62256 的/OE 端直接接地,没有使用 SEDl335 的/VRD 信号; ②显示模块的接口 SELl 和 SEL2 都接地,使 SEDl335 等与计算机接口时序适配 Intel8080 操作时序。 在接口的第一脚为 FG,意思是压框地。在线路板上它直接接至用于压置和固定液晶显 示器件的压框上。 表 10
序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

320240 型液晶显示模块的接口定义
符号 FG GND VCC V0 /WR /RD /CE C/D /RESET DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 VEE 输入 输入 输入 输入 输入 三态 三态 三态 三态 三态 三态 三态 三态 状态 液晶显示模块压框地 逻辑电源地 逻辑电源正 液晶显示对比度调整电压 写信号,低电平有效 读信号,低电平有效 片选信号,低电平有效 通道选择信号 复位信号 数据总线(最低位) 数据总线 数据总线 数据总线 数据总线 数据总线 数据总线 数据总线(最高位) 液晶显示驱动电源 功 能

(2)液晶显示模块的驱动部分

驱动部分电路原理图如图 8 所示。

图 8 320240 液晶显示模块的驱动部分 从图中可以看出: ①偏压电路的设计 液晶显示驱动电源采用了 1/13 偏压电路( 240+1 ? 16 ) ,电阻 R1~R5 组成了分压电 路,其中:R1=R2=R4=R5=R,R3 的值为( 240-3 ? 12.4 ? 12 )R。 采用了运算放大器分压电路。 ②驱动电路的组成 在液晶显示驱动控制系统中,由四片 HD66204(80× 4=320)列驱动器和三片 HD66205 (80× 3=240)行驱动器组成驱动电路。 三、内置 SED1335 控制器型图形液晶显示模块的软件特性 SEDl335 等的软件功能非常强。一共有 14 条指令且多数指令都带有若干个参数。参数 值由使用者根据所控制的液晶显示模块的特性和显示内容的需要而设置。指令一览表如表 11 所示。 表 11 SED1335 指令一览表
指令名称 初始化设置 显示域设置 休闲模式设置 显示状态设置 显示合成设置 点位移设置 光标形状设置 CGRAM 首址设置 光标移动方向设置 光标指针设置 读取光标指针 数据写入设置 数据读取设置 指令代码 SYSTEM SET SCROLL SLEEP IN DISP ON/OFF OVLAY HDOT SCR CSRRFORM CGRAM ADR CSRDIR CSRW CSRR MWRITE MREAD 操作码 40H 44H 53H 59/58H 5BH 5AH 5DH 5CH 4C-4FH 46H 47H 42H 43H A0 1/0 1/0 1 1/0 1/0 1/0 1/0 1/0 1 1/0 1 1/0 1 /WR 0 0 0 0 0 0 0 0 0 0 0/1 0 0/1 /RD 1 1 1 1 1 1 1 1 1 1 1/0 1 1/0 2 2 若干 若干 l 1 1 2 2 参数量 8 10

读状态位

READ FLUG

0

1

0

计算机在访问 SEDl335 等时可以随时进行,不必判别 SEDl335 等当前工作状态。所以 计算机访问 SEDl335 等的操作流程非常简单。 计算机访问 SEDl335 等首先将指令代码写人指令缓冲器内 (A0=1) 随后将该指令所需 , 的参数按顺序通过数据输入缓冲器(A0=0)写入相应的功能寄存器内。SEDl335 等指令代 码既有功能位设置的功能,又是参数寄存器的选通码。除了 SLEEP IN 指令、CSRDIR 指令、 CSRR 指令和 MREAD 指令外,所有指令的执行都将在其参数的输入完成后。当一条新的指 令写完后,SEDl335 等将在旧指令参数组运行完成后更新指令参数。 指令参数的写入原则如下: ●指令参数可以不必一次都写入。计算机可以通过写入新的指令代码来结束最近写入的 指令设置。此时已写入的新参数将与余下的旧参数一起组合成新的参数组。 ●写入参数的顺序不能改变也不能省略。比如写入 SCROLL 指令时,只依顺序写入前两 个参数 P1、P2 就退出是 SEDl335 等认可的,但若要想修改参数 P4 和 P5,那么只好将在其 排序之前的参数写入之后才能写入新的 P4 和 P5 以求达到修改之目的。 ●双字节的参数应作如下的处理: CSRW、CSRR 指令 双字节的参数可以依顺序逐一修改,计算机可以仅改变或检 查第一个参数(低字节)的内容。 SYSTEM SET、SCROLL、CGRAM ADR 等指令 双字节参数必须依顺序完整地写

入。该参数仅在第二字节写入后才有效。 SYSTEM SET 中 APL 和 APH 虽然作为双字节参数,但可作为两个单字节参数处理。 计算机访问 SEDl335 等流程图如图 9 所示。

(a)写指令和显示数据操作流程图

(b)读光标地址和显示数据操作流程图

图 9 计算机操作流程图 下面逐一介绍各指令的功能。 1 初始化设置 SYSTEM SET 代码: 0 1 0 0 0 0 0 0

该指令为 SEDl335 等的初始化而配置的。 它规定了 SEDl335 等工作所必需的各种参数。 该指令是计算机操作 SEDl335 等控制器时首先要写入的指令。如果该指令参数的设置不适 合所要控制的液晶显示模块的特性, 那么计算机就不能实现对液晶显示模块的控制和系统所 希望的显示效果。该指令带有 8 个参数。各参数的功能如下: ●P1: DR DR 0 IV 1 W/S M2 M1 M0

辅助位移时钟周期的选择位 DR=0 DR=1 正常运行 使用辅助位移时钟周期

通常选取 DR=0。 说明:在控制双屏显示时需要液晶显示模块一行像素为 64 的整倍数,如果不是则控制 器自动通过填充数据“0”来凑齐 64 位,此时就需要增加辅助位移时钟周期。 IV 负向字符显示时屏面边界选择位 IV=0 画面首行作为边界

IV=1 通常选取 IV=1。

无边界

说明:在文本显示方式下,第一行显示的字符是顶天的,没有天头。所以在制作负向字 符显示时的效果就不太理想。此时使用 IV 参数位在显示控制时制造出一行空行作为天头, 以达到理想的显示效果。 W/S 适配驱动系统选择位,该位将选择产生驱动时序信号的类型 W/S=0 W/S=1 M2 单屏结构液晶显示驱动系统 双屏结构液晶显示驱动系统

外部字符发生器的字体的选择位 M2=0 M2=1 8× 点阵字体 8 8× 点阵字体 16

M1

外部字符发生器 CGRAM 代码区选择位 M1=0 M1=1 选择 CGRAMl,字符代码为 80H~9FH 选择 CGRAMl+CGRAM2,字符代码为 80H~9FH 和 E0H~FFH

M0

字符发生器选择位 M0=0 M0=1 内部字符发生器 外部字符发生器

说明:M2、M1、M0 组合设置了字符发生器的结构,如表 12 所示。 表 12 字符发生器结构
M2 0 0 0 0 1 1 Ml 0 0 l 1 0 1 M0 0 1 0 l 1 1 字符发生器结构 内部 CGROM+CGRAMl(8× 点阵) 8 外部 CGROM+CGRAMl(8× 点阵) 8 内部 CGROM+CGRAMl+CGRAM2(8× 点阵) 8 外部 CGROM+CGRAMl+CGRAM2(8× 点阵) 8 外部 CGROM+CGRAMl(8× 点阵) 16 外部 CGROM+CGRAMl+CGRAM2(8× 点阵) 16

●P2: WF WF 0 0 0 0 FX

交流驱动波形选择位

WF=0

C 型驱动波形,行翻转驱动波形,交流驱动波形输出 WF 状态每 16 行反转一次

WF=1 通常 WF=1。 FX

B 型驱动波形,交流驱动波形输出 WF 每一帧翻转一次

字符体宽度设置参数(点列数) 。若 FX 大于实际字符体的宽度,则余出的部 分作为空点置于字符体的右侧,形成字符间距。FX 取值在 0~7 范围内,代表 1~8 点列/字符体。

●P3: 0 FY 0 0 0 FY

字符体高度设置参数(点行数) 。若 FY 大于实际字符体的高度,则余出的部分 作为空点置于字符体的下方,形成字符行距。FY 取值在 0~FH 范围内,代表 1~16 点行/字符体。

●P4: C/R C/R 有效显示窗口宽度设置参数。C/R 值设置了显示屏上一行显示所占显示存储器 的单元数(字节数) 。C/R 取值在 00H~EFH 范围内,表示显示屏上一个显示 行占显示存储器单元数为 1~240 个字节。 说明:C/R 值可以选择的比显示屏的实际长度大一些,但余留的部分不能超过 64 点列, 即 8 字节长。 ●P5: TC/R TC/R 驱动频率的时间常数。 TC/R 是晶振频率 Fosc 转换成液晶显示驱动工作频率 FR 的时间常数。它可以简单地由下式求出: TC/R≥C/R+4 TC/R 与振荡频率的关系为: Fosc≥9×TC/R×L/F×FR TC/R 可以由上两个公式联合求出。FR 为液晶显示帧扫描频率,通常取值为 FR=70Hz。在控制大规模液晶显示模块时,在最大振荡频率 10MHz 下,要满 足 TC/R 取值要求,就要降低液晶显示的帧扫描频率 FR 了。

说明:该参数的设置有时是非常重要的。错误的设置可引起以下几种现象: ●行扫描停止且出现高对比度的水平线; ●显示不稳定,出现闪烁或全亮或全暗; ●LP 信号不足或不存在。 ●P6: L/F L/F 扫描驱动的帧参数。L/F 值设置了控制器所要控制的液晶显示驱动系统的扫描 行数,其倒数为占空比系数。当液晶显示驱动系统为单屏结构时,L/F 即为一 帧的扫描行数;当液晶显示驱动系统为双屏结构时,L/F 为一帧扫描行数的二 倍,此时 L/F 必须为偶数值。L/F 取值在 0~FFH 范围内,对应扫描行为 1~ 256 行。 ●P7: APL ●P8: APH AP 在显示存储器内分配给一个显示行的单元数 (字节数) AP 为双字节参数, 。 APL 为低 8 位,APH 为高 8 位。通常 AP 取值为 C/R+1 或大于 C/R 值的整数,以 方便计算各显示行的显示存储器地址。 2 显示域设置 SCROLL 代码: 0 1 0 0 0 1 0 0

该指令设置了四个显示区的起始地址 SAD 和各区所控制的显示行数 SL。 该指令设置的 参数与 SYSTEM SET 指令设置的参数结合将确定显示 RAM 中的各显示区的区域范围与有 效的显示区域。定时间定量的递增或递减某区的起始地址 SAD,将产生显示画面的平滑滚 动。该指令带有 10 个参数。部分参数的设置是有效的,但设置的顺序不能改变也不能省略。 各参数的功能如下: ●P1: SAD1L ●P2: SAD1H

SADl 显示一区首地址值。SADl 确定了第一显示区的起始地址。它由双字节组成。 SADlL SADlH ●P3: SL1 SLl ●P4: SAD2L ●P5: SAD2H SAD2 显示二区首地址值。SAD2 确定了第二显示区的起始地址。它由双字节组成。 SAD2L SAD2H ●P6: SL1 SL2 ●P7: SAD3L ●P8: SAD3H SAD3 显示三区首地址值。SAD3 确定了第三显示区的起始地址。它由双字节组成。 SAD3L SAD3H ●P9: SAD4L ●P10: SAD4H SAD4 显示四区首地址值。SAD4 确定了第三显示区的起始地址。它由双字节组成。 SAD4L SAD4 的低 8 位 SAD3 的低 8 位 SAD3 的高 8 位 显示一区所控制的显示屏上的行数。SLl 取值为 00H~(L/F)H。 SAD2 的低 8 位 SAD2 的高 8 位 显示一区所控制的显示屏上的行数。SLl 取值为 00H~(L/F)H。 SADl 的低 8 位 SADl 的高 8 位

SAD4H

SAD4 的高 8 位

3 休闲方式设置 SLEEP IN 代码: 0 1 0 1 0 0 1 1

该指令强制 SEDl335 等进入休闲工作方式。在该指令输入后,SEDl335 等在扫描最后 一行时,将列驱动器清零;置 YDIS=0,使液晶显示驱动系统关闭显示驱动电源;将显示存 储器管理信号/VCE=1,以保护显示数据不被破坏;中止包括振荡器在内的所有内部逻辑电 路的运行,但保存原设置的参数,使其进入休闲工作方式。退出休闲工作方式需要计算机重 新写入 SYSTEM SET 指令的 P1 参数。该指令无参数。 4 显示状态设置 DISP ON/OFF ON/ 代码: 0 1 0 1 1 0 0 OFF 该指令设置了显示的各种状态。 它们有显示开关的设置, 光标的显示状态的设置和各显 示区显示状态的设置。在指令代码中就含有一个参数位: ON/OFF 显示开关位 ON/OFF=0 ON/OFF=1 关显示 开显示

说明:该参数位控制着显示的总开关状态。 该指令带有一个参数。其功能如下: ●P1: 代码: FP5 FP4 FP3 FP2 FP1 FP0 FC1 FC0

FC1、 FC0

光标状态设置位。 和 FC0 组合设置了光标显示的四种状态如表 12 所示。 FCl

表 12 光标显示状态
FC1 0 0 l 1 FC0 0 1 0 l 光标显示关闭 光标显示,但不闪烁 光标以 FR/32Hz 的频率闪烁显示 光标以 FR/64Hz 的频率闪烁显示 光标显示状态

注:光标闪烁的亮与暗占空比为 7:3。 FPl、FP0 显示一区状态设置位。FPl 和 FP0 组合设置了显示一区显示的四种状态。

FP3、FP2

显示二、四区状态设置位。FP3 和 FP2 组合设置了显示二、四区显示的四 种状态。

FP5、FP4

显示三区状态设置位。FP5 和 FP4 组合设置了显示三区显示的四种状态。 如表 13 所示。

表 13 显示状态
FPl FP3 FP5 0 0 1 1 FP0 FP2 FP4 0 1 0 l 显示一区显示状态 显示二、四区显示状态 显示三区显示状态 画面显示关闭 画面显示,但不闪烁 画面以 FR/32Hz 的频率闪烁显示 画面以 FR/64Hz 的频率闪烁显示

注:画面闪烁的亮与暗占空比为 7:3。 说明: 这些参数位都是控制着各显示区的显示状态。 该状态的实现需要在显示总开关为 开显示状态时。 5 显示合成方式设置 OYLAY 代码: 0 1 0 1 1 0 1 1

该指令设置了显示区的合成显示方式以及显示一区和三区的显示方式。 该指令带有一个 参数。参数的功能如下: ●P1: 代码: OV 0 0 0 OV DM2 DM1 MX1 MX0

显示合成设置位 OV=0 OV=1 二重合成显示,用于文本与图形或图形与图形的混合显示 三重合成显示,仅用于图形混合显示

说明: 二重合成显示方式是将两个显示区的内容经某一种逻辑运算合成出新的显示数据从而 产生新的显示画面。该方式将以第一、第二显示区为主,第三、第四显示区为辅的合成,合 成方式如图 10~13 所示。

图 10 单屏结构:显示一、二区参加的二重合成显示方式

图 11 单屏结构:显示一、二、三区参加的二重合成显示方式

图 12 单屏结构:显示一、二、三区参加的二重合成显示方式(二)

图 13 双屏结构:显示一、二、三、四区参加的二重合成显示方式 三重合成显示方式是将三个显示区的内容经某一种或两种逻辑运算合成出新的显示数 据从而产生新的显示画面。该方式将以第一、第二、第三显示区参加的合成,合成方式如图 14 所示。

图 14 单屏结构:显示一、二、三区参加的三重合成显示方式 DMl 显示一区的显示属性位 DMl=0 DMl=1 DM2 设置显示一区为文本显示属性,其数据均作为字符代码处理 设置显示一区为图形显示属性,其数据均作为图形数据处理

显示三区的显示属性位

DM2=0 设置显示三区为文本显示属性,其数据均作为字符代码处理 DM2=1 设置显示三区为图形显示属性,其数据均作为图形数据处理 MXl、MX0 显示合成方式设置位。MXl,MX0 组合设置了四种显示合成方式,如表 14 所示。 表 14 显示合成方式
MXl 0 0 1 1 MX0 0 1 0 1 合成方式 L1+L2+L3 简单逻辑或合成 (L1⊕L2)+L3 逻辑异或· 或合成 (L1· L2)+L3 逻辑与· 或合成 简单动画立体表达式 LI>L2>L3 优先叠加 用 途

底线坐标和文本图形混合显示 负向字符显示,区域闪烁底线

说明: 合成显示产生的结果仅改变显示画面而不改变各显示区的内容。 优先叠加合成显示是三个显示区以 L1 覆盖 L2、L2 覆盖 L3 的方式逻辑“或”合成显示, 当关闭 L1 时,L2 和 L3 与 L1 相同显示的部分(为“1”处)被关闭;当 L2 被关闭时,L3 与 L2 相同显示的部分(为“1”处)被关闭。 6 点位移设置 HDOT SCR 代码: 0 1 0 1 1 0 1 0

该指令设置了以点为单位的显示画面的水平位移量。 该指令的作用有二: 其一是在制作 负向显示字符时与 SYSTEM SET 参数 IV 结合使用。 通过设置该指令可以产生左边界, 使得 行首字符有比较好的显示效果。其二是在制作画面滚动显示效果时与 SCROLL 指令结合产 生水平向点滚动的显示效果。 但要注意的是该指令控制在显示数据合成之后向驱动系统输出 之处, 故该指令所产生的滚动效果是针对所有参加显示的显示区, 因此要想使某一显示区产 生点滚动而其他显示区不动是不可能的。该指令带有一个参数。其参数功能如下: ●P1: 代码: D 0 0 0 0 0 D

水平点位移量参数。D 取值在 0H~7H 范围内。当 D 取值由 0H 向 7H 方向递 增时,显示画面呈现左移效果;当 D 取值由 7H 向 0H 方向递减时,显示画面 呈现右移效果

该指令与 SCROLL 指令结合使用方法:

●显示左移时,首先使用 HDOT SCR 指令使点位移参数从 0 增到 7,然后使用 SCROLL 指令将显示起始地址 SAD 加一,并同时将 HDOTSCR 参数清零。循环上述过程,将产生显 示水平向左点位移的效果。 ●显示右移时,首先使用 HDOT SCR 指令使点位移参数从 7 减到 0,然后使用 SCROLL 指令将显示起始地址 SAD 减一,并同时将 HDOT SCR 参数置 7。循环上述过程,将产生显 示水平向右点位移的效果。 7 光标形状设置 CSRFORM 代码: 0 1 0 1 1 1 0 1

该指令设置了光标的显示形状。 光标的显示形状有线状形式和块状形式两种。 光标的形 状是可以设置的。该指令所带的两个参数将实现对光标形状的设置。两参数的功能如下: ●P1: 代码: CRX 0 0 0 0 0 CRX

光标形状水平向点列数。CRX 取值在 0~7H 范围内,对应光标水平向占据的 点列数为 1~8 点,CRX≤FX

●P2: 代码: CRY CM 0 0 0 CRY

光标形状垂直向点行数。 CRY 取值在 1~FH 范围内, 对应光标垂直向占据的点 行数为 2~16 点。CRY=0 或 CRY>FY 均无效

CM

光标形状选择位 CM=0 CM=1 线状光标显示 块状光标显示

说明: 块状光标的大小形状由 CRX 和 CRY 设置。 线状光标的形状由 CRX 确定其长度,由 CRY 设定其所占的显示行,当 CRY=FY 时光 标显示呈底线光标形式;光标显示仅在文本方式下有效。 8 CGRAM 首址设置 CGRAM ADR 代码: 0 1 0 1 1 1 0 0

该指令设置了 CGRAM 在显示存储器内的起始地址 SAG。 从该地址起的 2K 字节 (M2=0) 或 4K 字节(M2=1)为 CGRAM 区域。该指令有两个参数,其功能如下:

●P1: 代码: ●P2: 代码: SAG CGRAM 起始地址 SAGL SAGH 说明: SAG 所指地址对应的是字符代码 00H 的字模首地址, 所以对于 CGRAMl 的首地址应为 SAG+80H× 2; CGRAM2 区域字符代码为 E0H~FFH,但由于控制部在 CGRAM2 寻址上安置了异或 40H 的电路,所以 CGRAM2 的地址应按 A0H~BFH 计算,即 CGRAM2 的首地址为 SAG+A0H× 8。 9 光标移动方向设置 CSRDIR 代码: 0 1 0 0 1 1 DIR1 DIR0 SAG 的低 8 位地址 SAG 的高 8 位地址 SAGH SAGL

该指令规定了光标指针 CSR 在计算机读写显示数据后自动修改方式,从显示效果上说 就是光标移动的方向设置。该指令的两个参数位 DIRl 和 DIR0 设置了光标指针的移动方向 的设置。设置参数如表 15 所示。 表 15 光标移动
DIRl 0 0 1 1 DIR0 0 1 0 1 代码 4CH 4DH 4EH 4FH 光标移动方向 光标向右移动 光标向左移动 光标向上移动 光标向下移动 地址计算公式 CSR+1→CSR CSR-l→CSR CSR-AP→CSR CSR+AP→CSR

10 光标指针设置 CSRW 代码: 0 1 0 0 0 1 1 0

该指令设置了光标指针 CSR。该指针有两个功能:其一作为当前光标显示的位置;其 二作为显示存储器当前的地址指针。该指令带有两个参数,它们是: ●P1:

代码: ●P2: 代码: CSR 光标指针 CSRL CSRH 说明:

CSRL

CSRH

光标指针的低 8 位 光标指针的高 8 位。

当光标指针指向有效显示区域之外时,光标将自然消失,但不影响显示数据的读写。光 标指针在计算机的每次读写显示数据操作后, 将根据最近设置的光标指针移动方向而自动修 正。光标指针不受画面滚动操纵的影响。 11 光标指针读取 CSRR 代码: 0 1 0 0 0 1 1 1

该指令代码写入后,计算机将从 SEDl335 等数据通道读出当前的光标指针值。光标指 针读出的顺序是先 CSRL,再 CSRH。 ●P1: 代码: ●P2: 代码: CSR 光标指针 CSRL CSRH 光标指针的低 8 位 光标指针的高 8 位。 CSRH CSRL

12 数据写入设置 MWRITE 代码: 0 1 0 数 0 0 0 据 1 0

该指令写入后将允许计算机连续的向显示存储器内写入数据。 写入的单元地址由光标指 针 CSR 提供,写操作完成后光标指针自动根据所设置的光标指针移动方向进行修改。显示 数据写入操作在计算机写入下一个指令代码后结束。 13 数据读取设置 MREAD 代码: 0 1 0 0 0 0 1 1





该指令的写入将允许计算机连续地从显示存储器内读取数据。 读取的单元地址由光标指 针 CSR 提供,读操作完成后光标指针自动根据所设置的光标移动方向进行修改。显示数据 读取操作在计算机写入下一个指令代码后结束。 14 状态位读取操作 X BF X X X X X X

该操作将从数据总线的 D6 位上读出 SEDl335 等的忙状态 BF 值。该忙 BF 状态表示的 不是前几章控制器所具有的与计算机接口处的工作状态,而是反映显示数据传输的工作状 态。 ●在一行显示数据传输的过程中,控制部连续地从显示存储器内读取显示数据传送给驱 动部,由驱动部传输给液晶显示驱动系统,此时 BF=1 表示显示存储器正在内部操作之中。 ●当一行显示数据传输完成后到下一行显示数据传输开始之前,驱动部要产生一些其他 的脉冲控制信号,如 LP 信号等,控制部暂停为显示驱动而对显示存储器的读取操作,此时 BF=0 表示显示存储器处于间歇状态。 判忙状态位在 SEDl335 等操作上不是那么重要,因为 SEDl335 等的接口部能够适时地 接收计算机的访问。 四、内置 SED1335 控制器的液晶显示模块的接口技术 内置 SED1335 控制器的液晶显示模块与计算机的接口时序为 Inter8080 时序。 本节以常 用的单片机 AT89C51 为实验样机,以模块 320240 为显示样片叙述计算机与内置 T6963C 控 制器的液晶显示模块的接口技术。 由于计算机对 SEDl335 等的访问不需使用判“忙”过程,所以 SEDl335 等的驱动程序是 非常简单, 1 直接访问方式 在直接访问方式下 SEDl335 等将直接与计算机的总线连接,如图 15 电路所示。

图 15 直接访问方式下接口电路图 上图所示的电路,对于完成液晶显示模块的显示来说,所用的硬件是相对比较少的,但 是如果计算机需要进行扩展的话,使用上图的话不是很经济(浪费了太多的地址空间) 。这 个时候,可以考虑使用全地址译码或者部分地址译码的方式。 在上图所示的电路中: ●8 位数据总线与 AT89C51 的数据总线连接 ●地址线 A15 作为模块操作的片选线 ●地址线 A14 作为模块的寄存器选择线 A0 这样就确定了 AT89C51 操作字符型液晶显示模块的唯一地址选择。 图中的液晶驱动电源 VEE 取值为-20V 左右,电位器为 V0 提供了可调的驱动电压,用 以实现显示对比度的调节。 以下将给出直接访问方式的驱动程序。 (1)地址定义 汇编语言源代码如下: DAT COM WCADD WDADD EQU EQU EQU EQU 30H 31H C000H 8000H ;写指令地址 ;写参数及显示数据地址

RDADD RBADD

EQU EQU

C000H 8000H

;读参数及显示数据地址 ;读忙标志地址

C 语言源代码如下: #include <reg51.h> #include <stdio.h> #include <intrins.h> #define uchar unsigned char #define uint unsigned int #define nop() _nop_() xdata uchar WcADD _at_ 0xC000; xdata uchar WdADD _at_ 0x8000; xdata uchar RdADD _at_ 0xC000; xdata uchar RbADD _at_ 0x8000; (2)写指令代码 汇编语言源代码如下: WRCMD: MOV DPTR,WCADD MOV A,COM MOVX @DPTR,A RET C 语言源代码如下: void WrCMD(uchar cmd) { WcADD=cmd; } (3)写参数及显示数据 汇编语言源代码如下: WRDAT: MOV DPTR,#WDADD MOV A,DAT

MOVX @DPTR,A RET C 语言源代码如下: void WrDAT(uchar dat) { WdADD=dat; } (4)读参数及显示数据 汇编语言源代码如下: RDDAT: MOV DPTR,#RDADD MOVX A,@DPTR MOV DAT,A RET C 语言源代码如下: uchar RdDAT(void) { uchar temp; temp=RdADD; return temp; } (5)判忙标志 BF 汇编语言源代码如下: READBF: MOV DPTR,#RBADD MOVX A,@DPTR JB ACC.6,READBF RET C 语言源代码如下: uchar ReadBF(void)

{ uchar temp; temp=RbADD&0x40; return temp; } 2 间接控制方式 间接控制方式是将内置 SED1335 控制器的液晶显示模块与计算机系统中的某个并行 I/O 接口连接,计算机通过对该 I/O 接口的操作间接的实现对模块的控制。本文以 AT89C51 的 P1 和 P2 接口为并行接口与字符型液晶显示模块连接,图 16 给出了本文推荐的实用接口 电路。

图 16 间接控制方式下的接口电路图 图中的液晶驱动电源 VEE 取值为-20V 左右,电位器为 V0 提供了可调的驱动电压,用 以实现显示对比度的调节。 在编制驱动函数的时候,要注意时序的配合,根据 Intel8080 时序的规范,间接控制方 式通过软件执行产生操作时序, 所以在时间上是足够满足要求的。 因此间接控制方式能够实 现高速计算机与字符型液晶显示模块的连接。 (1)接口定义 汇编语言源代码如下:

DAT COM A0 CE RD WR

EQU EQU EQU EQU EQU EQU

30H 31H P2.7 P2.6 P2.5 P2.4 ;通道选择信号 ;片选信号 ;读操作信号 ;写操作信号

C 语言源代码如下: #include <reg51.h> #include <stdio.h> #include <intrins.h> #define uchar unsigned char #define uint unsigned int #define nop() _nop_() sbit A0=P2^7; sbit CE=P2^6; sbit RD=P2^5; sbit WR=P2^4; (2)写指令代码 汇编语言源代码如下: WRCMD: CLR CE MOV P1,COM SETB A0 CLR WR SETB WR RET C 语言源代码如下: void WrCMD(uchar cmd) { P1=cmd; ;片选 ;置指令代码 ;设置 A0=1 ;WR=0 ;WR=1

A0=1; WR=0; WR=1; } (3)写参数及显示数据 汇编语言源代码如下: WRDAT: MOV P1,DAT CLR A0 CLR WR SETB WR RET C 语言源代码如下: void WrDAT(uchar dat) { P1=dat; A0=0; WR=0; WR=1; } (4)读参数及显示数据 汇编语言源代码如下: RDDAT: SETB A0 CLR RD MOV DAT,P1 SETB RD RET C 语言源代码如下: uchar RdDAT(void) ;设置 AO=1 ;RD=0 ;读取数据 ;RD=1 ;置指令代码 ;设置 A0=0 ;WR=0 ;WR=1

{ uchar temp; A0=1; RD=0; temp=P1; RD=1; return temp; } (5)判忙标志 BF 汇编语言源代码如下: R READBF: CLR A0 CLR RD MOV C,P1.6 SETB RD JC READBF RET C 语言源代码如下: uchar ReadBF(void) { uchar temp; A0=0; RD=0; temp=P1; RD=1; temp&=0x40; return temp; } 五、液晶显示控制器 SEDl335 等的应用软件 本节将提供 SEDl335 应用程序。 ;设置 A0=0 ;RD=0 ;读取 BF 值 ;RD=1 ;判 BF=1,再读

本节所提供的程序都是以液晶显示模块 320240 为实验样机。在使用其他型号的液晶显 示模块时要注意 SYSTEM SET 指令参数表和 SCROLL 参数表的选择, 同时在一些子程序中 的常数 AP 值需要进行相应的修改。 需要说明的是以下程序包括子程序都是以 SCROLL 指令参数中给定的显示区地址为依 托的。这里列出来加以注明(单屏结构) : 显示一区:SADl=0000H 显示二区:SAD2=3000H 显示三区:SAD3=6000H (1)初始化 汇编语言源代码如下: COUNT INT: MOV COM,#40H LCALL WRCMD MOV COUNT,#00H INTl: MOV DPTR,#SYSTAB MOV A,COUNT MOVC DAT,@A+DPTR LCALL WRDAT INC COUNT MOV A,COUNT CJNE A,#08H,INTl MOV COM,#44H LCALL WRCMD MOV COUNT,#00H INT2: MOV DPTR,#SCRTAB MOV A,COUNT MOVC DAT,@A+DPTR ;设置指令参数表地址 ;取参数 ;循环 8 次 ;SCROLL 代码 ;写入指令代码 ;设置计数器 COUNT=0 ;写入指令参数 ;计数器加 1 ;设置指令参数表地址 ;取参数 ;SYSTEM SET 代码 ;写入指令代码 ;设置计数器 COUNT=0 EQU 32H

LCALL WRDAT INC COUNT MOV A,COUNT CJNE A,#0AH,INT2 MOV COM,#5AH LCALL WRCMD MOVC DAT,#00H LCALL WRDAT MOV COM,#5BH LCALL WRCMD MOV DAT,#00H LCALL WRDAT MOV COM,#59H LCALL WRCMD MOV DAT,#54H LCALL WRDAT RET SYSTAB:

;写入指令参数 ;计数器加 1

;循环 10 次 ;HDOT SCR 代码 ;写入指令代码

;写入指令参数 ;OVLAY 代码 ;写入指令代码

;写入指令参数 ;DISP ON/OFF 代码 ;写入指令代码

;写入指令参数

DB 30H,87H,07H,27H,42H,0EFH,30H,00H ;P1~P8 参数 ;P4=27H=39,代表 40 个字节,40× 8=320 ;P6=0EFH=239,代表 240 行 ;P8、P7=AP=30H,便于地址计算 SCRTAB: DB 00H,00H,0EFH,00H,30H,0EFH,00H,60H,00H,00H ;P1~P10 参数 C 语言源代码如下: #define SystemSET 0x40 uchar SysTable[]={0x30,0x87,0x07,0x27,0x42,0xEF,0x30,0x00}; #define Scroll 0x44 // P1-P8 参数

#define DispPart1 0x00 #define DispPart2 0x30 #define DispPart3 0x60 #define DispPart4 0x00 uchar ScrTable[]={ 0x00,DispPart1,0xEF,0x00,DispPart2,0xEF,0x00,DispPart3,0x00,DispPart4 }; // P1-P10 参数

#define DispOn 0x59 #define DispOff 0x58 #define Ovlay 0x5b

#define HdotScr 0x5a void Init(void) { uchar temp; WrCMD(SystemSET); for(temp=0;temp<8;temp++) WrDAT(SysTable[i]); WrCMD(Scroll); for(temp=0;temp<10;temp++) WrDAT(ScrTable[i]); WrCMD(HdotScr); WrDAT(0x00); WrCMD(Ovlay); WrDAT(0x00); WrCom(DispOn); WrDAT(0x54); } (2)清显示 RAM 区 该程序将 32K 显示存储器清零。 汇编语言源代码如下: CLEARLCD: MOV COM,#4CH ;CSRDIR 代码

LCALL WRCMD MOV COM,#46H LCALL WRCMD MCV DAT,#00H LCALL WRDAT MCV DAT,#00H LCALL WRDAT MOV COM,#42H LCALL WRCMD MOV R6,#7FH MOV R7,#00H MOV DAT,#00H CLEARLCDl: LCALL WRDAT DJNZ R7,CLEARLCDl DJNZ R6,CLEARLCDl RET C 语言源代码如下: #define CsrDirR 0x4c #define CsrW 0x46

;写入指令代码 ;CSRW 代码 ;写入指令代码 ;设置参数光标指针低 8 位 ;写入指令参数 ;设置参数光标指针高 8 位 ;写入指令参数 ;MWRITE 代码 ;写入指令代码 ;设置循环量 ;设置循环量

;写入指令参数 ;循环

#define mWrite 0x42 void ClearScreen(void) { uint i=32768; WrCom(CsrDirR); WrCom(CsrW); WrDAT(0x00); WrDAT(0x00); WrCom(mWrite); while(i--) WrDAT(0x00); //32768/1024=32K

} (3)西文显示 在演示程序中,还提供了 SEDl335 等显示功能的实验,可供使用者参考。 ①文本方式下的正向显示字符及光标的显示效果 汇编语言源代码如下: COUNT EQU 32H ;CSRFORM 代码 ;写入指令代码 ;设置光标水平点为 CSX=8 ;写入指令参数 ;光标为块状形式,垂直点为 CSY=8 ;写入指令参数 ;OVLAY 代码 ;写入指令代码

MOV COM,#5DH LCALL WRCMD MCV DAT,#07H LCALL WRDAT MCV DAT,#87H LCALL WRDAT MOV COM,#5BH LCALL WRCMD MOV DAT,#01H LCALL WRDAT MOV COM,#59H LCALL WRCMD MOV DAT,#56H LCALL WRDAT MOV COM,#46H LCALL WRCMD MCV DAT,#00H LCALL WRDAT MCV DAT,#00H LCALL WRDAT MOV COM,#4CH LCALL WRCMD MOV COM,#42H LCALL WRCMD

;写入指令参数 ;DISP ON/OFF 代码 ;写入指令代码

;写入指令参数 ;CSRW 代码 ;写入指令代码 ;设置参数光标指针低 8 位 ;写入指令参数 ;设置参数光标指针高 8 位 ;写入指令参数 ;CSRDIR 代码 ;写入指令代码 ;MWRITE 代码 ;写入指令代码

MOV COUNT,#00H TXTLOOPl: MOV DPTR,#TAB1 MOVC DAT,@A+DPTR LCALL WRDAT INC COUNT MOV A,COUNTl CJNE A,#18H,TXTLOOPl SJMP $ TXTTAB: DB 53H,65H,76H,69H,63H,65H,72H,20H,54H,45H,4CH,3AH DB 00H,30H,31H,30H,36H,32H,37H,38H,30H,38H,36H,36H C 语言源代码如下: #define CsrForm 0x5d void ShowTXTCUR_N(void) { uchar temp; WrCom(CsrForm); WrDAT(0x07); WrDAT(0x87); WrCMD(Ovlay); WrDAT(0x01); WrCom(DispOn); WrDAT(0x56); WrCom(CsrDirR); WrCom(CsrW); WrDAT(0x00); WrDAT(0x00); WrCom(mWrite); for(temp=0;temp<24;temp++) WrDAT(*(TXTTAB+temp));

} ②文本方式下的负向显示字符及光标的显示效果 使用 SEDl335 等显示负向显示字符的方法只能是在图形区相关单元置“FFH”, 使其与文 本区的字符“异或”显示,从而达到所需的显示效果。 也即在完成上一步所示的显示之后,再向图形区相关单元写入“FFH”。 汇编语言源代码如下: COUNT1 COUNT2 EQU EQU 32H 33H ;CSRW 代码 ;写入指令代码 ;设置 SAD2 低 8 位 ;写入指令参数 ;设置 SAD2 高 8 位 ;写入指令参数 ;MWRITE 代码 ;写入指令代码

MOV COM,#46H LCALL WRCMD MCV DAT,#00H LCALL WRDAT MCV DAT,#30H LCALL WRDAT MOV COM,#42H LCALL WRCMD MOV DAT,#0FFH MOV COUNTl,#08H TXTLOOP2: MOV COUNT2,#30H TXTLOOP3: LCALL WRDAT DJNZ COUNT2,TXTLOOP3 DJNZ COUNT1,TXTLOOP2 SJMP $ C 语言源代码如下: void ShowTXTCUR_F(void) { uchar temp1,temp2; WrCom(CsrW);

;设置计数器

;设置计数器

;写入指令参数 ;循环 ;循环

WrDAT(0x00); WrDAT(0x30); WrCom(mWrite); for(temp1=0;temp1<8;temp1++) { for(temp2=0;temp2<48;temp2++) WrDAT(0xff); } } 4 汉字写入(图形方式) 在图形方式下显示汉字是比较常用的方法。 汉字库作在程序区内, 按排序定义各汉字的 代码。 写入汉字字模如同写入图形数据一般, 这里提供单字节汉字代码使用的汉字写入子程 序。 在这个程序段中,将 320× 240 的液晶显示屏分成了 15 行 20 列共 300 个 16× 的显示 16 区域,每个区域显示一个汉字。 C 语言源代码如下: //显示汉字,某行某列 //这个函数将 320× 240 分为 15 行 20 列共 300 个区域,每个对应一个 16× 点阵的汉字 16 //字模数组,列,行,字模 void ShowHZ_N(uchar *zimo,o_x,o_y,uint code) { uint addr,addrtemp; uchar temp,i,j; //设置显示区,1 区为图形 WrCMD(Ovlay); WrDAT(0x04); //计算起始地址 //总共显示 15 行汉字,那么每行汉字的起始地址为 300H× o_y addr=o_y*0x300+o_x; //计算字模实际偏移地址 code<<=5;

for(i=0;i<16;i++) { addrtemp=addr+i*0x30; WrCMD(CsrDirR); WrCMD(CsrW); temp=(uchar)addrtemp; WrDAT(temp); addrtemp>>=8; temp=(uchar)addrtemp; WrDAT(temp); WrCMD(mWrite); for(j=0;j<2;j++) WrDAT(*(zimo+code)); } } uchar code CCTAB[]={ /*-- 文字: 液 代码“0x00”*/

0x40,0x40,0x20,0x20,0x27,0xFE,0x09,0x20, 0x89,0x20,0x52,0x7C,0x52,0x44,0x16,0xA8, 0x2B,0x98,0x22,0x50,0xE2,0x20,0x22,0x30, 0x22,0x50,0x22,0x88,0x23,0x0E,0x22,0x04, /*-- 文字: 晶 代码“0x01”*/

0x00,0x00,0x0F,0xF0,0x08,0x10,0x0F,0xF0, 0x08,0x10,0x0F,0xF0,0x08,0x10,0x00,0x00, 0x7E,0x7E,0x42,0x42,0x7E,0x7E,0x42,0x42, 0x42,0x42,0x7E,0x7E,0x42,0x42,0x00,0x00, /*-- 文字: 显 代码“0x02”*/

0x00,0x00,0x1F,0xF0,0x10,0x10,0x1F,0xF0, 0x10,0x10,0x1F,0xF0,0x04,0x40,0x04,0x40, 0x44,0x48,0x24,0x48,0x14,0x50,0x14,0x60, 0x04,0x40,0xFF,0xFE,0x00,0x00,0x00,0x00,

/*-- 文字: 示

代码“0x03”*/

0x00,0x00,0x1F,0xF8,0x00,0x00,0x00,0x00, 0x00,0x00,0x7F,0xFE,0x01,0x00,0x01,0x00, 0x11,0x20,0x11,0x10,0x21,0x08,0x41,0x0C, 0x81,0x04,0x01,0x00,0x05,0x00,0x02,0x00, };


相关文章:
液晶显示技术内置SED1335系列显示控制器的320240液晶显示模块的应用
液晶显示技术内置SED1335系列显示控制器的320240液晶显示模块的应用_信息与通信_工程科技_专业资料。液晶显示技术内置SED1335 系列显示控制器的 320240 液晶显示模块的...
320240液晶驱动 SED1335 控制器的液晶显示模块与单片机接口应用
320240液晶驱动 SED1335 控制器的液晶显示模块与单片机接口应用_电子/电路_工程科技...液晶显示技术内置SED133... 51页 4下载券 液晶显示控制器SED1335在... 3页...
320240液晶驱动 SED1335 控制器的液晶显示模块与单片机接口应用
320240 液晶驱动 SED1335 控制器的液晶显示模块与单片机接口应用 320240 液晶驱动 SED1335 控制器的液晶显示模块与单片机接口应用 1 引言 液晶显示(Liquid Crystal ...
SED1335液晶控制器
SED1335液晶控制器_计算机软件及应用_IT/计算机_专业...传输数据的组织功能及产生液晶显示模块所 需的时序。...横向320个点 #define AVAILABE_MAX_Y_SIZE 240 /...
1335驱动及线接法
公司的点阵型液晶显示模块 MSP-G320240DBC W 是一种内置 SED1335 控制器的大屏幕带背光液晶显示模块,SED1335 是日本 Seiko Epson 公司 生产的液晶显示控制器,是...
图形点阵式液晶显示器MSP
摘要:介绍了内置 sed1335 控制器的图形液晶显示器 msp-g320240 的工作原理及应用方法, 给出了 msp-g320240 液晶显示器同 dsp 的简单接口电路,同时给出了相应...
SED1335控制器图形液晶示模块2
SED1335液晶控制器与单片机的接口应用摘 要:本文介绍...与数据,并产生相应 的时序及数据控制液晶显示模块的...液晶显示技术内置SED133... 51页 3下载券 内置SED...
DSP2407控制320240大液晶显示的源程序
液晶显示技术内置SED133... 51页 4下载券 320240液晶驱动 SED1335... 8页 ...320240程序 9页 1下载券 DSP控制LCD320240 6页 免费 液晶模块使用说明书 29...
TMX320VC5402与pc液晶显示设计
pc 的串行通信及液晶显示系统的设计 设计技术参数 1...时序下液晶控制 与 的使用方法, 器 SED1335 的...之间的串行通信及与 at320240q1 液晶 显示模块的...
更多相关标签:
sed1335 | 液晶电表控制器 | 液晶拼接控制器 | 液晶控制器特点 | 家用液晶电表控制器 | 液晶屏控制器 | 智能液晶电表控制器 | 液晶电子表控制器 |