基于STC12C5A60S2系列1T 8051单片机的带字库液晶显示器LCD12864数据传输并行模式显示图像应用

本文主要是介绍基于STC12C5A60S2系列1T 8051单片机的带字库液晶显示器LCD12864数据传输并行模式显示图像应用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

基于STC12C5A60S2系列1T 8051单片机的液晶显示器LCD12864显示图像应用

  • STC12C5A60S2系列1T 8051单片机管脚图
  • STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置
  • STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍
  • 液晶显示器LCD12864简单介绍
    • 一、LCD12864点阵型液晶显示器介绍
      • 1、DDRAM(Data Display Ram)
      • 2、CGROM(Character Generation ROM)
      • 3、CGRAM(Character Generation RAM)
      • 4、GDRAM(Graphic Display RAM)
      • 5、HCGROM(Half height Character Generation ROM)
      • 6、LCD12864点阵型液晶显示器 DDRAM(Data Display Ram:数据显示随机存储器)、CGROM(Character Generation ROM:字符发生只读存储器)、CGRAM(Character Generation RAM:字符发生随机存储器) 、HCGROM(Half height Character Generation ROM:半宽字符发生只读存储器)各自作用
        • (1)、DDRAM(Data Display Ram:数据显示随机存储器)
        • (2)、CGROM(Character Generation ROM:字符发生只读存储器)
        • (3)、CGRAM(Character Generation RAM:字符发生随机存储器)
        • (4)、HCGROM(Half height Character Generation ROM:半宽字符发生只读存储器)
      • 7、LCD12864点阵型液晶显示器 DDRAM(Data Display Ram:数据显示随机存储器)、CGROM(Character Generation ROM:字符发生只读存储器)、CGRAM(Character Generation RAM:字符发生随机存储器) 、HCGROM(Half height Character Generation ROM:半宽字符发生只读存储器)之间的联系
    • 二、LCD12864点阵型液晶显示器尺寸图
    • 三、LCD12864点阵型液晶显示器示意图
    • 四、LCD12864点阵型液晶显示器连接原理图
      • 1、第一种LCD12864点阵型液晶显示器连接原理图(LCD12864点阵型液晶显示器引脚功能说明对应下面第一种LCD12864点阵型液晶显示器引脚功能列表)
      • 2、第二种LCD12864点阵型液晶显示器连接原理图(LCD12864点阵型液晶显示器引脚功能说明对应下面第二种LCD12864点阵型液晶显示器引脚功能列表(常用))
    • 五、LCD12864点阵型液晶显示器引脚功能列表
      • 1、第一种LCD12864点阵型液晶显示器引脚功能列表
      • 2、第二种LCD12864点阵型液晶显示器引脚功能列表(常用)
    • 六、LCD12864点阵型液晶显示器读写操作
    • 七、LCD12864点阵型液晶显示器内部存储器详细介绍
      • 1、DDRAM(Data Display Ram:数据显示随机存储器)
        • (1)、DDRAM是什么?
        • (2)、DDRAM有什么作用?
        • (3)、DDRAM内存地址
        • (4)、DDRAM(Data Display Ram:数据显示随机存储器)与LCD12864点阵型液晶显示器显示位置对应关系
          • <1>、DDRAM(Data Display Ram:数据显示随机存储器)存储汉字与LCD12864点阵型液晶显示器显示位置对应关系
          • <2>、DDRAM(Data Display Ram:数据显示随机存储器)存储半宽字符(比如:英文字母、数字、符号、ASCII码、日文字符、希腊文字符)与LCD12864点阵型液晶显示器显示位置对应关系
        • (5)、DDRAM(Data Display Ram:数据显示随机存储器)内部数据读写
          • <1>、单片机从LCD12864点阵型液晶显示器内部ST7920芯片的DDRAM(Data Display Ram:数据显示随机存储器)读取数据
          • <2>、单片机写数据到LCD12864点阵型液晶显示器内部ST7920芯片的DDRAM(Data Display Ram:数据显示随机存储器)
        • (6)、单片机驱动LCD12864点阵型液晶显示器内部ST7920芯片给LCD2864点阵型液晶显示器传送数据的模式
          • <1>、单片机驱动LCD12864点阵型液晶显示器内部ST7920芯片以8位数据并行总线模式给LCD12864点阵型液晶显示器传送数据的时序图
          • <2>、单片机驱动LCD12864点阵型液晶显示器内部ST7920芯片以4位数据并行总线模式给LCD12864点阵型液晶显示器传送数据的时序图
          • <3>、单片机驱动LCD12864点阵型液晶显示器内部ST7920芯片以串行总线模式给LCD12864点阵型液晶显示器传送数据的时序图
        • (7)、字符编码在DDRAM中存储的事项说明
          • <1>、每次对DDRAM的操作单位是一个字,也就是2个字节。当往DDRAM写入数据时,首先写地址,然后连续送入2个字节的数据,先送高字节数据,再送低字节数据。读数据时也是如此,先写地址,然后读出高字节数据,再读出低字节数据(注意:读数据时先假读一次)。
          • <2>、显示ASCII码半宽字符时,往每个地址送入2个字节的ASCII编码,对应LCD12864点阵型液晶显示器显示位置就会显示2个半宽字符,左边的为高字节字符,右边的为低字节字符。
          • <3>、显示汉字时,汉字编码的2个字节必须存储在同一地址空间中,不能分开放在2个地址存放,否则显示的就不是你想要的字符。每个字中的2个字节自动结合查找字模并显示字符。所以,如果我们往一个地址中写入的是一个汉字的2字节编码就会正确显示该字符,若编码高字节存放在前一地址低字节,编码低字节存放在后一地址高字节,显然他们就不会结合查找字模,而是与各地址相应字节结合查找字模。
      • 2、CGROM(Character Generation ROM:字符发生只读存储器)
        • (1)、CGROM是什么?
        • (2)、CGROM有什么作用?
        • (3)、CGROM存储的GB字符列表
        • (4)、CGROM内部数据读写
          • <1>、单片机从LCD12864点阵型液晶显示器内部ST7920芯片的CGROM读取数据
          • <2>、单片机写数据到LCD12864点阵型液晶显示器内部ST7920芯片的CGROM
      • 3、CGRAM(Character Generation RAM:字符发生随机存储器)
        • (1)、CGRAM是什么?
        • (2)、CGRAM有什么作用?
        • (3)、CGRAM存储自定义字符地址列表
        • (4)、CGRAM内部数据读写
          • <1>、单片机从LCD2864点阵型液晶显示器内部ST7920芯片的CGRAM读取数据
          • <2>、单片机写数据到LCD12864点阵型液晶显示器内部ST7920芯片的CGRAM
      • 4、GDRAM(Graphic Display RAM:图形显示随机存储器)
        • (1)、GDRAM是什么?
        • (2)、GDRAM有什么作用?
        • (3)、GDRAM坐标位址列表
        • (4)、LCD12864点阵型液晶显示器内部ST7920芯片的GDRAM内存地址与LCD12864点阵型液晶显示器显示位址对应关系
        • (5)、GDRAM内部数据读写
          • <1>、单片机从LCD12864点阵型液晶显示器内部ST7920芯片的GDRAM读取数据
          • <2>、单片机写数据到LCD12864点阵型液晶显示器内部ST7920芯片的GDRAM
      • 5、HCGROM(Half height Character Generation ROM:半宽字符发生只读存储器)
        • (1)、HCGROM是什么?
        • (2)、HCGROM有什么作用?
        • (3)、HCGROM字符列表
        • (4)、HCGROM数据读写
          • <1>、单片机从LCD12864点阵型液晶显示器内部ST7920芯片的HCGROM读取数据
          • <2>、单片机写数据到LCD12864点阵型液晶显示器内部ST7920芯片的HCGROM
    • 八、LCD12864点阵型液晶显示器内部ST7920芯片控制指令(提供2套控制指令集,分别是基本指令和扩充指令。)
    • 利用取模软件对图像进行画模取数据
    • 通过液晶显示器LCD12864显示图像

