之所以命名为16×2 LCD,是因为;它有16列和2行。有很多可用的组合,例如8×1、8×2、10×2、16×1等。但是最常用的是16 * 2 LCD,因此我们在这里使用它。
上面提到的所有LCD显示屏都将具有16针,编程方法也相同,因此选择权留给您。以下是16x2 LCD模块的引脚和引脚说明:
序号 |
销号 |
引脚名称 |
引脚类型 |
引脚说明 |
引脚连接 |
1个 |
引脚1 |
地面 |
源极引脚 |
这是LCD的接地引脚 |
连接到MCU /电源的接地 |
2 |
销2 |
VCC |
源极引脚 |
这是LCD的电源电压引脚 |
连接到电源的电源引脚 |
3 |
销3 |
V0 / VEE |
控制销 |
调整液晶显示屏的对比度。 |
连接到可以提供0-5V电源的可变POT |
4 |
销4 |
注册选择 |
控制销 |
在命令/数据寄存器之间切换 |
连接到MCU引脚并获得0或1。 0->命令模式 1->数据模式 |
5 |
销5 |
读/写 |
控制销 |
在读/写操作之间切换LCD |
连接到MCU引脚并获得0或1。 0->写操作 1->读取操作 |
6 |
销6 |
启用 |
控制销 |
必须保持高电平才能执行读/写操作 |
连接到MCU并始终保持高电平。 |
7 |
销7-14 |
数据位(0-7) |
数据/命令引脚 |
用于将命令或数据发送到LCD的引脚。 |
在4线模式下 MCU仅连接了4个引脚(0-3) 在8线模式下 全部8针(0-7)连接到MCU |
8 |
销15 |
LED正极 |
LED脚 |
正常的LED状操作可照亮LCD |
连接到+ 5V |
9 |
销16 |
LED负极 |
LED脚 |
正常的LED状的操作会点亮连接到GND的LCD。 |
接地 |
如果您不了解所有引脚的功能也可以,下面将详细解释。现在,让我们回头看一下LCD:
这些黑圈由接口IC及其相关组件组成,可帮助我们将此LCD与MCU配合使用。因为我们的LCD是16 * 2点矩阵LCD,所以它将总共有(16 * 2 = 32)32个字符,每个字符将由5 * 8像素点组成。下图显示了启用了所有像素的单个字符。
所以现在,我们知道每个字符都有(5 * 8 = 40)40个像素,对于32个字符,我们将有(32 * 40)1280个像素。此外,还应该指示LCD有关像素的位置。
在MCU的帮助下处理所有事情将是一项繁重的任务,因此使用了HD44780等接口IC,该接口IC安装在LCD模块本身上。该IC的功能是从MCU获取命令和数据,并对它们进行处理,以在我们的LCD屏幕上显示有意义的信息。
让我们讨论必须由控制引脚控制的LCD中可用的不同类型的模式和选项。
LCD的4位和8位模式
LCD可以在两种不同的模式下工作,即4位模式和8位模式。在4位模式下,我们先将数据半字节发送,首先是高半字节,然后是低半字节。对于那些不知道什么是半字节的人:半字节是一组四位,因此字节的低四位(D0-D3)形成低四位,而高四位(D4-D7)字节的形式从较高的半字节开始。这使我们能够发送8位数据。
而在8位模式下,由于我们使用了所有8条数据线,因此可以一键直接发送8位数据。
现在您一定已经猜到了,是的,8位模式比4位模式更快,更完美。但是主要缺点是它需要8条数据线连接到微控制器。这将使我们用完MCU的I / O引脚,因此广泛使用4位模式。没有控制引脚用于设置这些模式。这只是编程方式的变化。
LCD的读写模式:
如上所述,LCD本身包含一个接口IC。MCU可以对该接口IC进行读取或写入。在大多数情况下,我们只会写IC,因为阅读会使它变得更加复杂,而且这种情况很少见。如果需要,可以读取诸如光标位置,状态完成中断等信息,但这不在本教程的讨论范围之内。
大多数LCD中使用的接口IC是HD44780U,为了对我们的LCD进行编程,我们应该学习IC的完整数据表。数据表在这里给出。
LCD命令:
LCD中有一些预设命令指令,我们需要通过一些微控制器将这些指令发送到LCD。以下是一些重要的命令说明:
十六进制代码 |
LCD指令寄存器命令 |
0楼 |
LCD亮,光标亮 |
01 |
清除显示画面 |
02 |
回家 |
04 |
减少光标(向左移动光标) |
06 |
增量光标(向右移动光标) |
05 |
右移显示 |
07 |
左移显示 |
0E |
显示开,光标闪烁 |
80 |
强制光标到第一行的开头 |
C0 |
强制光标移至第二行的开头 |
38 |
2行和5×7矩阵 |
83 |
光标线1位置3 |
3C |
激活第二行 |
08 |
显示关闭,光标关闭 |
C1 |
跳至第二行,位置1 |
超频 |
显示开启,光标关闭 |
C1 |
跳至第二行,位置1 |
C2 |
跳至第二行,位置2 |
查看我们的LCD接口文章与不同的微控制器:
- LCD与8051单片机的接口
- LCD与ATmega32单片机的接口
- 与PIC单片机的LCD接口
- 将16x2 LCD与Arduino接口
- 使用Python与Raspberry Pi进行16x2 LCD接口