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. Java设计模式六大原则-1

    Java设计模式六大原则-1 做Java程序开发的每天都在使用JDK,Spring,SpringMvc,Mybatis,Netty,MINA等框架,但很少有人懂得背后的原理.即使打开跟下原码也是一头雾 ...

  2. 竞赛题解 - Broken Tree(CF-758E)

    Broken Tree(CF-758E) - 竞赛题解 贪心复习~(好像暴露了什么算法--) 标签:贪心 / DFS / Codeforces 『题意』 给出一棵以1为根的树,每条边有两个值:p-强度 ...

  3. 【补】英语对IT工作者的重要性

    浅谈程序员的英语学习   作为在中国工作的程序员,不懂得英语似乎也不妨碍找到好工作,升职加薪.但程序员这个工种则稍有不同,因为程序,尤其是高级语言,基本上都是由英语和数字表达式构成的.英语对于程序员十 ...

  4. 多线程异步非阻塞之CompletionService

    引自:https://www.cnblogs.com/swiftma/p/6691235.html 上节,我们提到,在异步任务程序中,一种常见的场景是,主线程提交多个异步任务,然后希望有任务完成就处理 ...

  5. js中定时器使用方法经验总结

    前言,最近在做一个音频播放项目的时候,碰到播放时间精度的问题,捣鼓了几天,最终巧妙的运用定时器去降低了错误发生频率 正题,下面是对定时器的使用总结,如有错误之处,请读者加以纠正. 延迟执行(1次) s ...

  6. js加载等待效果

    demo01: 加载首页的时候,可能会很缓慢,放一张等待图片. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN ...

  7. Opportunity Helper

    using System; using Microsoft.Xrm.Sdk; using Microsoft.Crm.Sdk.Messages; public class OpportunityHel ...

  8. IO流之字符流

    字符流产生的原因: 1.每次只能够读取一个字节或者一个字节数组,每次在需要转换成字符或者字符串的时候不是很方便2.不同的操作系统针对换行符的处理不方便3.有的时候会出现中文乱码(中文占两个字节,如果针 ...

  9. Python学习手册之字符类和元字符深入

    在上一篇文章中,我们介绍了 Python 的正则表达式和元字符,现在我们介绍 Python 的字符类和对元字符进行深入讲解.查看上一篇文章请点击:https://www.cnblogs.com/dus ...

  10. C语言学习记录_2019.02.04

    逻辑性变量的定义符:bool,在C语言中只有true和false: 定义方式:bool t = true; 逻辑运算符: !:逻辑非 &&:逻辑与 ||:逻辑或 表达区间的错误形式:4 ...