STC12C5A60S2系列1T 8051单片机管脚图

在这里插入图片描述在这里插入图片描述

STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置

在这里插入图片描述

STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍

在这里插入图片描述在这里插入图片描述

液晶显示器LCD12864简单介绍

一、LCD12864点阵型液晶显示器介绍

LCD12864点阵型液晶显示器是一种具有4 位或8 位并行、2 线或3线串行多种接口方式,内部可含有或不含有国标一级、二级简体中文字库的点阵型液晶显示器。其中LCD12864点阵型液晶显示器中128表示128列,64表示64行,总共有128x64=8192个点。常见LCD12864点阵型液晶显示器内部控制器以ST7920芯片为主,内置了DDRAM(Data Display Ram:数据显示随机存储器)、CGROM(Character Generation ROM:字符发生只读存储器)、CGRAM(Character Generation RAM:字符发生随机存储器)、GDRAM(Graphic Display RAM:图形显示随机存储器)、HCGROM(Half height Character Generation ROM:半宽字符发生只读存储器)。在此分别介绍LCD12864点阵型液晶显示器内部控制器ST7920芯片中的五种存储器,如下所示。

1、DDRAM(Data Display Ram)

数据显示随机存储器,往里面写啥,屏幕就会显示啥。

2、CGROM(Character Generation ROM)

