首页 > 办事核心 > 澳门新濠天地讲堂 >

51单片机分析进修系统之 12864点阵型液晶显示篇

2016-10-11 13:39
分享到:
51单片机分析进修系统之 12864点阵型液晶显示篇 《电子制造》2008年2月 站长原创,如需引用请说明出处

    大师好,经由以前的进修,咱们曾经对51单片机分析进修系统的使用方式及进修编制有所领会与熟悉,学会了1602字符型液晶显示的根底学问,体味到了分析进修系统的易用性与易学性,这一期咱们将一路进修12864点阵型液晶显示屏的基来历根底理与使用方式。

点阵LCD的显示道理

    在数字电路中,所有的数据都是以0和1保留的,对LCD节制器进行不合的数据操作,能够获得不合的成果。对于显示英文操作,由于英文字母品种很少,只需要8位(一字节)即可。而对于中文,常用却有6000以上,于是咱们的DOS前辈想了一个法子,便是将ASCII表的高128个很罕用到的数值以两个为一组来暗示汉字,即汉字的内码。而剩下的低128位则留给英文字符使用,即英文的内码。

    那么,获患了汉字的内码后,又一次仅是一组数字,那又若安在屏幕上去显示呢?这就涉及到文字的字模,字模虽然也是一组数字,但它的意义却与数字的意义有了底子的变化,它是用数字的各位消息来记实英文或汉字的外形,如英文的'A'在字模的记实编制如图1所示:

图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及其兼容节制驱动器)的指令系统比力简单,总共只需七种。其指令表如表2所示:

指令名称

节制信号

节制代码

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所示内容:

 

 

图3 模仿显示成果图

 

    在调试前先将显示切换开关心换到LCD显示情况。

 

 

 

图4 128*64LCD测验考试演示图

 

硬件道理图

 

 

图5 硬件道理图

 

法式流程图

 

 

图6 软件流程图

软件代码

    在编写软件代码之前必需要先控制汉字取模的方式。要获得上表中的文字,咱们能够借助取模软件来完成。今朝点阵LCD的取模软件有良多,咱们以本斥地板配套的取模软件为例来引见一下汉字的取模方式。

    打开取模软件出现如下显示界面:

    在文字输入区中输入文字,咱们以输入一个欢迎的“欢”字为例,领会其取模过程。在文字输入区中输入“欢”后按CTRL+ENTER组合键后就看到“欢”字曾经在模仿显示区显示出来了

    在“取模编制”当选择“C51格局”就能够在“点阵生成区”获得你要的汉字“欢”的显示代码。

 

    颠末以上措施后一个汉字就取模成功了,在法式中只需调用这段代码就可显示出汉字“欢”了,其它汉字也用同样的方式。取完要显示的全数汉字代码后咱们就能够编程了。