11组利用单片机控制LCM模块指令
用单片机来控制LCM模块,方式十分简单,LCM模块其内部可以看成两组寄存器, 一个为指令寄存器IR,一个为数据寄存器DR,由RS引脚来控制。所有对指令寄存器或 数据寄存器的存取均需检查LCM内部的忙碌标志BF,此标志用来告知LCM内部正在 工作,并不允许接收任何的控制命令。而此位的检查可以令RS=0,用读取D7来加以判 断,当D7为0时,才可以写入指令或数据寄存器。LCM控制指令共有11组,以下分别介绍。 1. 清屏 清屏指令格式如下:
指令代码为01H,将DDRAM数据全部填入“空白”的ASCII代码20H,执行此指令将清除显示器的内容,同时光标移到左上角。
2. 光标归位 光标归位指令格式如下:
指令代码为02H,地址计数器AC被清0,DDRAM数据不变,光标移到左上角。× 表示可以为0或1。
3. 输入方式设置 输入方式设置指令格式如下:
该指令用来设置光标、字符移动的方式。具体情况如下表所示。
4. 显示开关控制 显示开关控制指令格式如下:
指令代码为08H~0FH。该指令控制字符、光标及闪烁的开与关,有3个状态位 D、 C、B,这3个状态位分别控制着字符、光标和闪烁的显示状态。 D是字符显示状态位。D=1时,为开显示;D=0时,为关显示。注意关显示仅是字 符不出现,而DDRAM内容不变。这与清屏指令不同。 C是光标显示状态位。C=1时,为光标显示;C=0时,为光标消失。光标为底线形 式(5×1点阵),光标的位置由地址指针计数器AC确定,并随其变动而移动。当AC值超 出了字符的显示范围,光标将随之消失。 B是光标闪烁显示状态位。B=1时,光标闪烁;B=0时,光标不闪烁。
5. 光标、字符位移 光标、字符位移指令的格式如下:
执行该指令将产生字符或光标向左或向右滚动一个字符位。如果定时间隔地执行该 指令,将产生字符或光标的平滑滚动。 具体情况如下表所示。
6. 功能设置 功能设置指令格式如下:
该指令用于设置控制器的工作方式,有3个参数DL、N和F,它们的作用是: DL用于设置控制器与计算机的接口形式。接口形式体现在数据总线长度上。DL= 1设置数据总线为8位长度,即D7~D0有效;DL=0设置数据总线为4位长度,即 D7~ D4有效。在该方式下8位指令代码和数据将按先高4位后低4位的顺序分两次传输。 N用于设置显示的字符行数。N=0为一行字符行;N=1为两行字符行。 F用于设置显示字符的字体。F=0为5×7点阵字符体;F=1为5×10点阵字符体。
7. CGRAM地址设置 CGRAM地址设置指令格式如下:
该指令将6位的CGRAM地址写入地址指针计数器AC内,随后,单片机对数据的操 作是对CGRAM的读/写操作。
8. DDRAM地址设置 DDRAM地址设置指令格式如下:
该指令将7位的DDRAM地址写入地址指针计数器AC内,随后,单片机对数据的操 作是对DDRAM的读/写操作。
9. 读BF及AC值 读BF及AC指令的格式如下:
LCD的忙碌标志BF用以指示 LCD目前的工作情况。当 BF=1时,表示正在进行内 部数据的处理,不接受单片机送来的指令或数据;当 BF=0时,则表示已准备接收命令或 数据。当程序读取此数据的内容时,D7为忙碌标志,而另外 D6~D0的值表示 CGRAM 或 DDRAM中的地址,至于是指向哪一地址则根据最后写入的地址设定指令而定。
10. 写数据到CGRAM或DDRAM 写数据到CGRAM或DDRAM的指令格式如下:
先设定CGRAM或DDRAM地址,再将数据写入 D7~D0中,以使 LCD显示出字形。也可将使用者自创的图形存入CGRAM。
11. 从CGRAM或DDRAM读取数据 从CGRAM或DDRAM读取数据的指令格式如下:
先设定CGRAM或DDRAM地址,再读取其中的数据
|