用单片机控制字符型液晶显示模块.docx

上传人:b****6 文档编号:3796178 上传时间:2022-11-25 格式:DOCX 页数:14 大小:133.56KB
下载 相关 举报
用单片机控制字符型液晶显示模块.docx_第1页
第1页 / 共14页
用单片机控制字符型液晶显示模块.docx_第2页
第2页 / 共14页
用单片机控制字符型液晶显示模块.docx_第3页
第3页 / 共14页
用单片机控制字符型液晶显示模块.docx_第4页
第4页 / 共14页
用单片机控制字符型液晶显示模块.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

用单片机控制字符型液晶显示模块.docx

《用单片机控制字符型液晶显示模块.docx》由会员分享,可在线阅读,更多相关《用单片机控制字符型液晶显示模块.docx(14页珍藏版)》请在冰豆网上搜索。

用单片机控制字符型液晶显示模块.docx

用单片机控制字符型液晶显示模块

用单片机控制字符型液晶显示模块

液晶显示器以其微功耗、体积小、显示容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。

本文介绍字符型液晶模块HS162-4与单片机89C51的接口与编程方法。

HS162-4液晶模块是一种用5x7点阵图形来显示字符的液晶显示器,根据显示的容量可以分为1行16个字、2行16个字等。

下面以常用的2行16个字的显示方式介绍HS162-4液晶模块的使用方法。

HS162-4采用标准的16脚接口,

其中VSS为地电源,VDD接5V正电源,

V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“阴影”,使用时可以通过一个10K的电位器调整对比度。

RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

RW为读写信号线,高电平时进行读操作,低电平时进行写操作。

当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。

E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。

LEDA和LEDK为背光电源,LEDA接5V正电源,LEDK接GND。

D0~D7为8位双向数据线。

HS162-4液晶模块部的字符发生存储器(CGROM)已经存储了128个不同的点阵字符图形,如表1所示,这些字符有:

阿拉伯数字、英文字母的大小写和常用的符号等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”

表1CGROM中的字符代码与图形对应关系

高位低位

0000

0010

0011

0100

0101

0110

0111

0000

CGRAM

0

P

\

p

0001

1

A

Q

a

q

0010

2

B

R

b

r

0011

#

3

C

S

c

s

0100

$

4

D

T

d

t

0101

%

5

E

U

e

u

0110

&

6

F

V

f

v

0111

7

G

W

g

w

1000

8

H

X

h

x

1001

9

I

Y

i

y

1010

*

:

J

Z

j

z

1011

+

;

K

[

k

{

1100

<

L

¥

l

|

1101

-

=

M

]

m

}

1110

.

>

N

^

n

1111

/

?

O

_

o

HS162-4液晶模块部的控制器共有11条控制指令,如表2所示,

指令

指令码

说明

RS

R/W

D0

D1

D2

D3

D4

D5

D6

D7

清屏

0

0

0

0

0

0

0

0

0

1

清显示,光标回位

光标返回

0

0

0

0

0

0

0

0

1

*

ADD=0时,回原位

输入方式

0

0

0

0

0

0

0

1

I/D

S

决定是否移动以及移动方向

显示开关

0

0

0

0

0

0

1

D

C

B

D-显示,C-光标,B-光标闪烁

移位

0

0

0

0

0

1

S/C

R/L

*

*

移动光标及整体显示

功能设置

0

0

0

0

1

DL

N

F

*

*

DL-数据位数,L-行数,F-字体

CGRAM地址设置

0

0

0

1

A5A4A3A2A1A0

设置CGRAM的地址

DDRAM地址设置

0

0

1

A6A5A4A3A2A1A0

设置DDRAM的地址

忙标志/读地址计数器

0

1

BF

AC6AC5AC4AC3AC2C1AC0

读出忙标志位(BF)及AC值

CGRAM/DDRAM数据写

1

0

写数据

将容写入RAM中

CGRAM/DDRAM数据读

1

1

读数据

将容从RAM中读出

补充说明

I/D:

1-增量方式、0-减量方式

S:

1-位移

S/C:

1-显示移位、0-光标移位

R/L:

1-右移、0-左移

DL:

1-8位、0-4位

N:

1-2行、0-1行

F:

1-5X10字体、0-5X7字体

BF:

1-正在执行部操作、0-可接收指令

DDRAM:

显示数据RAM

CGRAM:

字符发生器RAM

ACG:

CGRAM地址

ADD:

DDRAM地址及光标地址

它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。

(说明:

1为高电平、0为低电平)

指令1:

清显示,指令码01H,光标复位到地址00H位置

指令2:

光标复位,光标返回到地址00H

指令3:

光标和显示模式设置

I/D:

光标移动方向,高电平右移,低电平左移

S:

屏幕上所有文字是否左移或者右移。

高电平表示有效,低电平则无效

指令4:

显示开关控制。

