学海荡舟手机网
导航

主页 > 电子设备技术 > 电器电路基础 > > 详细内容

LCD1602的控制指令

 


  1.基本操作
  
  1602液晶显示(模块)的操作有四种(参看下图):
  
  (1)状态宇读操作——输入:RS=O(低)、R/W=l(高电平)、E=l,输出:DO—D7的状态字。
  
  (2)数据读操作——输入:RS=1、R/W=l、E=l,输出:DO~D7的数据。
  
  (3)指令写入操作——输入:RS-O、R/W=O、E=l(无输出)。
  
  (4)数据写入操作——输入:RS=1、R/W=O、E=l(无输出)。
  
  注意:RS、R/W和E每个量的输入,都会耗时,所以,在P控制LCD的C程序操作时,需要加一定的延时(外加延时量,只需在ms级即可)。


  


  2.1602型LCD的控制指令
  
  1602(LCD)内部的控制器共有11条控制指令。如下表所示。

  说明:对LCD液晶显示屏的光标和屏幕的读、写操作,都是通过表3的指令编程实现的,所以1602型LCD模块实际上是一种简单的智能器件。对它的编程,是PIC单片机(如下图所示)按照LCD的11条指令,进行直接控制的编程来完成的(上表中的“1”代表高电平,“O”代表低电平)。


  
  指令1:清显示,指令码Ox01。清显示屏,即对数据指针和所有的显示清零,其光标复位到Ox00的地址位置。如C程序初始化时的指令:Sendlcd-Command(Ox01)。
  
  指令2:光标返回,指令码Ox20。显示回车,即数据指针清零,使光标返回到地址Ox00。
  
  指令3:设定输入模式。I/D-光标和显示设置。I/D=l,光标右移(光标加1),即当读或写一个字符后,地址指针加1;1/D=0,光标左移(光标减1),即当读或写一个字符后,地址指针减1。当S=l(I/D=1),在写一个字符时,整屏显示左移:或右移(I/D=0),以得到光标不移动而屏幕移动的效果:s=o,当写一个字符时,整屏的显示都不移动,即无效。
  
  指令4:开关控制的显示方式。D是控制整体显示的开与关,D=l,表示开显示;D=O.表示关显示.C是控制光标的开与关.C=l.表示有光标:c=o,表示无光标。B是控制光标是否闪烁,B=l.表示光标闪烁:B=O.表示光标不闪烁。
  
  指令5:光标或画面滚动。s/c滚动对象选择,S/C=l,画面滚动;s/c=o,光标滚动。R/L滚动方向选择,R/L=1,向右滚动;R/C=O.向左滚动(配合S/C工作)。
  
  指令6:数据和字符的工作模式。DL=1,数据总线宽度为8位,即D7—DO有效;DL=O,数据总线宽度为4位,即D7—D4有效。
  
  N设置显示字符的行数.N=O为一行字符:N=l为两行字符。
  
  F是设置字符体的点阵数,F=O为5x7的字符点阵:F=l是5xll的字符点阵。一般设置F=O。
  
  例如.C程序初始化时,其显示的T作模式:
  
  Sendlcd-Command(Ox38);即8位数据接口、16x2显示;5x7字符点阵。
  
  指令7:设置字符发生器CGRAM的地址。
  
  指令8:设置数据DDRAM的地址。
  
  指令9:忙标志位和数据指针。BF为忙标志位,高电平表示忙,此时LCD模块不能接收命令或数据;BF=O.表示不忙。所以,在MCU对LCD进行读写操作前.必须先确认BF为0.才能进行操作。余下的7位(AC值),表示当前数据指针的地址值。
  
  指令1O:写数据。
  
  指令11:读数据。
  
  3.LCD模块内部资源
  
  1602型LCD模块内部的字符发生器(存储器CGROM),已存储了160个点阵字符图形,如下表所示,包括阿拉伯数字、英文字母的大小写、常用符号和日文假名等。每个字符都有一个固定的地址代码,例如大写的英文字母“A”的地址代码是OlOOOOOIB(Ox41)显示时,模块把Ox41(41H)中的字符点阵图形显示出来,我们就能看到字母“A”的显示。1602型LCD模块内部的显示地址如下图所示。


相关文章