字符发生只读存储器,里面存储了2M的8192个字符(包括中文、英文字母、数字、符号、ASCII码、日文字符、希腊文)的字模。在LCD12864点阵型液晶显示器界面可用16(行)x16(列)点阵来显示一个中文汉字。

3、CGRAM(Character Generation RAM)

字符发生随机存储器,可以产生128K的字符,用于用户自定义字符,一次可以自定义4个字符。在LCD12864点阵型液晶显示器界面可用16(行)x16(列)点阵来显示。

4、GDRAM(Graphic Display RAM)

图形显示随机存储器,里面存储了一块16384个点的文字图形区域,用于写文字绘图,往里面写啥绘啥,屏幕就会显示啥,它与DDRAM(数据显示随机存储器)的区别在于,往DDRAM(数据显示随机存储器)中写的数据是字符的编码,字符的显示先是在CGROM(字符发生只读存储器)中找到字模,然后映射到屏幕上,而往GDRAM(图形显示随机存储器)中写的数据是图形的点阵信息,每个点用1bit来保存其显示与否。

5、HCGROM(Half height Character Generation ROM)

半宽字符发生只读存储器,里面存储了16K的126个字符,就是字母、数字、符号。在LCD12864点阵型液晶显示器界面可用16(行)x8(列)点阵来显示一个英文字母或数字或符号。

6、LCD12864点阵型液晶显示器 DDRAM(Data Display Ram:数据显示随机存储器)、CGROM(Character Generation ROM:字符发生只读存储器)、CGRAM(Character Generation RAM:字符发生随机存储器) 、HCGROM(Half height Character Generation ROM:半宽字符发生只读存储器)各自作用

(1)、DDRAM(Data Display Ram:数据显示随机存储器)

把读到的数据(包括中文、英文字母、数字、符号、ASCII码、日文字符、希腊文以及自定义字符)显示到LCD12864点阵型液晶显示器界面。

(2)、CGROM(Character Generation ROM:字符发生只读存储器)

存储了中文、英文字母、数字、符号、ASCII码、日文字符、希腊文字符的字模编码,是液晶屏出厂时被固化在控制芯片中,用户不能改变其中的存储内容,只能读取调用。

(3)、CGRAM(Character Generation RAM:字符发生随机存储器)

留给用户存储自定义的字模编码。

(4)、HCGROM(Half height Character Generation ROM:半宽字符发生只读存储器)

存储英文字母、数字、符号的字模编码。

7、LCD12864点阵型液晶显示器 DDRAM(Data Display Ram:数据显示随机存储器)、CGROM(Character Generation ROM:字符发生只读存储器)、CGRAM(Character Generation RAM:字符发生随机存储器) 、HCGROM(Half height Character Generation ROM:半宽字符发生只读存储器)之间的联系

