LCD1602是一款简易的液晶显示屏,可以显示16X2的 字符,包括符号,数字,英文,但不包含中文。
本例程使用的是简易接线的方法,占用d4, d5, d6, d7 ,IO口比较少(看着效果图,已经是风中凌乱了),往后再继续更新其他接线方法
1602采用标准的16脚接口,其中:
引脚 |
符号 |
功能说明 |
1 |
VSS |
电源地,一般接地 |
2 |
VDD |
接电源(+5V) |
3 |
V0 |
液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。 |
4 |
RS |
RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。 |
5 |
R/W |
R/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。 |
6 |
E |
E(或EN)端为使能(enable)端, 写操作时,下降沿使能。 读操作时,E高电平有效 |
7 |
DB0 |
低4位三态、 双向数据总线 0位(最低位) |
8 |
DB1 |
低4位三态、 双向数据总线 1位 |
9 |
DB2 |
低4位三态、 双向数据总线 2位 |
10 |
DB3 |
低4位三态、 双向数据总线 3位 |
11 |
DB4 |
高4位三态、 双向数据总线 4位 |
12 |
DB5 |
高4位三态、 双向数据总线 5位 |
13 |
DB6 |
高4位三态、 双向数据总线 6位 |
14 |
DB7 |
高4位三态、 双向数据总线 7位(最高位)(也是busy flag) |
15 |
BLA |
背光电源正极 |
16 |
BLK |
背光 电源负极 |
Arduino Uno *1
LCD1602 液晶显示屏 *1
跳线 若干
电阻100Ω *1(其实不用电阻也可以,把V0引脚直接接GND)
程序已经写好
直接上传程序到Arduino uno主板上。
程序打包下载:https://u16460183.ctfile.com/fs/16460183-295242460
//LingShun Lab
#include
LiquidCrystal lcd(12,11,5,4,3,2); //构造一个LiquidCrystal的类成员。使用数字IO ,12,11,5,4,3,2
void setup()
{
lcd.begin(16,2); //初始化LCD1602
lcd.print("Welcome to use!"); //液晶显示Welcome to use!
delay(1000); //延时1000ms
lcd.clear(); //液晶清屏
}
void loop()
{
lcd.setCursor(0,0); //设置液晶开始显示的指针位置,0列0行,人类理解的第一行
lcd.print("Hello World!");
lcd.setCursor(0,1); //0列,1行,人类理解的第二行
lcd.print("for LingShun Lab");
delay(1000); //延时1000ms
lcd.setCursor(0,0);
lcd.print("Good Job! ");
delay(1000); //延时1000ms
}
创建一个LiquidCrystal的实例(构造函数).可使用4线或8线方式作为数据线(请注意,还需要指令线).若采用四线方式,将d0-d3悬空不连接.RW引脚可接地而不用接在Arduino的某个引脚上;如果这样接,省略在函数中的rw参数.
语法:
LiquidCrystal(rs, enable, d4, d5, d6, d7) //本例程使用的是这种
LiquidCrystal(rs, rw, enable, d4, d5, d6, d7)
LiquidCrystal(rs, enable, d0, d1, d2, d3, d4, d5, d6, d7)
LiquidCrystal(rs, rw, enable, d0, d1, d2, d3, d4, d5, d6, d7)
参数说明:
rs: rs连接的Arduino的引脚编号
rw: rw连接的Arduino的引脚编号
enable:enable连接的Arduino的引脚编号
d0, d1, d2, d3, d4, d5, d6, d7: 连接的Arduino的引脚编号