世界播报:LCD简介及例程分析
4.1 LCD简介
4.1.1 LCD1602概述
(资料图)
上一部分的数码管虽然驱动方式简单,但是1位数码管只能显示1个数字,而且很难显示字母,为了解决这个问题,引入了LCD这个模块。
LCD( Liquid Crystal Display),在19世纪末,奥地利植物学家就发现了液晶,即液态的晶体,也就是说一种物质同时具备了液体的流动性和类似晶体的某种排列特性。在电场的作用下,液晶分子的排列会产生变化,从而影响到它的光学性质,这种现象叫做电光效应。利用液晶的电光效应,英国科学家在上世纪制造了第一块液晶显示器即LCD。
我们常用的LCD一般是LCD1602和LCD12864,其中LCD1602又被称为字符型液晶,因为LCD1602只能同时显示16×2个ASCII码(常见的0~9,A~Z,a~z,还有一些标点符号),而LCD12864则被称为点阵型液晶,两者的区别就是LCD1602不能显示中文,但是LCD12864由于内部结构的原因,是可以显示中文和图片的,两种模块的设置方式差不多,这里以LCD1602液晶为例来讲解使用的方式。
4.1.2 LCD1602引脚描述
| 引脚编号 | 英文缩写 | 描述 | 
| 1 | GND | 电源地 | 
| 2 | VCC | 电源正极,供电范围+3V~+5V | 
| 3 | VO | 对比度调节,电压越高对比度越低 | 
| 4 | RS | 数据/命令选择0:DB0~DB7上的电平是命令1:DB0~DB7上的电平是数据 | 
| 5 | RW | 读/写控制0:写入1:读取 | 
| 6 | EN | 数据使能端写入:下降沿有效读取:高电平有效 | 
| 7 | DB0 | 并行数据bit 0 | 
| 8 | DB1 | 并行数据bit 1 | 
| 9 | DB2 | 并行数据bit 2 | 
| 10 | DB3 | 并行数据bit 3 | 
| 11 | DB4 | 并行数据bit 4 | 
| 12 | DB5 | 并行数据bit 5 | 
| 13 | DB6 | 并行数据bit 6 | 
| 14 | DB7 | 并行数据bit 7 | 
| 15 | LED+ | 背光LED正极 | 
| 16 | LED- | 背光LED负极 | 
4.1.3 操作时序
(1)写操作时序
(2)读操作时序
4.1.4 LCD1602内部寄存器
(1)清屏寄存器
| RS | RW | DB7 | DB6 | DB5 | DB4 | DB3 | DB2 | DB1 | DB0 | 执行时间 | 
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1.64 ms | 
(2)显示控制寄存器
| RS | RW | DB7 | DB6 | DB5 | DB4 | DB3 | DB2 | DB1 | DB0 | 执行时间 | 
| 0 | 0 | 0 | 0 | 0 | 0 | 1 | D | C | B | 40 us | 
DB2:显示开关
0:关闭
1:开启
DB1:光标开关
0:关闭
1:显示
DB0:光标闪烁开关
0:不闪烁
1:闪烁
(3)功能设定寄存器
| RS | RW | DB7 | DB6 | DB5 | DB4 | DB3 | DB2 | DB1 | DB0 | 执行时间 | 
| 0 | 0 | 0 | 0 | 1 | DL | N | F | - | - | 40 us | 
DB4:数据总线宽度
0:4位
1:8位
DB3:显示行数
0:显示1行
1:显示2行
DB2:占用点阵尺寸
0:每个字符占用5×7的点阵
1:每个字符占用5×10的点阵
(4)模式设定寄存器
| RS | RW | DB7 | DB6 | DB5 | DB4 | DB3 | DB2 | DB1 | DB0 | 执行时间 | 
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | I/D | S | 40 us | 
DB1:光标移动方向
0:光标左移
1:光标右移
DB0:显示屏移动开关
0:写入数据后显示屏不移动
1:写入数据后显示屏整体右移
4.2 例程分析
4.2.1 原理图
4.2.2 源代码
注:LCD1602两行的地址分别是0x80和0xC0,液晶写入数据时必须先写地址,后写数据,89行里面的’A’代表写入A的ASCII码值。
互联网
                  
                  【环球速看料】2023年新农合还要涨?每人要交960元?再交钱还划算吗?答案出炉