单片机之1602液晶显示屏

来源:互联网 发布:淘宝上靠谱的泰国代购 编辑:程序博客网 时间:2024/05/01 04:55


RS: 数据/命令选择端(H/L).  RS=1时选择数据寄存器,RS=0时选择命令寄存器

R/W: 读写选择端(H/L)R/w=1为读操作,R/W=0为写操作

E: 使能信号.

DB0-DB7:8位双向数据线

1602时序图


写指令初始化程序

void writeCom(uchar com)
{
RS=0;
RW=0;
P0=com;
delay(5);
E=1;
delay(5);
E=0;
}

写数据初始化程序

void writeData(uchar date)
{
RS=1;
RW=0;
E=0;
P0=date;
delay(5);
E=1;
delay(5);
E=0;
}

1602模块的设定,读写,与光标控制都是通过指令来完成,共有11条指令,如下:

指令

RS

RW

D7

D6

D5

D4

D3

D2

D1

D0

1

清屏

0

0

0

0

0

0

0

0

0

1

2

光标返回

0

0

0

0

0

0

0

0

1

*

3

输入模式

0

0

0

0

0

0

0

1

I/D

S

4

显示控制

0

0

0

0

0

0

1

D

C

B

5

光标/字符移位

0

0

0

0

0

1

S/C

R/L

*

*

6

功能

0

0

0

0

1

DL

N

F

*

*

7

置字符发生器地址

0

0

0

1

字符发生存贮器地址

8

置数据存贮器地址

0

0

1

显示数据存贮器地址

9

读忙标志和地址

0

1

BF

计数器地址

10

写数据到指令7.8所设地址

1

0

要写的数据

11

从指令7.8所设的地址读数据

1

1

读出的数据


指令1:清显示,光标复位到地址00H位置。

指令2:光标复位,光标返回到地址00H。

指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移,S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。

指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。

指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。R/L,高向左,低向右。

指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电
平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。(有些模块是 DL:高电平时为8位总线,低电平时为4位总线)

指令7:字符发生器RAM地址设置,地址:字符地址*8+字符行数。(将一个字符分成5*8点阵,一次写入一行,8行就组成一个字符)

指令8:置显示地址,第一行为:00H——0FH,第二行为:40H——4FH。

指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。

指令10:写数据。

指令11:读数据。


原创粉丝点击