D:

控制整体显示的开与关,高电平表示开显示,低电平表示关显示

C:

控制光标的开与关,高电平表示有光标,低电平表示无光标

B:

控制光标是否闪烁,高电平闪烁,低电平不闪烁

指令5:

光标或显示移位S/C:

高电平时移动显示的文字,低电平时移动光标

指令6:

功能设置命令

DL:

高电平时为4位总线,低电平时为8位总线

N:

低电平时为单行显示,高电平时双行显示

F:

低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符

指令7:

字符发生器RAM地址设置

指令8:

DDRAM地址设置

指令9:

读忙信号和光标地址BF:

忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。

指令10:

写数据

指令11:

读数据

HS162-4液晶显示模块可以和单片机AT89C51直接接口,电路如图1所示。

P32

P33

P34

P10

P11

P12

P13

P14

P15

P16

P17

RS

RW

E

D0

D1

D2

D3

D4

D5

D6

D7

AT89C51

单片机

HS162-41

液晶模块

VDD

 

VO

 

VSS

VDD+5V

 

10K

电位器

 

VSSGND

液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。

要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,表3是HS162-4的部显示地址.

显示位置

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

第1行

80

81

82

83

84

85

86

87

88

89

8A

8B

8C

8D

8E

8F

第2行

C0

C1

C2

C3

C4

C5

C6

C7

C8

C9

CA

CB

CC

CD

CE

CF

即,第1行的显示地址应为:

80H+显示位置;第2行的显示地址应为:

C0H+显示位置。

以下是在液晶模块的第1行显示数字“0-9:

;<=>?

”,在第2行显示字符“A—P”的程序:

RSEQUP3.2

RWEQUP3.3

EEQUP3.4

DATEQU30H;命令单元

DAT1EQU31H;数据单元

AJMPSTART

ORG0030H

START:

MOVDAT,#01H;清屏

ACALLENABLE

MOVDAT,#38H;8位2行5x7点阵

ACALLENABLE

MOVDAT,#0FH;显示器开、光标开、闪烁开

ACALLENABLE

MOVDAT,#06H;文字不动,光标自动右移

ACALLENABLE

MOVR3,#2

MOVDAT,#080H;写入显示起始地址(第一行第一个位置)

ACALLENABLE

MOVDAT1,#30H;数字0的ASCII码

ACALLDSP0

MOVDAT,#0C0H;写入显示起始地址(第二行第一个位置)

ACALLENABLE

MOVDAT1,#61H;字母a的ASCII码

ACALLDSP0

SJMP$

DSP0:

MOVR2,#16

DSP1:

ACALLRDY

MOVP1,DAT1

SETBRS

CLRRW

CLRE

SETBE

INCDAT1

DJNZR2,DSP1

RET

ENABLE:

ACALLRDY;写入控制命令的子程序

MOVP1,#0FFH

CLRRS

CLRRW

MOVP1,DAT

CLRE

SETBE

RET

RDY:

MOVP1,#0FFH;判断液晶显示器是否忙的子程序

CLRRS

SETBRW

CLRE

SETBE

JBP1.7,RDY;如果P1.7为高电平表示忙就循环等待

RET

END

    程序在开始时对液晶模块功能进行了初始化设置,约定了显示格式。

注意显示字符时光标是自动右移的,无需人工干预,每次输入指令都先调用判断液晶模块是否忙的子程序RDY,然后输入显示位置的地址,最后输入要显示的字符的ASCII码。

液晶显示示例程序

RSEQUP3.2

RWEQUP3.3

EEQUP3.4

DATEQU30H

DAT1EQU31H

START:

MOVDAT,#01H;CLEAR

ACALLENABLE

MOVDAT,#38H;8bit2Rol5*7

ACALLENABLE

MOVDAT,#0FH;OPENLCD

ACALLENABLE

MOVDAT,#06H;LEFTTORIGHT

ACALLENABLE

MOVR3,#2

MOVDAT,#080H;FirstAddr

ACALLENABLE

MOVDAT1,#30H

ACALLDSP0

MOVDAT,#0C0H

ACALLENABLE

MOVDAT1,#61H

ACALLDSP0

HERE:

RET;SJMPHERE

DSP0:

MOVR2,#16

DSP1:

ACALLRDY

MOVP1,DAT1

SETBRS

CLRRW

nop

CLRE

nop

SETBE

INCDAT1

DJNZR2,DSP1

RET

ENABLE:

ACALLRDY

MOVP1,#0FFH

CLRRS

CLRRW

MOVP1,DAT

CLRE

nop

SETBE

RET

RDY:

MOVP1,#0FFH

CLRRS

SETBRW

CLRE

nop

SETBE

MOVR1,#0FH

DDT8:

MOVR0,#0FFH

DDT7:

DJNZR0,DDT7

DJNZR1,DDT8

RET

END

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1