单片机控制lcm液晶模块指令

用单片机来控制LCM模块,方式十分简单,LCM模块其内部可以看成两组寄存器, 一个为指令寄存器IR,一个为数据寄存器DR,由RS引脚来控制。所有对指令寄存器或 数据寄存器的存取均需检查LCM内部的忙碌标志BF,此标志用来告知LCM内部正在 工作,并不允许接收任何的控制命令。而此位的检查可以令RS=0,用读取D7来加以判 断,当D7为0时,才可以写入指令或数据寄存器。LCM控制指令共有11组,以下分别介 绍。

1. 清屏

清屏指令格式如下:

单片机控制lcm液晶模块指令

指令代码为01H,将DDRAM数据全部填入“空白”的ASCII代码20H,执行此指令 将清除显示器的内容,同时光标移到左上角。

2. 光标归位

光标归位指令格式如下:

单片机控制lcm液晶模块指令

指令代码为02H,地址计数器AC被清0,DDRAM数据不变,光标移到左上角。× 表示可以为0或1。

3. 输入方式设置

输入方式设置指令格式如下:

单片机控制lcm液晶模块指令

该指令用来设置光标、字符移动的方式。具体情况如下表所示。

单片机控制lcm液晶模块指令


4. 显示开关控制

显示开关控制指令格式如下:

单片机控制lcm液晶模块指令

指令代码为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. 光标、字符位移

光标、字符位移指令的格式如下:

执行该指令将产生字符或光标向左或向右滚动一个字符位。如果定时间隔地执行该 指令,将产生字符或光标的平滑滚动。 具体情况如下表所示。

单片机控制lcm液晶模块指令

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地址设置指令格式如下:

单片机控制lcm液晶模块指令

该指令将6位的CGRAM地址写入地址指针计数器AC内,随后,单片机对数据的操 作是对CGRAM的读/写操作。

8. DDRAM地址设置

DDRAM地址设置指令格式如下:

单片机控制lcm液晶模块指令

该指令将7位的DDRAM地址写入地址指针计数器AC内,随后,单片机对数据的操 作是对DDRAM的读/写操作。

9. 读BF及AC值

读BF及AC指令的格式如下:

LCD的忙碌标志BF用以指示 LCD目前的工作情况。当 BF=1时,表示正在进行内 部数据的处理,不接受单片机送来的指令或数据;当 BF=0时,则表示已准备接收命令或 数据。当程序读取此数据的内容时,D7为忙碌标志,而另外 D6~D0的值表示 CGRAM 或 DDRAM中的地址,至于是指向哪一地址则根据最后写入的地址设定指令而定。

10. 写数据到CGRAM或DDRAM

用户喜欢...

智能家电需要简单而优雅的传感器,控制器和定时器

最近一切都聪明。但是加入烤面包机的大脑需要一些基本但优雅的外围控制器和传感器才能真正发挥作用。 在标有智能的所有小工具和设备周围环顾四周,你会发现令人印象深刻的集成微控制...


如何为物联网选择合适的RTOS和微控制器平台

开发物联网(IoT)设备可能比许多开发人员或公司意识到的更具挑战性。将嵌入式系统连接到云的行为极大地增加了系统的时序复杂性。时序复杂性的增加意味着开发人员需要一种更好的方法来...


面向基于微控制器的快速原型设计与开发的 CircuitPython 基础知识

虽然 Python 语言让编程变得更加简单,但它最初的设计目的是在拥有足够的处理、内存和外设资源的个人电脑及其他机器上运行。而对于面临较严格的资源和接口限制的嵌入式系统,针对微控制...


使用SPI XiP Flash扩展微控制器程序存储器的原因和方法

随着微控制器应用变得越来越复杂,开发人员正在为应用固件使用更多的Flash程序存储器对于开始执行相对复杂的边缘计算的物联网(IoT)端点尤其如此。但是,有时应用程序可以扩展到需要外...


使用微控制器的功能,在紧凑设计中快速实现模拟信号链

许多针对物联网 (IoT) 的设计都依靠模拟电路,以便满足应用对传感器和致动器的信号调节、电流控制和其他功能的独特要求。虽然专用的信号链 IC 可以满足这种需求,但是成本和空间严格受限...


stm32 PID调速控制直流无刷电机+ 源码

笔记 具备知识,stm32基础,了解无刷直流电机原理,pid控制原理 工具: 无刷直流电机:12v电源驱动,50HZ,占空比为5%的pwm波2秒以上解锁电调,再将占空比改为6%,则电机正常运行,改变占空比...


物联网(IoT)的兴起 预计未来五年微控制器市场将稳步上升

旧金山 - 据市场研究公司IC Insights称,预计未来五年微控制器市场将稳步上升,主要原因是传感器的普及和物联网(IoT)的兴起。 IC Insights表示,预计今年MCU出货量将增长18%,达到306亿部。该...


如何利用 GCP 和 STMicroelectronics 的 STM32F779 微控制器来设置和执行图像识别

本文将探讨嵌入式开发人员如何利用 GCP 和STMicroelectronics的STM32F779微控制器来设置和执行图像识别。 机器视觉简介 识别图像中的对象并加以标识,这一功能见诸于各类广泛应用中,包括自主驾...


为什么单片机中既有Flash又有EEPROM?

单片机运行时的数据都存在于RAM(随机存储器)中,在掉电后RAM 中的数据是无法保留的,那么怎样使数据在掉电后不丢失呢?这就需要使用EEPROM 或FLASHROM 等存储器来实现。 插播一段:ROM最初...


stm32之时钟控制

• 时钟系统与总线矩阵 • SysTick系统定时器 • RTC实时时钟 • 看门狗定时器 • 通用定时器 一、时钟系统与总线矩阵 stm32F4的时钟树如下图所示: 在STM32中,有五个时钟源,为HSI、HSE、LSI、...


Xilinx Vivado Zynq Pldma APB控制线调试

在xilinx vivado zynq pldma PL部分ILA调试中,观测APB总线上的数据是正常的,但PLDMA没有成功,分析代码发现在HP_DMA模块中使用m_apb_pclk与m_apb_presetn为悬空状态。由于Avnet的例程建立在2014年,所以使...


选择并应用适用于物联网的低功耗微控制器

对于电池供电的连接设备来说,能量消耗是至关重要的,以最大限度地延长电池更换之间的时间,甚至允许设备运行在环境能源之外。尽管许多嵌入式系统开发人员精通代码优化,但为物联网(...


51单片机之独立按键和矩阵键盘(概念及原理)

1.按键分类与输入原理 按键按照结构原理科分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关灯;另一类是无触点式开关按键,如电气式按键,磁感应按键等。前者造价低,...


STM32之TFT-LCD液晶学习

TFT-LCD即薄膜晶体管液晶显示器。其英文全称为:Thin Film Transistor-Liquid Crystal Display。TFT-LCD与无源TN-LCD、STN-LCD的简单矩阵不同,它在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(TFT)...


基于单片机的智能计步器设计

当今社会,随着经济的发展,人们生活水平的提高,肥胖的人越来越多,也就导致了越来越多的疾病产生,因此,人们越来越关注健康问题,而锻炼身体是让自己健康的最有效的方法。因此计...


单片机中C语言的程序与数据存储

judy 发布于:周一, 11/27/2017 - 10:06 ,关键词: 一、五大内存分区: 内存分成5个区,它们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 1、栈区(stack):FIFO就是那些由编译器在...