打个比方,CGRAM(Character Generation RAM:字符发生随机存储器)和CGROM(Character Generation ROM:字符发生只读存储器)中存储的字模信息相当于厨房中的食品,CGRAM(Character Generation RAM:字符发生随机存储器)是用户自行制作的菜肴,CGROM(Character Generation ROM:字符发生只读存储器)是厨房中现成的熟食,这些食品都要通过托盘转移一下,才能送到餐桌上食用。这类似于LCD12864点阵型液晶显示器界面要显示字符,先从CGROM(Character Generation ROM:字符发生只读存储器)和CGRAM(Character Generation RAM:字符发生随机存储器)读取到字模编码,再写入DDRAM(Data Display Ram:数据显示随机存储器)中,经如上中转以后,LCD12864点阵型液晶显示器界面在相应位置才显示出字符

二、LCD12864点阵型液晶显示器尺寸图

在这里插入图片描述

三、LCD12864点阵型液晶显示器示意图

在这里插入图片描述说明:由上图可知,LCD12864点阵型液晶显示器有128(列)x64(行),共有128x64=8192个点,可分左半屏(或上半屏)、右半屏(或下半屏),左半屏(或上半屏)对应DDRAM(Data Display Ram:数据显示随机存储器)内存地址是80H-87H、90H-97H、A0H-A7H、B0H-B7H,右半屏(或下半屏)对应DDRAM(Data Display Ram:数据显示随机存储器)内存地址是88H-8FH、98H-9FH、A8H-AFH、B8H-BFH,分四大行,每一大行有一大页,共四大页,每一大页有两小页(小页地址:从0xb8到0xa5),共八小页,每一小页有八行,共六十四行。

四、LCD12864点阵型液晶显示器连接原理图

1、第一种LCD12864点阵型液晶显示器连接原理图(LCD12864点阵型液晶显示器引脚功能说明对应下面第一种LCD12864点阵型液晶显示器引脚功能列表)

在这里插入图片描述

2、第二种LCD12864点阵型液晶显示器连接原理图(LCD12864点阵型液晶显示器引脚功能说明对应下面第二种LCD12864点阵型液晶显示器引脚功能列表(常用))

在这里插入图片描述

五、LCD12864点阵型液晶显示器引脚功能列表

1、第一种LCD12864点阵型液晶显示器引脚功能列表

在这里插入图片描述在这里插入图片描述在这里插入图片描述

2、第二种LCD12864点阵型液晶显示器引脚功能列表(常用)

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

六、LCD12864点阵型液晶显示器读写操作

在这里插入图片描述

七、LCD12864点阵型液晶显示器内部存储器详细介绍

1、DDRAM(Data Display Ram:数据显示随机存储器)

(1)、DDRAM是什么?

DDRAM(Data Display Ram):数据显示随机存储器

(2)、DDRAM有什么作用?

把存进来的数据显示到LCD12864点阵型液晶显示器界面上

(3)、DDRAM内存地址

在这里插入图片描述
说明:红色部分的DDRAM内存地址是LCD12864点阵型液晶显示器左半屏(或上半屏)显示数据的DDRAM内存地址,棕色部分的DDRAM内存地址是LCD12864点阵型液晶显示器右半屏(或下半屏)显示数据的DDRAM内存地址。一般用左半屏(或上半屏)前两行DDRAM内存地址(即80H-87H与90H-97H)和右半屏(或下半屏)前两行DDRAM内存地址(即88H-8FH与98H-9FH) 作为LCD12864点阵型液晶显示器显示数据的DDRAM内存地址,如图所示。(切记不可在左半屏(或上半屏)使用右半屏(或下半屏)显示数据的DDRAM内存地址来显示数据,也不可在右半屏(或下半屏)使用左半屏(或上半屏)显示数据的DDRAM内存地址来显示数据。)
### (1)、声明程序变量思维导图

(4)、DDRAM(Data Display Ram:数据显示随机存储器)与LCD12864点阵型液晶显示器显示位置对应关系
<1>、DDRAM(Data Display Ram:数据显示随机存储器)存储汉字与LCD12864点阵型液晶显示器显示位置对应关系

