LCD1602指令集(11个)
 

 
1、清屏指令(clear display)   RS=0 ,R/w=0, 01H
功能:清除液晶显示器,即将DDRAM中的内容全部填入20H(空白字符)
          光标撤回显示屏左上方
          将地址计数器(AC)设为0,
          光标移动方向为从左向右,并且DDRAM的自增量为1(I/D=1).
 


2、光标归位指令(Return Home)RS=0 ,R/w=0, 0000_001X
功能:将地址计数器(AC)设为00H,
          DDRAM内容保持不变,光标移至左上脚


3、进入模式设置指令(Entry Mode Set)
功能: 设 定 每 次 定 入 1 位 数据 后 光 标 移 位 方 向 并且设 定 次 写 入 一 个 字符是 否移动 。
         I/D = 0  光标左移,DDRAM地址自增1     I/D = 1  光标右移,DDRAM地址自增1 (当从CGRAM中读取或写入数据时,CGRAM操作与DDRAM相同)
         SH = 0 且 DDRAM是读操作(CGRAM读或写),整个屏幕不移动
         SH = 1 且 DDRAM是写操作,整个屏幕移动,移动方向由I/D决定
 

 
 

4、显示开关控制(Display ON/OFF Control)
功能: D = 1 , 显示功能开   D = 0 , 显示功能关,但是DDRAM中的数据依然保留
           C = 1 , 有光标          C = 0 , 没有光标
           B = 1 , 光标闪烁       B = 0 , 光标不闪烁
 


5、设置显示屏或光标移动方向的指令
功能:整屏的移动或光标移动
S/C =0  R/L =0 光标左移 ,地址计数器减1(即显示内容和光标一起左移)
S/C =0  R/L =1 光标右移 ,地址计数器加1(即显示内容和光标一起右移)
S/C =1  R/L =0 显示内容左移 ,光标不移动
S/C =1  R/L =1 显示内容右移 ,光标不移动

    

 

6、功能设定指令
功能:设定数据总线位数、显示的行数及字形。
          DL=1 ,数据总线是8位    DL=0 ,数据总线是4位
          N =0  ,显示一行             N=1  ,显示两行
          F  =0 , 5*8 点阵/字符                   F=1 ,5*11点阵/字符
 

 

7、设定 CGRAM地址指令
功能:设定下一个要存入数据的CGRAM地址
         DB5DB4DB3为字符号,即将显示该字符用到的字符地址
         DB2DB1DB0为行号
补充理解:在芯片中内置了192个常用字符的字模,存于CGROM(character generate ROM)中,还有8个允许用户自定义字符(也就是可以显示八个中文字)的RAM,也就是CGRAM。具体描述为下图:
 
当输入的地址是41H时,显示字符A.
由上图可知:
我想将自定义的一个汉子或图形放在第六个CGRAM中,所以可以确定字符码就为101(字符码000-->111),
所以   DB5DB4DB3 = 101
因此CGRAM的地址设置为01101X'X'X
这是要输入字符5的过程(原理如下图所示)
                                     01101000    0x07
                                      01101001    0x10
                                      .................
                                      01101111    0x00
 
 

 

8、设置DDRAM地址
 

DDRAM的地址与显示屏对照关系(N=LOW)


9、读取忙信号或AC地址指令
    如果BF=1 忙碌,无法接收数据或指令
           BF=0可以接收数据、指令
          读取地址计数器的内容
 
 


10、向DDRAM或CGRAM写入数据
写指令    输 入 : RS=L , RW=L , E= 下 降沿脉冲 , DB0 ~ DB7= 指令 码  
写数据    输 入 : RS=H , RW=L , E= 下 降沿脉冲 , DB0 ~ DB7= 数据
 
 


11、从DDRAM或者CGRAM读数据
读状态   输 入 : RS=L , RW=H , E=H 输出: DB0 ~ DB7= 状态字
读数据   输 入 : RS=H , RW=H , E=H 输出: DB0 ~ DB7= 数据

