LCD12864驱动开发

目录

 一、概述

二、方框图

 三、模块接口说明

1、串口接口管脚信号

2、并行接口

四、模块主要硬件构成说明

1、RS,R/W配4种模式:

 2、E信号

五、指令说明

六、读写时序图

6.1 数据传输过程 

 6.2、时序图

 6.3、串口读写时序

 七、交流参数

八、软件初始化

九、应用举例:

1、使用前的准备

2、字符显示

3 、图形显示

 4、应用说明

5、LCD12864-0402B 与单片机 80C51 的一种接口如图所示

十、附录部分

附录1:ASCII码表

​编辑 

附录2:汉字码址表


 一、概述

        LCD12864-0402B 是一种具有 4位/8 位并行、2线或3 线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块:其显示分辨率为 128X64,内置 8192个 16*16 点汉字,和128 16*8点ASCII 字符集,利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示 8X4行 16X16 点阵的汉字,也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。
        基本特性:

  • 低电源电压 (VDD:+3.0--+5.5V)
  • 显示分辨率:128X64 点
  • 内置汉字字库,提供 8192 个 16X16 点阵汉字(简繁体可选)内置 128 个 16X8 点阵字符2MHZ 时钟频率
  • 显示方式:STN、半透、正显
  • 驱动方式: 1/32DUTY,1/5BIAS
  • 视角方向: 6 点
  • 背光方式:侧部高亮白色 LED,功耗仅为普通 LED 的 1/5-1/10
  • 通讯方式:串行、并口可选
  • 内置 DC-DC 转换电路,无需外加负压
  • 无需片选信号,简化软件设计
  • 工作温度: 0C - +55C,存储温度: -20C - +60C

二、方框图

 三、模块接口说明

1、串口接口管脚信号

  • *注释 1: 如在实际应用中仅使用串口通讯模式,可将 PSB 接固定低电平,也可以将模块上的J8 和“GND”用焊锡短接。
  • *注释 2: 模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。
  • *注释 3: 如背光和模块共用一个电源,可以将模块上的 JA、JK 用焊锡短接。

2、并行接口

  • *注释 1: 如在实际应用中仅使用并口通讯模式,可将 PSB 接固定高电平,也可以将模块上的J8 和“VCC'用焊锡短接。
  • *注释 2:模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空
  • *注释 3: 如背光和模块共用一个电源,可以将模块上的 JA、JK 用焊锡短接。

四、模块主要硬件构成说明

控制器接口信号说明:

1、RS,R/W配4种模式:

 2、E信号

  • 忙标志:BF

        BF 标志提供内部工作情况.BF=1 表示模块在进行内部操作,此时模块不接受外部指令和数据.BF=O 时模块为准备状态,随时可接受外部指令和数据.

        利用 STATUS RD 指令,可以将 BF 读到 DB7 总线,从而检验模块之工作状态

  • 字型产生 ROM(CGROM)

        字型产生 ROM (CGROM) 提供 8192 个此触发器是用于模块屏幕显示开和关的控制。DFF=1 为开显示(DISPLAY ON),DDRAM 的内容就显示在屏幕上,DFF-0 为关显示(DISPLAY OFF)。

        DFF 的状态是指令 DISPLAY ON/OFF 和 RST 信号控制的。

  • 显示数据RAM (DDRAM)

        模块内部显示数据 RAM 提供 64X2 个位元组的空间,最多可控制 4 行 16 字(64 个字) 的中文字型显当写入显示数据 RAM 时,可分别显示 CGROM 与 CGRAM 的字型,此模块可显示三种字型,分别是半角英数字型(16*8)、CGRAM 字型及 CGROM 的中文字型,三种字型的选择,由在 DDRAM 中写入的编码选择,在 0000H0006H 的编码中(其代码分别是 0000、0002、0004、0006 共 4 ) 将选择 CGRAM 的自定义字型,02H-7FH 的编码中将选择半角英数字的字型,至于 A1 以上的编码将自动的结合下一个位元组,组成两个位元组的编码形成中文字型的编码 BIG5 (A140一D75F),GB (A1AO-F7FFH)。

  • 字型产生RAM(CGRAM)

        字型产生 RAM 提供图象定义(造字)功能,可以提供四组 16X16 点的自定义图象空间,使用者可以将内部字型没有提供的图象字型自行定义到 CGRAM 中,便可和 CGROM 中的定义一样地通过 DDRAM 显示在屏幕中。

  • 地址计器AC

        地址计数器是用来贮存 DDRAM/CGRAM 之一的地址,它可由设定指令暂存器来改变,之后只要读取或是写入 DDRAM/CGRAM 的值时,地址计数器的值就会自动加一,当 RS 为“0”时而 R/W 为“1”时,地址计数器的值会被读取到 DB6--DBO 中。

  • 光标/闪烁控制电路

        此模块提供硬体光标及闪烁控制电路,由地址计数器的值来指定 DDRAM 中的光标或闪烁位置。 