在这里插入图片描述
在这里插入图片描述
说明:上图红色区域表示LCD12864点阵型液晶显示器其中一个16(行)x16(列)点阵。如果DDRAM(Data Display Ram:数据显示随机存储器)内存地址存储的是汉字,那么需要使用LCD12864点阵型液晶显示器16(行)x16(列)点阵来显示,相当于占用LCD12864点阵型液晶显示器一大行中一大页里的16(行)x16(列)(结合上图红色区域与字符“你”来理解),即两小页中的16(行)x16(列)(结合上图红色区域与字符“你”来理解),那么半个汉字就是占用一小页中的8(行)x16(列)(结合上图字符“你”来理解)。由此可知:LCD12864点阵型液晶显示器每一个16(行)x16(列)点阵分别对应着DDRAM(Data Display Ram:数据显示随机存储器)每一个内存地址(如上图红色区域与80H所示)。

<2>、DDRAM(Data Display Ram:数据显示随机存储器)存储半宽字符(比如:英文字母、数字、符号、ASCII码、日文字符、希腊文字符)与LCD12864点阵型液晶显示器显示位置对应关系

在这里插入图片描述
在这里插入图片描述
说明:上图红色区域表示LCD12864点阵型液晶显示器其中一个16(行)x8(列)点阵。如果DDRAM(Data Display Ram:数据显示随机存储器)内存地址存储的是英文字母(或者是数字、符号、ASCII码、日文字符、希腊文字符),那么需要使用LCD12864点阵型液晶显示器16(行)x8(列)点阵来显示,相当于占用LCD12864点阵型液晶显示器一大行中一大页里的16(行)x8(列)(结合上图红色区域与英文字母“A”来理解),即两小页中的16(行)x8(列)(结合上图红色区域与英文字母“A”来理解),那么半个英文字母就是占用一小页中的8(行)x8(列)(结合上图英文字母“A”来理解)。由此可知:LCD12864点阵型液晶显示器每一个16(行)x8(列)点阵分别对应着DDRAM(Data Display Ram:数据显示随机存储器)每一个内存地址(如上图红色区域与80H所示)。

(5)、DDRAM(Data Display Ram:数据显示随机存储器)内部数据读写

DDRAM(Data Display Ram:数据显示随机存储器)内部存储的数据是字符的编码,可以写入的编码有ASCII码、GB2312码、BIG5码等。所有数据读写都是先取DDRAM(Data Display Ram:数据显示随机存储器)内存地址,然后把数据写到DDRAM(Data Display Ram:数据显示随机存储器)内存地址上或从DDRAM(Data Display Ram:数据显示随机存储器)内存地址上把数据读出来。

<1>、单片机从LCD12864点阵型液晶显示器内部ST7920芯片的DDRAM(Data Display Ram:数据显示随机存储器)读取数据

从DDRAM(Data Display Ram:数据显示随机存储器)内存地址上读数据时,在基本指令集(使用指令0x30开启)下先写DDRAM(Data Display Ram:数据显示随机存储器)内存地址,然后假读一次,接着连续读取2个字节的数据到LCD12864点阵型液晶显示器内部ST7920芯片的CGRAM(即字符生成随机存储器)内存地址上,读完之后地址指针自动加一,跳到下一个字的地址,若需要读下一个字的内容,只需再执行读取2个字节的数据到LCD12864点阵型液晶显示器内部ST7920芯片的DDRAM(Data Display Ram:数据显示随机存储器)内存地址上。这里的假读需要注意,不光是读CGRAM需要假读,读其他的DDRAM、GDRAM都需要先假读一次,之后的读才是真读,假读就是读一次数据,但不存储该数据,也就是说送地址之后第一次读的数据时是错误的,之后的数据才是正确的。(dummy为假读)

<2>、单片机写数据到LCD12864点阵型液晶显示器内部ST7920芯片的DDRAM(Data Display Ram:数据显示随机存储器)

对DDRAM(Data Display Ram:数据显示随机存储器)写数据时,确保在基本指令集下(使用指令0x30开启),先写DDRAM(Data Display Ram:数据显示随机存储器)内存地址,之后连续写入2个字节的数据到LCD12864点阵型液晶显示器内部ST7920芯片的DDRAM(Data Display Ram:数据显示随机存储器)上。

