友情提示:380元/半年,儿童学编程,就上码丁实验室。
LCD1602液晶实验
产品介绍
1602 液晶可以显示2 行,每行显示16 个字符,每个字符的大小是5×7 点阵。可以通过8 位或者4 位总线通讯。应用广泛。引脚功能图:
1 |
VSS |
一般接地 |
2 |
VDD |
接电源(+5V) |
3 |
VO |
液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K 的电位器调整对比度)。 |
4 |
RS |
RS 为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。 |
5 |
R/W |
R/W 为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。 |
6 |
E |
E(或EN)端为使能(enable)端,下降沿使能。 |
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 |
背光电源负极 |
1602实物引脚图:
RS和R/W的真值表:
RS |
R/W |
操作说明 |
0 |
0 |
写入指令寄存器(清除屏等) |
0 |
1 |
读busy flag(DB7),以及读取位址计数器(DB0~DB6)值 |
1 |
0 |
写入数据寄存器(显示各字型等) |
1 |
1 |
从数据寄存器读取数据 |
1602 液晶模块内部的字符发生存储器(CGROM)已经存储了160 个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H 中的点阵字符图形显示出来,我们就能看到字母“A”。因为1602 识别的是ASCII 码,试验可以用ASCII 码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如’A’。以下是1602 的16 进制ASCII 码表:
读的时候,先读上面那行,再读左边那列,如:感叹号!的ASCII 为0×21,字母B的ASCII 为0×42(前面加0x 表示十六进制)。
显示地址:
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
00 |
01 |
02 |
03 |
04 |
05 |
06 |
07 |
08 |
09 |
0A |
0B |
0C |
0D |
0E |
0F |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
4A |
4B |
4C |
4D |
4E |
4F |
实验器件
■ LCD1602显示屏:1 个
■ 220欧的电阻:1 个
■ 10K旋钮电位器:1 个
■ 面包板:1 个
■ 多彩面包板实验跳绳:若干
实验连线
4位接线方式原理图
程序代码
● 米思齐代码
● Arduino代码
#include <LiquidCrystal.h>//调用库文件
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);//用到的的IO口
void setup() {
// 设置行列值
lcd.begin(16, 2);//16列,2行。1602 液晶可以显示2 行,每行显示16个字符。
// 打印字符串
lcd.print(“hello,YOUCHUANG!”);//可自行输入想要的显示
}
void loop() {
// 设置光标到第二行第一列
// (注意:1 表示第二行,从0 开始数):
lcd.setCursor(0, 1);
// 打印复位后的运行秒值
lcd.print(millis()/1000);
lcd.print(” Second”);
}
实验结论
上电后1602第一行显示“hello,YOUCHUANG!”,第二行显示一个计时显示,从上电开始计时,每过一秒加一。转动旋钮电位器,可以调整显示字符的亮度。
转自公众号:
29号造物吧