五、指令说明

        模块控制芯片提供两套控制命令,基本指令和扩充指令如下:

指令表1:(RE=0:基本指令)

 指令表2:(RE=1:扩充指令)

备注:当 IC1 在接受指令前,微处理器必须先确认其内部处于非忙碌状态,即读取 BF 标志时,BF 需为零,方可接受新的指令;如果在送出一个指令前并不检查 BF 标志,那么在前一个指令和这个指令中间必须延长一段较长的时间,即是等待前一个指今确实执行完成。

六、读写时序图

6.1 数据传输过程 

 6.2、时序图

MCU写资料到ST7920(8位数据线模式) 

MPU从ST7920读资料(8位数据线模式) 

 6.3、串口读写时序

串口方式下MPU写数据到ST7920 

 七、交流参数

 交流参数(Ta=25°C,Vdd=4.5V-5.5V)

八、软件初始化

8-位元介面:

4-位元介面:

九、应用举例:

1、使用前的准备

        先给模块加上工作电压,再按照下图的连接方法调节LCD的对比度,使其显示出黑色的底影。此过程亦可以初步检测LCD有无缺段的现象。

2、字符显示

        LCD12864-0402B 每屏可显示 4行 8 列共 32 个 16X16 点阵的汉字,每个显示 RAM 可显示1个中文字符或 2 个16X8 点阵全高 ASCII 码字符,即每屏最多可实现 32 个中文字符或 64 个