(6)、单片机驱动LCD12864点阵型液晶显示器内部ST7920芯片给LCD2864点阵型液晶显示器传送数据的模式

当PSB脚接高电平时,LCD12864点阵型液晶显示器内部ST7920芯片将进入并行模式,若功能设定指令寄存器中的寄存器单元DL=1,单片机结合RS(数据/指令选择端)、R/W(读/写选择端)、EN(使能端)、D0-D7输出输入引脚来驱动LCD12864点阵型液晶显示器内部ST7920芯片以8位数据形式给LCD2864点阵型液晶显示器传送数据,若功能设定指令寄存器中的寄存器单元DL=0,单片机结合RS(数据/指令选择端)、R/W(读/写选择端)、EN(使能端)、D0-D7输出输入引脚来驱动LCD12864点阵型液晶显示器内部ST7920芯片以4位数据形式给LCD2864点阵型液晶显示器传送数据。当PSB脚接接低电平时,LCD12864点阵型液晶显示器内部ST7920芯片将进入串行模式,若功能设定指令寄存器中的寄存器单元DL=1,单片机结合RS(数据/指令选择端)、R/W(读/写选择端)、EN(使能端)、D0-D7输出输入引脚来驱动LCD12864点阵型液晶显示器内部ST7920芯片以8位数据形式给LCD12864点阵型液晶显示器传送数据,若功能设定指令寄存器中的寄存器单元DL=0,单片机结合RS(数据/指令选择端)、R/W(读/写选择端)、EN(使能端)、D0-D7输出输入引脚来驱动LCD12864点阵型液晶显示器内部ST7920芯片以4位数据形式给LCD12864点阵型液晶显示器传送数据。

<1>、单片机驱动LCD12864点阵型液晶显示器内部ST7920芯片以8位数据并行总线模式给LCD12864点阵型液晶显示器传送数据的时序图

在这里插入图片描述

<2>、单片机驱动LCD12864点阵型液晶显示器内部ST7920芯片以4位数据并行总线模式给LCD12864点阵型液晶显示器传送数据的时序图

在这里插入图片描述

<3>、单片机驱动LCD12864点阵型液晶显示器内部ST7920芯片以串行总线模式给LCD12864点阵型液晶显示器传送数据的时序图

在这里插入图片描述

(7)、字符编码在DDRAM中存储的事项说明
<1>、每次对DDRAM的操作单位是一个字,也就是2个字节。当往DDRAM写入数据时,首先写地址,然后连续送入2个字节的数据,先送高字节数据,再送低字节数据。读数据时也是如此,先写地址,然后读出高字节数据,再读出低字节数据(注意:读数据时先假读一次)。
<2>、显示ASCII码半宽字符时,往每个地址送入2个字节的ASCII编码,对应LCD12864点阵型液晶显示器显示位置就会显示2个半宽字符,左边的为高字节字符,右边的为低字节字符。
<3>、显示汉字时,汉字编码的2个字节必须存储在同一地址空间中,不能分开放在2个地址存放,否则显示的就不是你想要的字符。每个字中的2个字节自动结合查找字模并显示字符。所以,如果我们往一个地址中写入的是一个汉字的2字节编码就会正确显示该字符,若编码高字节存放在前一地址低字节,编码低字节存放在后一地址高字节,显然他们就不会结合查找字模,而是与各地址相应字节结合查找字模。

2、CGROM(Character Generation ROM:字符发生只读存储器)

(1)、CGROM是什么?

CGROM(Character Generation ROM):字符发生只读存储器

(2)、CGROM有什么作用?

将存储的字符(包括中文、英文、数字、符号、ASCII码、日文字符、希腊文)供给LCD12864点阵型液晶显示器读取到界面上显示

(3)、CGROM存储的GB字符列表

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述说明:CGROM存储器(字符生成只读存储器)存储的字符列表中字符码A140H〜D75FH为BIG5(大五码,包括标点符号、希腊字母及特殊符号。),字符码A1A0H〜F7FFH为GB(国标,包括中文、英文、数字、符号、ASCII码、日文字符、希腊文)。

