LCD1602液晶显示屏用51单片机怎么驱动?(详细笔记附设计源码)

LCD1602液晶显示

(一)LCD1602简介

        1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号的点阵型液晶模块。它是由若干个5x7或者5x10的点阵字符位组成,每个点阵字符位都可以用显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此,所以它不能很好的显示图片。

 (二)LCD1602液晶工作原理

 1、1602的引脚

 2、时序图

3、关于显示地址的注意(重点)

        在设置完成之后我们就要明白具体是在哪显示,在哪个位置显示?在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的, 无需人工干预。 每次输入指令前都要判断液晶模块是否处于忙的状态(其实也不判断,因为液晶模块的处理速度远大于单片机)。DDRAM就是显示数据RAM,用来寄存待显示的字符代码。共80个字节,其地址和屏幕的对应关系如下表:

        要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,例如第二行第一个字符的地址是 40H, 那么是否直接写入 40H 就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位D7恒定为高电平 1 所以实际写入的数据应该是: 01000000B(40H)+10000000B(80H)=11000000B(C0H)

在 LCD1602 中我们就用前 16 个就行了。第二行也一样用前 16 个地址。对应如下:

4、时序参数

 (三)LCD1602关键性的指令设置

 1、清屏指令

功能:

  • 清除液晶显示器,即将 DDRAM 的内容全部填入"空白"的 ASCII码 20H;
  • 光标归位,即将光标撤回液晶显示屏的左上方;
  • 将地址计数器(AC)的值设为 0。

 2.进入模式设置指令

 

功能:设定每次定入 1 位数据后光标的移位方向,并且设定每次写入的1个字符是否移动。

参数设定的情况如下所示:

      位名           设置

  • I/D         0=写入新数据后光标左移

                 1=写入新数据后光标右移
  • S           0=写入新数据后显示屏不移动

                 1=写入新数据后显示屏整体右移 1 个字符

 3.显示开关控制指令

 

功能:控制显示器开/关、光标显示/关闭以及光标是否闪烁。

参数设定的情况如下:

        位名                   设置

          D                        0=显示功能关      1=显示功能开

          C                        0=无光标             1=有光标

          B                        0=光标闪烁          1=光标不闪烁

4.功能设定指令 

功能:设定数据总线位数、显示的行数及字型。参数设定的情况如下:

        位名              设置

          DL             0=数据总线为 4 位     1=数据总线为 8 位

          N               0=显示 1 行                1=显示 2 行

          F               0=5×7 点阵/每字符     1=5×10 点阵/每字符

 

5. 操作步骤

(1)初始化              

8位的数据

  • 开启2行显示。(属于4.功能设定指令)
  • 开显示,有光标,且闪烁。(属于3.显示开关控制指令)
  • 写入1个数据光标右移,显示屏整体不动。(属于2.进入模式设置指令)
  • 清屏指令。(属于1.清屏指令)
  • 设置数据指针起点0x80 (详见第2章的"3.关于显示地址的注意")

4位的数据

  • 将8位总线转为4位总线。(属于4.功能设定指令)
  • 在4位总线下的初始化
  • 开启2行显示。(属于4.功能设定指令)
  • 开显示,有光标,且闪烁。(属于3.显示开关控制指令)
  • 写入1个数据光标右移,显示屏整体不动。(属于2.进入模式设置指令)
  • 清屏指令。(属于1.清屏指令)
  • 设置数据指针起点0x80(详见第2章的"3.关于显示地址的注意")

(2)写命令(RS=L)设置显示坐标

(3)写数据(RS=H)

 

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

内有小猪卖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值