欢迎访问杭州精显科技有限公司液晶显示屏网站! 设为首页 | 收藏本站| 网站地图
全国统一服务热线
19157671329


技术知识

您只需一个电话我们将推荐性价比高的液晶屏产品选型,让您花合理的价格,达到预期的效果

全国统一服务热线
19157671329

产品动态

联系我们

全国统一服务热线:

19157671329

客服QQ:3234659108

手机:19157671329

地址:浙江省杭州市西湖区文一西路830号蒋村商务中心B楼2-8007室

当前位置: 主页 > 资讯中心 > 技术知识 > >

12864LCD屏的基本原理以及使用方法

文章出处:原创 人气:发表时间:2017-07-31

点阵式LCD屏的显示原理
     在数字电路之中,所有的数据情况都是以0和1来保存的,对于LCD控制器进行不同的数据操作,可以得到一些不同的结果。对于显示英文的操作,由于英文字母的种类比较少,只需要8位(一字节)就可以了。而对于中文来说,常用的却有6000以上,于是我们的DOS前辈想了一个解决办法,就是将ASCII表的高128个很少用到的数值以两个为一组来表示出汉字,即:汉字的内码。而剩下的低128位的则留给英文字符来使用,即:英文的内码。

     那么,在得到了汉字的内码之后,还仅是一组数字而已,那又如何实现屏幕显示呢?那么这就涉及到了文字的字模,字模虽然说也是一组数字,但是它的意义却和数字的意义有了根本的变化,它是在用数字的各位信息来记载英文或者汉字的形状,比如英文的'A'在字模的记载方式如下图1所示:
A字模图
图1 “A”字模图

     而中文的“你”在字模之中的记载却如图2所示:
你字模图
图2 “你”字模图

12864点阵LCD屏简介
     12864是一种图形点阵液晶屏,它主要是由行驱动器/列驱动器以及128×64全点阵液晶屏所组成。它可以完成图形的显示,也可以显示出8×4个(16×16点阵)汉字。

管脚号 管脚名称 LEVER 管脚功能描述
1 VSS 0 电源地
2 VDD +5.0V 电源电压
3 V0 - 液晶显示器驱动电压
4 D/I(RS) 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 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的内部功能器件以及相关功能如下所示:
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地址表。
7.Z地址的计数器
     Z地址计数器实际是一个6位计数器,此计数器具备有循环记数的功能,它是用于显示行扫描同步的。当一行扫描完成后,此地址的计数器会自动加1,指向下一行扫描数据,RST复位后Z地址计数器为0。
     Z地址的计数器是可以用指令DISPLAY START LINE预置。因此,显示屏幕的起始行就是由此指令控制,即DDRAM的数据从哪一行开始显示在屏幕的第一行。此模块的DDRAM一共64行,屏幕可以循环滚动显示出64行。
 
12864LCD的指令系统以及时序
     该类的液晶显示模块(即:KS0108B及其兼容控制驱动器)的指令系统就比较简单,总共只有七种。其指令表如下表所示:
指令名称 控制信号 控制代码
R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
显示开关 0 0 0 0 1 1 1 1 1 1/0
显示起始行设置 0 0 1 1 X X X X X X
页设置 0 0 1 0 1 1 1 X X X
列地址设置 0 0 0 1 X X X X X X
读状态 1 0 BUSY 0 ON/OFF RST 0 0 0 0
写数据 0 1 写数据
读数据 1 1 读数据
表2:12864LCD屏的指令表
各功能指令分别介绍如下。
· 显示开/关指令
R/WRS DB7 DB6 DB5 DB4 DB3DB2DB1 DB0
00 00111111/0
当DB0=1时,LCD显示RAM中的内容;DB0=0时,则关闭显示。
2、显示起始行(ROW)设置指令
R/WRS DB7 DB6 DB5 DB4 DB3DB2DB1 DB0
00 11显示起始行(0~63)
该指令设置了对应液晶屏最上一行的显示RAM的行号,有规律地改变显示起始行,可以使得LCD实现显示滚屏的效果。
3、页(PAGE)设置指令
R/WRS DB7 DB6 DB5 DB4 DB3DB2DB1 DB0
00 10111页号(0~7)
显示RAM共64行,分为8页,每页8行。
4、列地址(Y Address)设置指令
R/WRS DB7 DB6 DB5 DB4 DB3DB2DB1 DB0
00 01显示列地址(0~63)
设置了页地址以及列地址,就唯一确定了显示RAM中的一个单元,这样MPU就可以用读、写指令来读出该单元中的内容或者向该单元写进一个字节数据。
5、读状态指令
R/WRS DB7 DB6 DB5 DB4 DB3DB2DB1 DB0
10 BUSY0ON/OFFREST0000
该指令是用来查询液晶模块内部控制器的状态,各参量含义如下所示:
BUSY:1-内部正在工作0-正常状态
ON/OFF:1-显示关闭0-显示打开
RESET:1-复位的状态0-正常的状态
在BUSY和RESET的状态时,除了读状态指令外,其它指令均不会对液晶显示模块产生作用。
在对液晶显示模块操作之前需要查询BUSY状态,以确定是否可以对液晶显示模块来进行操作。
6、写数据指令
R/WRS DB7 DB6 DB5 DB4 DB3DB2DB1 DB0
01 写数据
· 读数据指令
R/WRS DB7 DB6 DB5 DB4 DB3DB2DB1 DB0
11 读显示数据
     读、写数据指令每每执行完一次读、写操作,列地址就会自动增一。必须要注意的是,进行读操作之前,必须要有一次空读操作,紧接着再读才会读出所要读的单元中的数据。
12864点阵LCD屏软硬件设计实例
     通过以上的学习,现在就来实际应用12864LCD屏的软硬件设计。本实例将会在LCD上显示如图3所示内容:
LCD显示状态
图3 模拟显示的效果图
     在调试之前先将显示切换开关切换到LCD显示状态。
12864LCD屏
点阵LCD屏
图4 128*64LCD实验演示图
硬件的原理图
硬件原理图
图5 硬件原理图
程序流程图
软件流程
图6 软件流程图
软件代码
     在编写软件代码之前必须要先掌握到汉字取模的方法。要得到上表之中的文字,我们可以借助取模软件来完成。目前点阵LCD的取模软件有很多,我们就以本开发板配套的取模软件为例来介绍一下汉字的取模方法。
     打开取模软件,会出现如下的显示界面:
12864LCD屏
     在文字输入区之中输入文字,我们以输入一个欢迎的“欢”字为例,了解其取模的过程。在文字输入区中输入“欢”后按CTRL+ENTER组合键后就看到“欢”字已经在模拟显示区中显示出来了
点阵LCD屏
     在“取模方式”之中选择“C51格式”就可以在“点阵生成区”得到你想要的汉字“欢”的显示代码。
取模方式 显示代码
     经过以上步骤之后。一个汉字就取模成功了,在程序中只要调用这一段代码就可以显示出汉字“欢”了,其它汉字也可以用同样的方法。取完要显示的全部汉字代码后我们就可以开始编程了。
 



群创液晶屏 友达液晶屏 京东方液晶屏 京瓷液晶屏 龙腾液晶屏 天马液晶屏 奇美液晶屏 三菱液晶屏