(4)、CGROM内部数据读写

CGROM内部存储的数据是中文、英文、数字、符号、ASCII码、日文字符、希腊文字符的编码,所有的数据读写都是先送地址,然后进行读写。

<1>、单片机从LCD12864点阵型液晶显示器内部ST7920芯片的CGROM读取数据
<2>、单片机写数据到LCD12864点阵型液晶显示器内部ST7920芯片的CGROM

3、CGRAM(Character Generation RAM:字符发生随机存储器)

(1)、CGRAM是什么?

CGRAM(Character Generation RAM):字符发生随机存储器

(2)、CGRAM有什么作用?

将存储用户自定义的字符供给LCD12864点阵型液晶显示器读取到界面上显示

(3)、CGRAM存储自定义字符地址列表

在这里插入图片描述
在这里插入图片描述
说明:CGRAM(即字符生成随机存储器)可以自定义4个字符,分别存储在0x40、0x50、0x60、0x70的CGRAM(即字符生成随机存储器)内存地址上,要在LCD12864点阵型液晶显示器界面显示,只需把这4个自定义字符分别对应写进DDRAM(Data Display Ram:数据显示随机存储器)内存地址0000H、0002H、 0004H、0006H即可。而上图只在CGRAM(即字符生成随机存储器)中自定义2个字符的CGRAM(即字符生成随机存储器)空间画出,另外还有2个。由此可以看出CGRAM(即字符生成随机存储器)内部自定义字符都是用16(行)x16(列)点阵来显示,每一行使用2个字节,则一个自定义字符占用空间是32字节。

(4)、CGRAM内部数据读写

读写之前先写地址,写CGRAM的指令为0x40+地址,地址每次做加一变化。

<1>、单片机从LCD2864点阵型液晶显示器内部ST7920芯片的CGRAM读取数据

先写CGRAM(即字符生成随机存储器)中内存首地址0x40,然后假读一次,接着连续读取2个字节的数据到LCD12864点阵型液晶显示器内部ST7920芯片的CGRAM(即字符生成随机存储器)内存地址0x40上,直到在LCD12864点阵型液晶显示器内部ST7920芯片的CGRAM(即字符生成随机存储器)内存地址0x40上读完32个字节的数据为止。

<2>、单片机写数据到LCD12864点阵型液晶显示器内部ST7920芯片的CGRAM

先写CGRAM(即字符生成随机存储器)中内存首地址0x40,接着连续写入2个字节的数据到LCD12864点阵型液晶显示器内部ST7920芯片的CGRAM(即字符生成随机存储器)内存地址0x40,直到在LCD12864点阵型液晶显示器内部ST7920芯片的CGRAM(即字符生成随机存储器)内存地址0x40上写完32个字节的数据为止。例如:取CGRAM(即字符生成随机存储器)中第一个字符内存首地址0x40,先写入2个字节的数据到LCD12864点阵型液晶显示器内部ST7920芯片的CGRAM(即字符生成随机存储器)内存地址0x40上,之后地址指针每次会自动加一,跳到下一行的地址,再写入2个字节的数据到LCD12864点阵型液晶显示器内部ST7920芯片的CGRAM(即字符生成随机存储器)内存地址0x40上,直到在LCD12864点阵型液晶显示器内部ST7920芯片的CGRAM(即字符生成随机存储器)内存地址0x40上写完32个字节的数据为止。

4、GDRAM(Graphic Display RAM:图形显示随机存储器)

(1)、GDRAM是什么?

GDRAM(Graphic Display RAM):图形显示随机存储器

(2)、GDRAM有什么作用?

把存进来的数据显示到LCD12864点阵型液晶显示器界面上

(3)、GDRAM坐标位址列表

在这里插入图片描述说明:LCD12864点阵型液晶显示器内部ST7920芯片的GDRAM(Graphic Display RAM:图形显示随机存储器)内存地址本来可供给LCD12864点阵型液晶显示器显示界面绘制32行x256列的图像,但LCD12864点阵型液晶显示器内在结构被分成了上下两屏显示,上半屏(左半屏)是32行x128列,下半屏(右半屏)是32行x128列。

