当前位置:
文档之家› 12864点阵型液晶显示屏的基本原理与使用方法(很详细)
12864点阵型液晶显示屏的基本原理与使用方法(很详细)
0
0
1
1
1
0
0
1
1
X
X
X
0
0
1
0
1
1
1
0
0
0
1
X
X
X
1
0 BUSY 0 ON/OFF RST 0
0
1
写数据
1
1
读数据
DB2 1 X X X 0
DB1 1 X X X 0
DB0 1/0
X X X 0
表 2:12864LCD 指令表
各功能指令分别介绍如下。
显示开/关指令
R/WRS 00
DB7 DB6 DB5 DB4 DB3DB2DB1 DB0 00111111/0
设置了页地址和列地址,就唯一确定了显示 RAM 中的一个单元,这样 MPU 就可以
用读、写指令读出该单元中的内容或向该单元写进一个字节数据。
5、读状态指令
R/WRS 10
DB7 DB6 DB5 DB4 DB3DB2DB1 DB0 BUSY0ON/OFFREST0000
该指令用来查询液晶显示模块内部控制器的状态,各参量含义如下:
图 2 “你”字模图
12864 点阵型 LCD 简介
12864 是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及 128×64 全点阵液晶显示器组成。 可完成图形显示,也可以显示 8×4 个(16×16 点阵)汉字。
管脚号 1 2 3 4
管脚名称 VSS VDD V0
D/I(RS)
LEVER 0
12864LCD 的指令系统及时序
该类液晶显示模块(即 KS0108B 及其兼容控制驱动器)的指令系统比较简单,总共只有七种。其指 令表如表 2 所示:
指令名称
显示开关 显示起始行设置 页设置 列地址设置 读状态 写数据 读数据
控制信号
控制代码
R/W RS DB7 DB6 DB5 DB4 DB3
0
0
那么,得到了汉字的内码后,还仅是一组数字,那又如何在屏幕上去显示呢?这就涉及到文字的字模, 字模虽然也是一组数字,但它的意义却与数字的意义有了根本的变化,它是用数字的各位信息来记载英文 或汉字的形状,如英文的'A'在字模的记载方式如图 1 所示:
图 1 “A”字模图 而中文的“你”在字模中的记载却如图 2 所示:
在“取模方式”中选择“C51 格式”就可以在“点阵生成区”得到你要的汉字“欢”的显示代码。
经过以上步骤后一个汉字就取模成功了,在程序中只要调用这段代码就可显示出汉字“欢”了,其它汉 字也用同样的方法。取完要显示的全部汉字代码后我们就可以编程了。
图 6 软件流程图 软件代码
在编写软件代码之前必须要先掌握汉字取模的方法。要得到上表中的文字,我们可以借助取模软件来 完成。目前点阵 LCD 的取模软件有很多,我们以本开发板配套的取模软件为例来介绍一下汉字的取模方法。
打开取模软件出现如下显示界面:
在文字输入区中输入文字,我们以输入一个欢迎的“欢”字为例,了解其取模过程。在文字输入区中输 入“欢”后按 CTRL+ENTER 组合键后就看到“欢”字已经在模拟显示区显示出来了
7.Z 地址计数器
Z 地址计数器是一个 6 位计数器,此计数器具备循环记数功能,它是用于显示行扫描同步。当一行扫 描完成,此地址计数器自动加 1,指向下一行扫描数据,RST 复位后 Z 地址计数器为 0。
Z 地址计数器可以用指令 DISPLAY START LINE 预置。因此,显示屏幕的起始行就由此指令控制, 即 DDRAM 的数据从哪一行开始显示在屏幕的第一行。此模块的 DDRAM 共 64 行,屏幕可以循环滚动显 示 64 行。
H/L R/W=“L”,E 信号下降沿锁存 DB7∽DB0
R/W=“H”,E=“H”DDRAM 数据读到 DB7∽DB0
7
DB0
H/L 数据线
8
DB1
H/L 数据线
9
DB2
H/L 数据线
ቤተ መጻሕፍቲ ባይዱ10
DB3
H/L 数据线
11
DB4
H/L 数据线
12
DB5
H/L 数据线
13
DB6
H/L 数据线
14
DB7
H/L 数据线
15
CS1
H/L H:选择芯片(右半屏)信号
16
CS2
H/L H:选择芯片(左半屏)信号
17
RET
H/L 复位信号,低电平复位
18
VOUT
-10V LCD 驱动负电压
19
LED+
-
LED 背光板电源
20
LED-
-
LED 背光板电源
表 1:12864LCD 的引脚说明
在使用 12864LCD 前先必须了解以下功能器件才能进行编程。12864 内部功能器件及相关功能如下:
3、页(PAGE)设置指令
R/WRS 00
DB7 DB6 DB5 DB4 DB3DB2DB1 DB0 10111 页号(0~7)
显示 RAM 共 64 行,分 8 页,每页 8 行。
4、列地址(Y Address)设置指令
R/WRS 00
DB7 DB6 DB5 DB4 DB3DB2DB1 DB0 01 显示列地址(0~63)
当 DB0=1 时,LCD 显示 RAM 中的内容;DB0=0 时,关闭显示。
2、显示起始行(ROW)设置指令
R/WRS 00
DB7 DB6 DB5 DB4 DB3DB2DB1 DB0 11 显示起始行(0~63)
该指令设置了对应液晶屏最上一行的显示 RAM 的行号,有规律地改变显示起始行,可以使 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)。
R/WRS 01
DB7 DB6 DB5 DB4 DB3DB2DB1 DB0 写数据
读数据指令
R/WRS 11
DB7 DB6 DB5 DB4 DB3DB2DB1 DB0 读显示数据
读、写数据指令每执行完一次读、写操作,列地址就自动增一。必须注意的是,进行读操作之前,必 须有一次空读操作,紧接着再读才会读出所要读的单元中的数据。
X 地址计数器是没有记数功能的,只能用指令设置。
Y 地址计数器具有循环记数功能,各显示数据写入后,Y 地址自动加 1,Y 地址指针从 0 到 63。
6.显示数据 RAM(DDRAM)
DDRAM 是存储图形显示数据的。数据为 1 表示显示选择,数据为 0 表示显示非选择。DDRAM 与地
址和显示位置的关系见 DDRAM 地址表。
12864 点阵型 LCD 软硬件设计实例
通过以上学习,现在就来实际应用 12864LCD 的软硬件设计。本实例将在 LCD 上显示如图 3 所示内 容:
图 3 模拟显示效果图 在调试前先将显示切换开关切换到 LCD 显示状态。
硬件原理图
图 4 128*64LCD 实验演示图
程序流程图
图 5 硬件原理图
DDF 的状态是指令 DISPLAY ON/OFF 和 RST 信号控制的。
5.XY 地址计数器
XY 地址计数器是一个 9 位计数器。高 3 位是 X 地址计数器,低 6 位为 Y 地址计数器,XY 地址计数 器实际上是作为 DDRAM 的地址指针,X 地址计数器为 DDRAM 的页指针,Y 地址计数器为 DDRAM 的 Y 地址指针。
+5.0V -
H/L
管脚功能描述 电源地 电源电压 液晶显示器驱动电压 D/I=“H”,表示 DB7∽DB0 为显示数据
D/I=“L”,表示 DB7∽DB0 为显示指令数据
5
R/W
H/L R/W=“H”,E=“H”数据被读到 DB7∽DB0
R/W=“L”,E=“H→L”数据被写到 IR 或 DR
6
E
BUSY:1-内部在工作 0-正常状态
ON/OFF:1-显示关闭 0-显示打开
RESET:1-复位状态 0-正常状态
在 BUSY 和 RESET 状态时,除读状态指令外,其它指令均不对液晶显示模块产生作用。
在对液晶显示模块操作之前要查询 BUSY 状态,以确定是否可以对液晶显示模块进行操作。
6、写数据指令
12864 点阵型液晶显示屏的基本原理与使用方法(很详细)
点阵 LCD 的显示原理 在数字电路中,所有的数据都是以 0 和 1 保存的,对 LCD 控制器进行不同的数据操作,可以得到不
同的结果。对于显示英文操作,由于英文字母种类很少,只需要 8 位(一字节)即可。而对于中文,常用 却有 6000 以上,于是我们的 DOS 前辈想了一个办法,就是将 ASCII 表的高 128 个很少用到的数值以两 个为一组来表示汉字,即汉字的内码。而剩下的低 128 位则留给英文字符使用,即英文的内码。