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. [SharePoint]如何去掉欢迎导航的信息?

    在我们实际的开发过程中,经常会把SharePoint中的一些已有的feature去掉,如欢迎信息下面的“我的设置”,“对本页面进行个性化设置”.详细见下图: Figure 1  常见的欢迎信息的界面 ...

  2. angular1的复选框指令--checklistModel

    这个指令可以改变一组checkbox的model格式,提交的时候格式为[x,y,z,...] //复选框指令 .directive('checklistModel', ['$parse', '$com ...

  3. Servlet Struts2 SpringMVC 获取参数与导出数据 方法比较

    servlet中通过request.getParameter()从网页获取参数 通过request session servletContext几个域对象的setAttribute(String ,O ...

  4. python类的反射使用方法

    曾经,博主的房东养了只金毛叫奶茶,今天就拿它当议题好了. 博主写本文时正在被广州的蚊子围攻. #反射练习 class animal(object): def __init__(self,name,fo ...

  5. BZOJ2037: [Sdoi2008]Sue的小球(区间DP)

    Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 869  Solved: 483[Submit][Status][Discuss] Description ...

  6. linux下的学习之路下的小困难

    centos下源码安装python3wget --no-check-certificate https://www.python.org/ftp/python/3.6.2/Python-3.6.2.t ...

  7. axios和ajax,fetch的区别

    1,传统 Ajax 指的是 XMLHttpRequest(XHR), 最早出现的发送后端请求技术,隶属于原始js中,核心使用XMLHttpRequest对象,多个请求之间如果有先后关系的话,就会出现回 ...

  8. 关于windows下安装mysql数据库出现中文乱码的问题

    首先需要在自己安装的mysql路径下新建一个my.ini文件,如下: 然后在my.ini文件中输入一下内容,主要控制编码问题的为红框部分,如下: 为了方便大家使用,可以复制以下代码: [WinMySQ ...

  9. 我的Tmux学习笔记

    0. 修改指令前缀 // ~/.tmux.conf ubind C-b set -g prefix C-a 1. 新建会话 tmux tmux new -s session-name // 可以设置会 ...

  10. 常见IE8兼容性问题及解决

    1.css3媒体查询 IE8不支持媒体查询 解决:respond.js,在页面中所有css文件的引用位置之后引用Respond.js 2.HTML5新标签 IE8不支持H5新标签 解决:html5sh ...