LCD1602指令集解读的更多相关文章

  1. 透彻理解液晶显示模组LCD1602指令集与驱动编程(1)

    LCD1602可以说是大多数单片机工程师了解液晶显示的入门级模组,其显示原理与其它很多显示模组也是相似的,今天我们就来详细讨论一下它的指令集.所谓模组的指令集,本质上是该模组使用的控制芯片的指令集,本 ...

  2. Intel的AVX2指令集解读

    原文链接:http://blog.csdn.net/vbskj/article/details/38408213 在Intel Sandy Bridge微架构中,Intel引入了256位SIMD扩展A ...

  3. [FPGA]浅谈LCD1602字符型液晶显示器(Verilog)

    目录 概述 LCD1602 LCD1602是什么? LCD1602的管脚 RS_数据/命令选择 E_使能 D0-D7 LCD1602有个DDRAM LCD1602还有个CGROM 指令集 清屏 进入模 ...

  4. 51驱动LCD1602

    1602 采用标准的 16 脚接口,其中: 第 1 脚:VSS 为地电源 第 2 脚:VDD 接 5V 正电源 第 3 脚:V0 为液晶显示器对比度调整端,接正电源时对比度最弱,接地 电源时对比度最高 ...

  5. ARM_Instruction_Set_Encoding_hacking(ARM指令集编码格式解读)

    ARM指令集编码格式解读 说明: 1.本文参考的书籍<ARM Architecture Reference Manual ARMv7-A and ARMv7-R edition>中的Cha ...

  6. SDWebImage源码解读_之SDWebImageDecoder

    第四篇 前言 首先,我们要弄明白一个问题? 为什么要对UIImage进行解码呢?难道不能直接使用吗? 其实不解码也是可以使用的,假如说我们通过imageNamed:来加载image,系统默认会在主线程 ...

  7. Arduino下LCD1602综合探究(上)——1602的两种驱动方式,如何使LCD的控制编程变得更简单

    一.前言: LCD ( Liquid Crystal Display 的简称)液晶显示器,已经逐渐替代CRT成为主流的显示设备之一,因此也成为了单片机发烧友绕不过的话题之一:而LCD1602更是很多单 ...

  8. 自制单片机之四……LCD1602的驱动

    LCD1602已很普遍了,具体介绍我就不多说了,市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶.字 ...

  9. 树莓派的演奏音符3 -- LCD1602显示文章

    LCD1602它是低-cost输出装置.它具有体积小.简单的操作.低功耗优势.因此,在一些DIY 用它来输出关于产品的一些信息. 昨日在使用,尽管平局网上资源,但仍存在一些问题,确处理. 一.LCD1 ...

随机推荐

  1. 身份认证系统(三)什么是OAuth2

    本文准备用最简单的语言告诉大家什么是OAuth2 ,OAuth2是干什么的. 我们有一个资源服务器,资源服务器中有一系列的用户数据. 现在有一个应用想想要获取我们的用户数据. 那么最简单的方法就是我们 ...

  2. asp.net mvc5 step by step(二)——Data Annotations(data 注释)

       以下使用在Entity Framework Code First Entity Framework Code First 利用一种被称为约定(Conventions)优于配置(Configura ...

  3. python中 的继承

    1.Python的类可以继承多个类,Java和C#中则只能继承一个类. 2.Python的类如果继承了多个类,那么其寻找方法的方式有两种,分别是:深度优先和广度优先. 当类是经典类时,多继承情况下,会 ...

  4. JavaScript字符串的处理方法

    1.字符方法charAt()和charCodeAt();这两个方法都接收一个参数 var stringValue = "hello world"; stringValue.char ...

  5. 个人免签即时到账收款接口 bufpay.com 支持多账号收款

    有很多 bufpay 的用户反馈,单个手机收款有些时候不太方便,切换手机太麻烦:或者是营业额比较多,希望分摊到多个账号上面. 基于以上的问题,bufpay 开发了多手机收款的功能:每个收款的手机安装 ...

  6. ASP.NET Core获取微信订单数据

    前几天对接了一波微信的订单,分享出来 1.生成签名 根据微信要求把appid.商户号.随机数.和订单号还有商户平台的密钥拼接成一个字符串然后进行MD5加密 2.拼接请求XML 然后用拼接好的XML向微 ...

  7. python中mysql主从同步配置的方法

    1)安装mysql ubuntu中安装一台mysql了,docker安装另外一台mysql 获取mysql的镜像,主从同步尽量保证多台mysql的版本相同,我的ubuntu中存在的mysql是5.7. ...

  8. PHP通过curl向其它服务器发请求并返回数据

    在很多时候,我们都需要请求第三方的服务器来获取一些数据,比如token,比如百度的主动推送,那么我们的php如何实现向第三方服务器发请求呢?我们可以通过curl来实现 首先定义请求的url,然后创建h ...

  9. A64 I2S调试

    通过A64 的I2S总线与回音消除模块连接,在A64中需要使能并配置daudio功能. Daudio 为A64 的数字音频接口,可配置成i2s/pcm格式标准音频接口. 内核配置在lichee/lin ...

  10. java语言描述 用抽象类模拟咖啡机的工作

    import java.util.Scanner; class Test { public static void main(String[] args) { coffee per = new cof ...