LCD12864驱动开发

news2024/11/14 17:32:25

目录

 一、概述

二、方框图

 三、模块接口说明

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.coloradmin.cn/o/1080318.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CrossOver2024中文免费版虚拟机软件

苹果笔记本不能用windows吗,让苹果电脑支持win系统,是很多苹果用户关心的问题。苹果笔记本是指使用macOS操作系统的苹果公司生产的笔记本电脑,而windows是微软公司开发的另一种操作系统。两者有什么区别,如何在苹果笔记本上安装和…

技术分享 | Web测试方法与技术之CSS讲解

CSS 就是层叠样式表(Cascading Style Sheets),定义如何显示 HTML 元素。HTML 元素的样式通常存储在层叠样式表中。 为什么要使用CSS 使用 CSS 可以定义 HTML 元素显示的样式,其实是为了解决内容与表现分离的问题。通过 CSS 可以…

Spring Boot中的Redis自动配置与使用

Spring Boot中的Redis自动配置与使用 Redis是一种高性能的开源内存数据库,常用于缓存、会话管理和消息队列等场景。Spring Boot提供了自动配置来简化在Spring应用程序中使用Redis的过程。本文将介绍Spring Boot中的Redis自动配置是什么以及如何使用它来轻松集成Red…

【漏洞复现】Nacos系列多漏洞复现

漏洞描述 nacos是阿里巴巴的一个开源项目,旨在帮助构建云原生应用程序和微服务平台 免责声明 技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得利用网络从事危害国家安全、荣誉和利益,未经授权请勿利用文章中的技术资料对任…

vue自定义防抖指令

main.js中 Vue.directive(throttle, {bind: (el, binding) > {let throttleTime binding.value; // 防抖时间if (!throttleTime) { // 用户若不设置防抖时间,则默认2sthrottleTime 2000;}let cbFun;el.addEventListener(click, event > {if (!cbFun) { // …

Unity基础课程之物理引擎4-用于射击或者点击消除的射线检测方法

业务逻辑 这段代码实现了一个功能,当玩家按下鼠标左键或按下Q键时,从游戏主角的位置沿着主角的前方方向发射一条射线。如果射线碰撞到了具有Collider触发或碰撞器的游戏物体,则销毁该游戏物体。 程序逻辑 程序的逻辑如下: 1. 在…

Vue中对路由的进阶学习

路由进阶 文章目录 路由进阶1、路由的封装抽离2、声明式导航2.1、导航链接2.2、高亮类名2.3、跳转传参2.4、动态路由参数可选符 3、Vue路由--重定向4、Vue路由--4045、Vue路由–模式设置6、编程式导航6.1、基本跳转6.2、跳转传参 路由基础入门 1、路由的封装抽离 问题&#x…

智慧办公数据可视化大屏设计(数据可视化)、大数据、数据大屏、办公数据大屏、办公数据

本次分享的作品是用软件Axure8.0(兼容9和10)制作的智慧办公数据进行的可视化大屏设计,主要是针对办公的综合数据、工位数据、会议室数据、访客数据、能耗数据以及设备智控数据进行可视化数据分析。 1、综合分析:对办公室的整体数据、空气质量…

Python数据分析实战-实现Mann-Whitney U检验(附源码和实现效果)

实现功能 使用scipy.stats模块中的mannwhitneyu函数来实现Mann-Whitney U检验,该检验用于比较两个独立样本的分布是否有显著差异。 实现代码 from scipy.stats import mannwhitneyu# 两个独立样本的数据 group1 [1, 2, 3, 4, 5] group2 [6, 7, 8, 9, 10]# 执行…

如何压缩视频?视频压缩变小方法汇总

视频是我们日常生活中不可或缺的一部分,但视频文件往往会占用大量存储空间,这在传输和分享过程中可能成为一个瓶颈。 为了解决这一问题,我们可以通过压缩的方式减小视频大小,视频压缩是指在保证视频质量的前提下,通过…

2023年中国胆道镜市场规模及行业现状,一次性胆道镜市场初具规模[图]

胆道镜是为胰胆管的内窥镜检查和内窥镜手术设计的医用光学内窥镜。肝胆管结石是我国常见的一种胆道疾病,病情较为复杂,且复发率较高,手术质量续期较高,胆道镜已由硬质胆道镜、纤维胆道镜,发展到目前的电子胆道镜。 胆…

SettingsView/设置页 的实现

1. 创建设置视图 SettingsView.swift import SwiftUI/// 设置页面 struct SettingsView: View {/// 环境变量,呈现方式:显示或者关闭Environment(\.presentationMode) var presentationMode/// 默认网址let defaultURL URL(string: "https://www.…

TensorFlow入门(十九、softmax算法处理分类问题)

softmax是什么? Sigmoid、Tanh、ReLU等激活函数,输出值只有两种(0、1,或-1、1或0、x),而实际现实生活中往往需要对某一问题进行多种分类。例如之前识别图片中模糊手写数字的例子,这个时候就需要使用softmax算法。 softmax的算法逻辑 如果判断输入属于某一个类的概率大于属于其…

NginxWebUI runCmd 远程命令执行漏洞复现 [附POC]

文章目录 NginxWebUI runCmd 远程命令执行漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 NginxWebUI runCmd 远程命令执行漏洞复现 [附POC] 0x01 前言 免责声明:请勿利用文章内的相…

web入门---tomcat请求响应

Tomcat 介绍 Web 服务器是一个软件程序,对 HTTP协议的操作进行封装,使得不必直接对协议进行操作,让 web 开发更加便捷。主要功能是“提供网上信息浏览服务”。 下载 tomcat 演示说明 这里有一个示例直接双击打开 index.html但是这个“打开…

ai智能写作MAX:一款强大的AI写作工具

在数字时代的今天,人们对高质量内容的需求越来越迫切。无论是企业宣传、网站推广还是个人创作,优质的文案都能为你带来更多的曝光和转化率。然而,写作并非每个人的强项,许多人遇到了创作瓶颈和写作困境。这时候,AI智能…

Web自动化测试工具哪家强? Selenium与Cypress的比较

随着互联网技术在全球范围内的迅速发展,各种基于浏览器的Web应用程序也已成为当今软件开发的主流。围绕如何更好、更有效的测试Web应用的技术也是层出不穷。Cypress和Selenium是目前广泛使用,且很有代表性的两种Web自动化测试工具。互联网上对Cypress和S…

知识增强语言模型提示 零样本知识图谱问答10.8+10.11

知识增强语言模型提示 零样本知识图谱问答 摘要介绍相关工作方法零样本QA的LM提示知识增强的LM提示与知识问题相关的知识检索 实验设置数据集大型语言模型基线模型和KAPIN评估指标实现细节 实验结果和分析结论 摘要 大型语言模型(LLM)能够执行 零样本cl…

网络安全概述——常见网络攻击与网络病毒、密码体制、安全协议等

目录 1、信息安全五大要素 2、常见的网络攻击类型 2-1)网络攻击的分类: 2-2)常见网络攻击: DOS 攻击的分类: 2-3)常见网络攻击的防范措施 3、计算机病毒 3-1)常见病毒的前缀及其简要描述…

Vuex的简介以及入门案例

🏅我是默,一个在CSDN分享笔记的博主。📚📚 🌟在这里,我要推荐给大家我的专栏《Vue》。🎯🎯 🚀无论你是编程小白,还是有一定基础的程序员,这个专栏…