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模块,可以节约一些引脚。




