arduino1602使用教程:Arduino实战1602LCD显示屏驱动
arduino1602使用教程:Arduino实战1602LCD显示屏驱动引脚说明符号符号引脚说明标号
之前的文章中,我们曾经使用LED数码管显示我们想要的信息。但是数码管的显示内容有限,仅能显示数字、小部分字母和符号。如果我们想要显示更多的信息,比如数字和所有字母及标点符号,那我们就可以使用1602LCD显示屏。
1602LCD显示屏模块
1602LCD显示屏总共可以显示16*2个字符,分成上下两排。它显示稳定,价格便宜,适合显示各种项目中的传感器数据等相关信息,在电子项目中应用广泛。
模块介绍
编号 |
符号 |
引脚说明 |
标号 |
符号 |
引脚说明 |
1 |
VSS |
电源地 |
9 |
D2 |
数据 |
2 |
VDD |
电源正极 |
10 |
D3 |
数据 |
3 |
VL |
液晶显示偏压 |
11 |
D4 |
数据 |
4 |
RS |
数据/命令选择 |
12 |
D5 |
数据 |
5 |
R/W |
读/写选择 |
13 |
D6 |
数据 |
6 |
E |
使能信号 |
14 |
D7 |
数据 |
7 |
D0 |
数据 |
15 |
BLA |
背光源正极 |
8 |
D1 |
数据 |
16 |
BLK |
背光源负极 |
该模块共有16个引脚,从左到右的第一个引脚是VSS接地引脚。第二个引脚是VDD,我们将其连接到Arduino板上的5V引脚上。接下来是VL引脚,我们可以在其上连接一个电位计,用于控制显示器的对比度。
RS引脚或寄存器选择引脚,用于选择是否向LCD发送命令或数据。例如,如果RS引脚设置为低电平,则我们将向LCD发送命令,如:将光标设置到特定位置、清除显示器、关闭显示器等。当RS引脚设置为高电平时,我们向LCD发送数据或字符。
R/W引脚,用去切换模块是读取还是写入LCD的模式。写入模式很明显,就是向LCD写入或发送命令和数据。一般情况下LCD模块用不到读取模式。
E引脚为使能端,当E端由高电平跳成低电平是,液晶模块执行命令。
D0到D7是8为双向数据引脚。我们通过这个引脚发送8位数据。如果我们想在显示器上看一个大写字母A,我们可以根据ASCII表向寄存器发送0100 0001。
最后两个引脚BLA和BLK是背光源的正负极。
Arduino驱动实例其实我们并不需要过多地了解LCD模块的工作原理,因为Arduino自带的<LiquidCrystal.h>液晶库可以帮助我们轻松地搞定驱动程序的编写。
硬件设备:
- Arduino × 1
- 1602LCD显示屏模块 × 1
- 电源 × 1
- 杜邦线 × n
接线图:
从左往右,我们依次连接线路;Vss 接地 (GND);Vdd 电源 ( 5V); Vo或与Vee - 对比度调整(0-5V),可接一颗1K的电阻或接一个5K的电位器;RS接自定义管脚1;R/W接地;E接自定义管脚2;D0-D3悬空;D4-D7接自定义管脚4 5 6 7;BLA 接 5V;BLK接GND。
代码:
/*
* Arduino LCD
*/
#include <LiquidCrystal.h> // 导入液晶库
LiquidCrystal lcd(1 2 4 5 6 7); // 定义引脚 (rs enable d4 d5 d6 d7)
void setup()
{
lcd.begin(16 2); //设置LCD显示的数目。16 X 2:16格2行。
lcd.print("hello world!"); //将hello world!显示在LCD上
}
void loop()
{
lcd.setCursor(0 1); //将闪烁的光标设置到column 0 line 1 (注释:从0开始数起,line 0是显示第一行,line 1是第二行。)
lcd.print(millis()/1000); //开机后屏幕现实以秒几时的时间
}
Arduino使用LCD显示屏代码也是非常简单,最大的问题在于占用太多的引脚资源,所以这里建议增加一个IIC模块,可以节约一些引脚。