(4)、LCD12864点阵型液晶显示器内部ST7920芯片的GDRAM内存地址与LCD12864点阵型液晶显示器显示位址对应关系

这篇关于基于STC12C5A60S2系列1T 8051单片机的带字库液晶显示器LCD12864数据传输并行模式显示图像应用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/903339

相关文章

51单片机学习记录———定时器

文章目录 前言一、定时器介绍二、STC89C52定时器资源三、定时器框图四、定时器模式五、定时器相关寄存器六、定时器练习 前言 一个学习嵌入式的小白~ 有问题评论区或私信指出~ 提示:以下是本篇文章正文内容,下面案例可供参考 一、定时器介绍 定时器介绍:51单片机的定时器属于单片机的内部资源,其电路的连接和运转均在单片机内部完成。 定时器作用: 1.用于计数系统,可

如何开启和关闭3GB模式

https://jingyan.baidu.com/article/4d58d5414dfc2f9dd4e9c082.html

JAVA读取MongoDB中的二进制图片并显示在页面上

1:Jsp页面: <td><img src="${ctx}/mongoImg/show"></td> 2:xml配置: <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001

零基础STM32单片机编程入门(一)初识STM32单片机

文章目录 一.概要二.单片机型号命名规则三.STM32F103系统架构四.STM32F103C8T6单片机启动流程五.STM32F103C8T6单片机主要外设资源六.编程过程中芯片数据手册的作用1.单片机外设资源情况2.STM32单片机内部框图3.STM32单片机管脚图4.STM32单片机每个管脚可配功能5.单片机功耗数据6.FALSH编程时间,擦写次数7.I/O高低电平电压表格8.外设接口

十四、观察者模式与访问者模式详解

21.观察者模式 21.1.课程目标 1、 掌握观察者模式和访问者模式的应用场景。 2、 掌握观察者模式在具体业务场景中的应用。 3、 了解访问者模式的双分派。 4、 观察者模式和访问者模式的优、缺点。 21.2.内容定位 1、 有 Swing开发经验的人群更容易理解观察者模式。 2、 访问者模式被称为最复杂的设计模式。 21.3.观察者模式 观 察 者 模 式 ( Obser

据阿谱尔APO Research调研显示,2023年全球髓内钉市场销售额约为4.7亿美元

根据阿谱尔 (APO Research)的统计及预测,2023年全球髓内钉市场销售额约为4.7亿美元,预计在2024-2030年预测期内将以超过3.82%的CAGR(年复合增长率)增长。 髓内钉市场是指涉及髓内钉制造、分销和销售的行业。髓内钉是一种用于整形外科手术的医疗器械,用于稳定长骨骨折,特别是股骨、胫骨和肱骨。髓内钉通常由不銹钢或钛等材料制成,并插入骨的髓管中,以在愈合过程中提供结构支

亮相WOT全球技术创新大会,揭秘火山引擎边缘容器技术在泛CDN场景的应用与实践

2024年6月21日-22日,51CTO“WOT全球技术创新大会2024”在北京举办。火山引擎边缘计算架构师李志明受邀参与,以“边缘容器技术在泛CDN场景的应用和实践”为主题,与多位行业资深专家,共同探讨泛CDN行业技术架构以及云原生与边缘计算的发展和展望。 火山引擎边缘计算架构师李志明表示:为更好地解决传统泛CDN类业务运行中的问题,火山引擎边缘容器团队参考行业做法,结合实践经验,打造火山

自制的浏览器主页,可以是最简单的桌面应用,可以把它当成备忘录桌面应用

自制的浏览器主页,可以是最简单的桌面应用,可以把它当成备忘录桌面应用。如果你看不懂,请留言。 完整代码: <!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><ti

vue+elementUI下拉框联动显示

<el-row><el-col :span="12"><el-form-item label="主账号:" prop="partyAccountId" :rules="[ { required: true, message: '主账号不能为空'}]"><el-select v-model="detailForm.partyAccountId" filterable placeholder="