您的位置 首页 动态

单片机常用功能模块的运用 Part7. LCD 1602

1、基本常识:①、好像也写成LCM1602,个人感觉和LCD1602是一个东西,可能叫法不一样吧。②、LCD1602,本质上是一种字符型液晶…

1、根本常识:

①、如同也写成 LCM 1602,个人感觉和 LCD 1602 是一个东西,或许叫法不相同吧。

②、LCD 1602,本质上是一种“字符型液晶”,用来显现字母、数字、符号,根本不用来显现汉字。

③、由若干5x 7或许 5 x 11巨细的点阵字符位组成,字符与字符之间有一个点距的距离。

④、所谓的 LCD 1602,其实便是“显现内容为 16 x 2,每行 16 字符,显现 2 行”。

⑤、现在市面上“字符型液晶”绝大多数是根据 HD44780 液晶芯片的,操控原理完全相同,因而根据 HD44780 写的操控程序能够很方便地应用于市面上大部分的字符型液晶。

⑥、LCD 1602 姿态如下图:

2、LCD 1602 引脚界说:

3、LCD 1602 硬件衔接:

4、HD44780 的运用:

上面也说了,LCD 1602 中运用的是 HD44780 液晶芯片,也便是说,所谓的对 LCD 1602 编程,其实是把握 HD44780 指令集的进程,这儿为了谨慎,写作 HD44780 液晶芯片的运用。

(1)、DDRAM(显现数据存储 RAM)

DDRAM 用来存放要显现的字符,并在屏幕对应方位上显现。DDRAM 不是存放器,是类似于内存相同的东西,更详细来说是像缓存相同的东西,因而,DDRAM 是有一组地址的,其间,每一个地址对应屏幕上的一个方位。运用时,向某地址写入数据,就能在对应的屏幕方位上显现出来。其地址与屏幕的对应联系如下:

每行有 40 个地址,可是 LCD 1602 每行只要 16 个字符,因而,只需求运用 1-16 号地址即可,后边的或许是用来扩展运用的,比方忽然想用 HD44780 来制造 20 x 2 的 LCD 了等等,大约是为了便于扩展吧……

因而,关于 LCD 1602,运用如下对应联系:

(2)、CGROM(字符存储 ROM)

自带 160 个字符,存在 CGROM 中,字符与代码的对应如下:

例:在榜首行第三个字符方位,显现字符 A,榜首行第三个字符方位对应地址为 02H(查上表),字符 A 对应代码为 41H(查下表),将对应代码放入对应地址就能在 LCD 上显现。(详细用法拜见 5.(8),有需求留意的当地)

注:上图 ROM 型号为 A00,如同还有个 ROM A02,似乎是另一品种的 CGROM,存的东西不太相同:

(3)、CGRAM(自界说字符存储 RAM)

存储自界说字符,详细没用过,等用过了再更新……

5、HD44780 指令集:

根本操作:

读状况  输入:RS=0,RW=1,E=1
     输出:DB0~DB7=状况字
写指令  输入:RS=0,RW=0,E=下降沿脉冲,DB0~DB7=指令码
     输出:无
读数据  输入:RS=1,RW=1,E=1
     输出:DB0~DB7=数据
写数据  输入:RS=1,RW=0,E=下降沿脉冲,DB0~DB7=数据
     输出:无

(1)、清屏:

功用:<1> 铲除液晶显现器,将 DDRAM 的内容悉数填入“空白”的字符码 20H;
   <2> 光标归位,行将光标撤回液晶显现屏的左上方;
   <3> 将地址计数器 (AC) 的值设为 0。

(2)、光标归位:

功用:<1> 把光标撤回到显现器的左上方;
   <2> 把地址计数器 (AC) 的值设置为 0;
   <3> 坚持 DDRAM 的内容不变。

(3)、输入形式设置指令:

功用:设定每次写入 1 位数据后光标的移位方向,而且设定每次写入的一个字符是否移动。
   I/D0=写入新数据后光标左移 1=写入新数据后光标右移
   S0=写入新数据后显现屏不移动 1=写入新数据后显现屏全体右移 1 个字

(4)、显现开关操控指令:

功用:操控 显现器开/关、光标显现/封闭 以及 光标是否闪耀。
   D0=显现功用关 1=显现功用开
   C 0=无光标1=有光标
   B0=光标不闪耀1=光标闪耀

(5)、设定显现屏或光标移动方向指令:

功用:使光标移位或使整个显现屏幕移位。
   S/CR/L
    0 0光标左移 1 格,且 AC 值减 1
    01光标右移 1 格,且 AC 值加 1
    10显现器上字符悉数左移一格,但光标不动
    1 1显现器上字符悉数右移一格,但光标不动

(6)、功用设定指令:(重要)

功用:设定数据总线位数、显现的行数及字型。
   DL0=数据总线为 4 位 1=数据总线为 8 位
   N0=显现 1 行 1=显现 2 行
   F0=5×7 点阵/每字符1=5×10 点阵/每字符

(7)、设定 CGRAM 地址指令:

功用:设定下一个要存入数据的 CGRAM 的地址。

(8)、设定 DDRAM 地址指令:

功用:设定下一个要存入数据的 CGRAM 的地址。(留意这儿咱们送地址的时分应该是 80H + Address,由于上面的 DB7=1)

(9)、读取忙信号或 AC 地址指令:

功用:<1> 读取忙信号 BF 的内容;
     BF=1 液晶显现器忙,暂时无法接纳单片机送来的数据或指令
     BF=0 液晶显现器能够接纳单片机送来的数据或指令
   <2> 读取地址计数器 (AC) 的内容。

(10)、数据写入 DDRAM 或 CGRAM 指令:

功用:<1> 将字符码写入 DDRAM,以使液晶显现屏显现出相对应的字符;
   <2> 将用户自己规划的图形存入 CGRAM。

(11)、从 DDRAM 或 CGRAM 读取数据指令:

功用:读取 DDRAM 或 CGRAM 中的内容。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/dongtai/268193.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部