ASCII 码字符的显示。FYD12864-0402B 内部提供 128X2 字节的字符显示 RAM 缓冲区(DDRAM)。字符显示是通过将字符显示编码写入该字符显示 RAM 实现的。根据写入内容的不同,可分别在液品屏上显示 CGROM(中文字库)、HCGROM(ASCII 码字库)及 CGRAM(自定义字形 的内容。三种不同字符/字型的选择编码范围为: 0000~0006H(其代码分别是 0000、0002、0004、0006 共 4 个) 显示自定义字型,02H~7FH 显示半宽 ASCII 码字符,AIAOH~F7FFH 显示8192 种 GB2312 中文字库字形。字符显示 RAM 在液晶模块中的地址 80H~9FH。字符显示的 RAM 的地址与 32 个符显示区域有着一一对应的关系,其对应关系如下表所示。

3 、图形显示

         先设垂直地址再设水平地址(连续写入两个字节的资料来完成垂直与水平的坐标地址)

垂直地址范围 AC5...AC0
水平地址范围 AC3...ACO

绘图RAM 的地址计数器(AC) 只会对水平地址(X 轴)自动加一,当水平地址 OFH 时会重新设为00H 但并不会对垂直地址做进位自动加一,故当连续写入多笔资料时,程序需自行判断垂直地址是否需重新设定。GDRAM的坐标地址与资料排列顺序如下图:

 4、应用说明

        LCD12864-0402B 显示模块时应注意以下几点:

  1. 欲在某一个位置显示中文字符时,应先设定显示字符位置,即先设定显示地址,再写入中文字符编码。
  2. 显示 ASCII 字符过程与显示中文字符过程相同。不过在显示连续字符时,只须设定一次显示地址,由模块自动对地址加 1指向下一个字符位置,否则,显示的字符中将会有一个空ASCII 字符位置。
  3. 当字符编码为 2 字节时,应先写入高位字节,再写入低位字节。
  4. 模块在接收指令前,向处理器必须先确认模块内部处于非忙状态,即读取 BF 标志时 BF 需为“O”方可接受新的指令。如果在送出一个指今前不检查 BF 标志,则在前一个指今和这个指今中间必须延迟一段较长的时间,即等待前一个指今确定执行完成。指今执行的时间请参考指今表中的指令执行时间说明。5“RE”为基本指今集与扩充指今集的选择控制位。当变更“RE”后,以后的指今集将维持在最后的状态,除非再次变更“RE”位,否则使用相同指今集时,无需每次均重设“RE”位。

5、LCD12864-0402B 与单片机 80C51 的一种接口如图所示

十、附录部分

附录1:ASCII码表

16*8半宽字符表 

附录2:汉字码址表

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/156326.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TCP/IP(十五)拥塞控制

一 拥塞控制 ① 拥塞控制必要性 思考: 为什么要有拥塞控制呀,不是有流量控制了吗? ② 拥赛窗口 cwnd 什么是拥塞窗口? 和发送窗口有什么关系呢?明白: cwnd、swnd、rwnd 缩写 含义 ③ 如何知道当前网络是否出现了拥塞呢?…

2023年【危险化学品生产单位安全生产管理人员】及危险化学品生产单位安全生产管理人员模拟考试题

题库来源:安全生产模拟考试一点通公众号小程序 危险化学品生产单位安全生产管理人员考前必练!安全生产模拟考试一点通每个月更新危险化学品生产单位安全生产管理人员模拟考试题题目及答案!多做几遍,其实通过危险化学品生产单位安…

微信开发工具构建npm and git切换分支

目录 git切换分支NPM构建 git切换分支 案例: 再次查看分支就会发现自己的分支已切换,然后需要重新构建NPM一次 NPM构建 记得安装一下这个,然后在构建 如果未安装NPM,这时候需要打开命令端,安装操作,操作…

Configuration Change派发到App进程

整体时序 // DisplayContent.java boolean updateDisplayOverrideConfigurationLocked(Configuration values,ActivityRecord starting, boolean deferResume,ActivityTaskManagerService.UpdateConfigurationResult result) {int changes 0;boolean kept true;mAtmService.d…

Andriod学习笔记(一)

写在前面的话 App开发的编程语言Java和KotlinXML App连接的数据库App工程目录结构模块级别的编译配置文件清单文件 界面显示与逻辑处理 安卓是一种基于Linux内核的自由及开放源代码的操作系统,主要使用于移动设备。 Mininum SDK表示安卓该版本以上的设备都可以运行该…

Restclient-cpp库介绍和实际应用:爬取www.sohu.com

概述 Restclient-cpp是一个用C编写的简单而优雅的RESTful客户端库,它可以方便地发送HTTP请求和处理响应。它基于libcurl和jsoncpp,支持GET, POST, PUT, PATCH, DELETE, HEAD等方法,以及自定义HTTP头部,超时设置,代理服…

节日灯饰灯串灯出口欧洲CE认证检测

灯串(灯带),这个产品的形状就象一根带子一样,再加上产品的主要原件就是LED,因此叫做灯串或者灯带。2022年,我国灯具及相关配件产品出口总额超过460亿美元。其中北美是最大的出口市场。其次是欧洲市场&#…

智能工厂MES系统,终端设备支持手机、PDA、工业平板、PC

一、开源项目简介 源计划智能工厂MES系统(开源版) 功能包括销售管理,仓库管理,生产管理,质量管理,设备管理,条码追溯,财务管理,系统集成,移动端APP。 二、开源协议 使用GPL-3.0开…

YOLOV7改进:最新开源移动端网络架构 RepViT | RepViTBlock即插即用,助力检测 | 清华 ICCV 2023

💡💡💡本文独家原创改进:轻量级 ViT 的高效架构选择,逐步增强标准轻量级 CNN(特别是 MobileNetV3)的移动友好性。 最终产生了一个新的纯轻量级 CNN 系列,即 RepViT RepViTBlock即插即用,助力检测 | 亲测在多个数据集能够实现涨点,并实现轻量化 收录: YOLOv7…

【Debian系统】:安装debian系统之后,很多命令找不到,需要添加sudo之后才能使用,以下解决方法

项目场景: 问题描述 解决方案: 1.临时解决方案 2.永久解决方案 1.首先打开编辑: 2.打开之后最后一行添加代码: 3.最后运行一遍 .bashrc 4.已经可以了,可以试试reboot,重启一下机子 一点一滴才能成长 …

Go语言入门心法(二): 结构体

一: Go语言中结构体认知 package mainimport "fmt"/*go语言中的结构体认知升维:*/ func main() {println(go语言中的结构体与c语言中的结构体类似;go语言中的结构体相当于java|python中类功能相当)type Book struct {title string // 标题author string // 作者…

UDP和TCP特点(部分)对比:

传输层的两个主要协议:TCP 和 UDP UDP和TCP特点(部分)对比: UDP:无连接, 不可靠传输, 面向数据报, 全双工。 TCP:有连接, 可靠传输, 面向字节流…

Android---java内存模型与线程

Java 内存模型翻译自 Java Memory Model,简称 JMM。它所描述的是多线程并发、CPU 缓存等方面的内容。 在每一个线程中,都会有一块内部的工作内存,这块内存保存了主内存共享数据的拷贝副本。但在 Java 线程中并不存在所谓的工作内存&#xff0…

C#实现OPC DA转OPC UA服务器

运行软件前提前安装好OPC运行组件: 为方便演示,提前准备好了一个DAServer服务器: 接下来开始配置: 该软件主要实现的功能如下: 配置过程也相对简单: 第一步: 编辑如下文件: 第二步…

YOLOv7改进策略:RIFormerBlock助力检测|CVPR2023 RIFormer:无需TokenMixer也能达成SOTA性能的极简ViT架构

💡💡💡本文属于原创独家改进: 稀疏重参数RIFormerBlock模型引入YOLOv7进行创新性 RIFormerBlock | 亲测在多个数据集实现涨点; 收录: YOLOv7高阶自研专栏介绍: http://t.csdnimg.cn/tYI0c ✨✨✨前沿最新计算机顶会复现 🚀🚀🚀YOLOv7自研创新结合,轻松…

redis在linux系统的安装与使用

一、单机安装Redis。 1.安装redis依赖 在控制台输入 yum install -y gcc tcl2.上传安装包 下载好的安装包上传到/usr/local/src/ 上传方法: 1.确保你拥有Linux服务器的IP地址、用户名和密码。 2.在Windows上,打开命令提示符(Command Promp…

大数据学习(7)-hive文件格式总结

&&大数据学习&& 🔥系列专栏: 👑哲学语录: 承认自己的无知,乃是开启智慧的大门 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言📝支持一下博>主哦&#x…

Flink---14、Flink SQL(SQL-Client准备、流处理中的表、时间属性、DDL)

星光下的赶路人star的个人主页 你生而真实,而非完美 文章目录 1、Flink SQL1.1 SQL-Client准备1.1.1 基于yarn-session模式1.1.2 常用配置 1.2 流处理中的表1.2.1 动态表和持续查询1.2.2 将流转换为动态表1.2.3 用SQL持续查询1.2.4 将动态表转换为流 1.3 时间属性1.…

PLC和工控机的网络特性

现场总线技术是工业自动化***深刻变革之一。PLC和工控机采用现场总线后可方便地作为I/O站和监控站连接在DCS系统中。现场总线是一种取代4~20mA标准,用于连接智能现场设备和控制设备的双向数字通讯技术,现场总线具有开放性和互操作性&#xff…

【重拾C语言】八、表单数据组织——结构体(类型、类型别名、直接/间接访问;典例:复数、成绩单)

目录 前言 八、结构体 8.1 结构体类型 8.2 结构体类型名 8.2.1 typedef关键字 8.2.1 结构体类型别名 8.3 结构体变量 8.3.1 使用结构体类型引用 8.3.2 使用结构体类型定义 8.3.3 使用typedef定义的结构体类型别名 8.4 访问结构体变量 8.4.1 直接成员选择表达式 8.…