2024年5月24日发(作者:针绮琴)
3.4.1 LCD显示模块
LCD显示器分为字段显示和字符显示两种。其中字段显示与LED显示相似,只要送对应的
信号到相应的管脚就能显示。字符显示是根据需要显示基本字符。本设计采用的是字符型显
示。
系统中采用LCD1602作为显示器件输出信息。与传统的LED数码管显示器件相比,液晶显
示模块具有体积小、功耗低、显示内容丰富等优点,而且不需要外加驱动电路,现在液晶显
示模块已经是单片机应用设计中最常用的显示器件了。LCD1602可以显示2行16个汉字。
3.4.2 LCD1602的引脚功能
LCD1602模块的引脚如图3-8所示,其引脚功能如下:
RS:数据和指令选择控制端,RS=0命令状态;RS=1数据
R/W:读写控制线,R/W=0写操作;R/W=1读操作
A:背光控制正电源 K:背光控制地
E:数据读写操作控制位,E线向LCD模块发送一个脉冲,LCD模块与单片机间将进行一
次数据交换
DB0~DB7:数据线,可以用8位连接,也可以只用高4位连接,节约单片机资源。
VDD:电源端 VEE:亮度控制端(1-5V) VSS:接地端
LCD 模 块
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
VSS VDD VO RS R/W E DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 A K
图3-8 LCD1602模块
3.4.3 LCD1602的显示操作
1.四种基本操作
LCD有四种基本操作,具体如表3-1所示。
表3-1 LCD与单片机之间有四种基本操作
RS
0
0
1
1
R/W
0
1
0
1
操作
写命令操作(初始化,光标定位等)
读状态操作(读忙标志位)
写数据操作(要显示内容)
读数据操作(可以把显示存储区中的数据反读出来)
(1)读状态字
执行读状态字操作,如表3-1满足RS=0,R/W=1。根据管脚功能,当为有效电平时,状态
命令字可从LCD模块传输到数据总线。同时可以保持一段时间,从而实现读状态字的功能。
读状态字流程如图3-9所示。
图3-9 读入状态字流程图
(2)命令字
表3-2所示为命令字,其主要介绍了指令名称、控制信号及控制代码。其指令名称是指要实
现的功能;控制代号是采用的十六进制的数值表示的。
1)清零操作是指输入某命令字后即能将整个屏幕显示的内容全部清除;
2)归home位:将光标送到初始位;其中的*号为任意,高低电平均可;
3)输入方式:设光标移动方向并指定整体显示,是否移动。I/D=0:减量方式,S=1:移位
方式,S=0:不移位;
4)显示状态:D指设置整体显示开关;C指设置光标显示开关;B指设置光标的字符闪耀;
5)光标画面滚动:R/L指右移或左移;S/C指移动总体或光标;
6)功能设置:DL接口数位,L指显示行数,F显示字型;如DL=1:8位=0,4位N=1:2
行=0:1行,G=1:5×10=0:5×7(点阵)
7)CGRAM地址设制:相当于一个数据库,可以在其中选择所需要的符号;
8)DDRAM地址设制:显示定位;
9)读BF和AC:B为最高位忙的标志,F为标志位;
10)写数据:将数据按要求写入到对应的单元;
11)读数据:读相应单元内的数据;
表3-2 命令字
控制信号
指令名称
清屏
归HOME位
输入方式设制
显示状态设制
无标画面滚动
功能设置
CGRAM地址设制
DDRAM地址设制
读BF和AC
写数据
RS
0
0
0
0
0
0
0
0
0
1
RW
0
0
0
0
0
0
0
0
1
0
控制代码
D7
0
0
0
0
0
0
0
1
BF
数 据
D6
0
0
0
0
0
0
1
A6
D5
0
0
0
0
0
1
A5
A5
D4
0
0
0
0
1
DL
A4
A4
D3
0
0
0
1
S/C
N
A3
A3
D2
0
0
1
D
RL
F
A2
A2
D1
0
1
I/D
C
*
*
A1
A1
D0
1
*
S
B
*
*
A0
A0
AC6 AC5 AC4 AC3 AC2 AC1 AC0
读数据 1 1 数 据
(3)写命令字
由表3-2可知当RS=0,R/W=0时,才可以通过单片机或用户指令把数据写到LCD模块,
此时就对LCD进行调制。可采用查询方式:先读入状态字,再判断忙标志位,最后写命令
字。图3-10所示为写命令字的流程图。
图3-10 写命令字流程图
1)定义光标位置
显示数据的某位,就是把显示数据写在相应的DDRAM地址中,DDRAM地址占7位。Set
DDRAM address命令如表3-3所示。光标定位,写入一个显示字符后,DDRAM地址会自
动加1或减1,加或减由输入方式设置。
表3-3 Set DDRAM address命令
RS
0
R/W
0
DB7
1
DB6
AC6
DB5
AC5
DB4
AC4
DB3
AC3
DB2
AC2
DB1
AC1
DB0
AC0
第1行DDRAM地址与第2行DDRAM地址并不连续,如表3-4所示。
表3-4 DDRAM地址
row 1 2
81H
3
82H
4
83H
5
84H
… 14
… 8dH
15
8eH
16
8fH line1 80H
line2 0c0H 0c1H 0c2H 0c3H 0c4H … 0cdH 0ceH 0cfH
2)LCD初始化
从通电开始延时,先经过判忙后再进行功能设置,过一段时间后可以设制显示状态(如设制
行、位或阵列)再经过延时清屏后才可以设置输入方式,具体实现过程如图3-11所示。
图3-11 LCD初始化流程图
2.LCD显示程序设计
LCD显示程序的设计一般先要确定LCD的初始化、光标定位、确定显示字符后,显示流程
如图3-12显示。
图3-12 LCD显示程序流程图
2024年5月24日发(作者:针绮琴)
3.4.1 LCD显示模块
LCD显示器分为字段显示和字符显示两种。其中字段显示与LED显示相似,只要送对应的
信号到相应的管脚就能显示。字符显示是根据需要显示基本字符。本设计采用的是字符型显
示。
系统中采用LCD1602作为显示器件输出信息。与传统的LED数码管显示器件相比,液晶显
示模块具有体积小、功耗低、显示内容丰富等优点,而且不需要外加驱动电路,现在液晶显
示模块已经是单片机应用设计中最常用的显示器件了。LCD1602可以显示2行16个汉字。
3.4.2 LCD1602的引脚功能
LCD1602模块的引脚如图3-8所示,其引脚功能如下:
RS:数据和指令选择控制端,RS=0命令状态;RS=1数据
R/W:读写控制线,R/W=0写操作;R/W=1读操作
A:背光控制正电源 K:背光控制地
E:数据读写操作控制位,E线向LCD模块发送一个脉冲,LCD模块与单片机间将进行一
次数据交换
DB0~DB7:数据线,可以用8位连接,也可以只用高4位连接,节约单片机资源。
VDD:电源端 VEE:亮度控制端(1-5V) VSS:接地端
LCD 模 块
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
VSS VDD VO RS R/W E DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 A K
图3-8 LCD1602模块
3.4.3 LCD1602的显示操作
1.四种基本操作
LCD有四种基本操作,具体如表3-1所示。
表3-1 LCD与单片机之间有四种基本操作
RS
0
0
1
1
R/W
0
1
0
1
操作
写命令操作(初始化,光标定位等)
读状态操作(读忙标志位)
写数据操作(要显示内容)
读数据操作(可以把显示存储区中的数据反读出来)
(1)读状态字
执行读状态字操作,如表3-1满足RS=0,R/W=1。根据管脚功能,当为有效电平时,状态
命令字可从LCD模块传输到数据总线。同时可以保持一段时间,从而实现读状态字的功能。
读状态字流程如图3-9所示。
图3-9 读入状态字流程图
(2)命令字
表3-2所示为命令字,其主要介绍了指令名称、控制信号及控制代码。其指令名称是指要实
现的功能;控制代号是采用的十六进制的数值表示的。
1)清零操作是指输入某命令字后即能将整个屏幕显示的内容全部清除;
2)归home位:将光标送到初始位;其中的*号为任意,高低电平均可;
3)输入方式:设光标移动方向并指定整体显示,是否移动。I/D=0:减量方式,S=1:移位
方式,S=0:不移位;
4)显示状态:D指设置整体显示开关;C指设置光标显示开关;B指设置光标的字符闪耀;
5)光标画面滚动:R/L指右移或左移;S/C指移动总体或光标;
6)功能设置:DL接口数位,L指显示行数,F显示字型;如DL=1:8位=0,4位N=1:2
行=0:1行,G=1:5×10=0:5×7(点阵)
7)CGRAM地址设制:相当于一个数据库,可以在其中选择所需要的符号;
8)DDRAM地址设制:显示定位;
9)读BF和AC:B为最高位忙的标志,F为标志位;
10)写数据:将数据按要求写入到对应的单元;
11)读数据:读相应单元内的数据;
表3-2 命令字
控制信号
指令名称
清屏
归HOME位
输入方式设制
显示状态设制
无标画面滚动
功能设置
CGRAM地址设制
DDRAM地址设制
读BF和AC
写数据
RS
0
0
0
0
0
0
0
0
0
1
RW
0
0
0
0
0
0
0
0
1
0
控制代码
D7
0
0
0
0
0
0
0
1
BF
数 据
D6
0
0
0
0
0
0
1
A6
D5
0
0
0
0
0
1
A5
A5
D4
0
0
0
0
1
DL
A4
A4
D3
0
0
0
1
S/C
N
A3
A3
D2
0
0
1
D
RL
F
A2
A2
D1
0
1
I/D
C
*
*
A1
A1
D0
1
*
S
B
*
*
A0
A0
AC6 AC5 AC4 AC3 AC2 AC1 AC0
读数据 1 1 数 据
(3)写命令字
由表3-2可知当RS=0,R/W=0时,才可以通过单片机或用户指令把数据写到LCD模块,
此时就对LCD进行调制。可采用查询方式:先读入状态字,再判断忙标志位,最后写命令
字。图3-10所示为写命令字的流程图。
图3-10 写命令字流程图
1)定义光标位置
显示数据的某位,就是把显示数据写在相应的DDRAM地址中,DDRAM地址占7位。Set
DDRAM address命令如表3-3所示。光标定位,写入一个显示字符后,DDRAM地址会自
动加1或减1,加或减由输入方式设置。
表3-3 Set DDRAM address命令
RS
0
R/W
0
DB7
1
DB6
AC6
DB5
AC5
DB4
AC4
DB3
AC3
DB2
AC2
DB1
AC1
DB0
AC0
第1行DDRAM地址与第2行DDRAM地址并不连续,如表3-4所示。
表3-4 DDRAM地址
row 1 2
81H
3
82H
4
83H
5
84H
… 14
… 8dH
15
8eH
16
8fH line1 80H
line2 0c0H 0c1H 0c2H 0c3H 0c4H … 0cdH 0ceH 0cfH
2)LCD初始化
从通电开始延时,先经过判忙后再进行功能设置,过一段时间后可以设制显示状态(如设制
行、位或阵列)再经过延时清屏后才可以设置输入方式,具体实现过程如图3-11所示。
图3-11 LCD初始化流程图
2.LCD显示程序设计
LCD显示程序的设计一般先要确定LCD的初始化、光标定位、确定显示字符后,显示流程
如图3-12显示。
图3-12 LCD显示程序流程图