嵌入式 > 嵌入式开发 > 详情

AVR 单片机学习笔记–LCD1602模块

发布时间:2024-02-18 发布时间:
|
学完51单片机再来学AVR,感觉很容易上手,LCD1602在学51的时候学过,所以可以直接修改相关的IO口操作即可。现在顺便也复习一下。1602可以显示两行字符,每行可以显示16个字符,可惜的是不能显示中文,在我调试的时候它帮我不少的忙。

一、主要技术参数:

 

显示容量:16X2个字符(两行,每行16个字符)
模块工作电源:4.5~5.5V
模块工作电流: 2.0mA (5.0V)
模块最佳工作电源: 5.0V
字符尺寸:2.95X4.35(WXH)mm

二、IO引脚功能

LCD1602A模块引脚功能

编号

符号

引脚说明

编号

符号

引脚说明

1

VSS

电源地(模块供电)

9

D2

Data I/O

2

VDD

电源正极(模块供电)

10

D3

Data I/O

3

VL

接在滑动电阻可以调节对比度

11

D4

Data I/O

4

RS

数据/命令选择端 (H/L)

12

D5

Data I/O

5

R/W

读/写选择端 (H/L)

13

D6

Data I/O

6

E

使能信号(通知芯片读取数据)

14

D7

Data I/O

7

D0

Data I/O

15

BLA

模块背光灯正极

8

D1

Data I/O

16

BLK

模块背光灯负极

三、基本操作时序:

读状态:输入:RS=L、RW=H、E=H模块输出:状态字=D0~D7
写指令:输入:RS=L、RW=L、D0~D7=指令码、E=H模块输出:无
读数据:输入:RS=H、RW=H、E=H 模块输出:数据=D0~D7
写数据:输入:RS=H、RW=L、D0~D7=数据、E=H 模块输出:无

状态字说明(因为单片机的速度可能快过1602,所以需要判断当1602是否在忙,或者延时。)

STA7

STA6

STA5

STA4

STA3

STA2

STA1

STA0

D7

D6

D5

D4

D3

D2

D1

D0

STA0-6:当前数据地址指针的数值

STA7

主要用来检查1602模块的是否可以写入或读出操作

1:禁止0:允许

四、指令说明(这指令是用来设置1602显示的方式)

显示模式设置

指令码

功能

0

0

1

1

1

0

0

0

设置16X2显示,5X7点阵,8位数据接口

显示开/关及光标设置

指令码

功能

0

0

0

0

1

D

C

B

D=1 开显示D=0 关显示
C=1 显示光标C=0 不显示光标
B=1 光标闪烁B=0 光标不闪烁

0

0

0

0

0

1

N

S

N=1 当读或写一个字符后地址指针加1,且光
标加1(即从左往右显示)
N=0 当读或写一个字符后地址指针减1,且光
标减1(即从右往左显示)
S=1 当写一个字符,中国男排显示左移(N=1)

五、时序图


写操作(写指令、写数据)时序图


时序参数

写指令时序,RS拉低表示写指令,R/W拉低表示写操作,给DB0-DB7赋值指令数据并保持>40ns时间,将E拉高表示数据已经准备好保持>150ns让1602读取,将E拉低,并延时>10ns一次写操作完毕。

写数据时序,RS拉高表示写数据,R/W拉低表示写操作,给DB0-DB7赋值指令数据并保持>40ns时间,将E拉高表示数据已经准备好保持>150ns让1602读取,将E拉低,并延时>10ns一次写操作完毕。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
定时器CTC模式的测试