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.mzph.cn/news/102806.shtml

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

相关文章

Maven Eclipse

Eclipse 提供了一个很好的插件 m2eclipse ,该插件能将 Maven 和 Eclipse 集成在一起。 在最新的 Eclipse 中自带了 Maven,我们打开,Windows->Preferences,如果会出现下面的画面: 下面列出 m2eclipse 的一些特点&a…

基于 ceph-deploy 部署 Ceph 集群 超详细

Ceph part1 一、存储基础1.1 单机存储设备1.2 单机存储的问题1.3 单机存储问题的解决方案1.3.1 商业存储解决方案1.3.2 分布式存储(软件定义的存储 SDS) 二、分布式存储2.1 常见的分布式存储2.2 分布式存储的类型 三、Ceph概述3.1 Ceph简介3.2 Ceph 优势…

Spring5应用之整合MyBatis

作者简介:☕️大家好,我是Aomsir,一个爱折腾的开发者! 个人主页:Aomsir_Spring5应用专栏,Netty应用专栏,RPC应用专栏-CSDN博客 当前专栏:Spring5应用专栏_Aomsir的博客-CSDN博客 文章目录 参考文献前言为什…

element树形控件编辑节点组装节点

需求功能&#xff1a; 编辑树节点&#xff0c;组装节点 <el-scrollbar class"scrollbar-wrapper"><el-tree :data"nodeList" ref"tree" :props"defaultProps" :expand-on-click-node"false"><template slot…

Windows提权

1. MySQL提权 1.1 UDF提权 udf ‘user defined function’&#xff0c;即’用户自定义函数’。是通过添加新函数&#xff0c;对MYSQL的功能进行扩充 1、如何获得udf文件 2、将文件放到哪才能让mysql承认这个函数 3、函数功能 4、为什么这东西能提权(自定义函数指令是直接…

SQLAlchemy 使用封装实例

类封装 database.py #! /usr/bin/env python # -*- coding: utf-8 -*-import sys import json import logging from datetime import datetimefrom core.utils import classlock, parse_bool from core.config import (MYSQL_HOST,MYSQL_PORT,MYSQL_USER,MYSQL_PASS,MYSQL_DA…

微信小程序wxml使用过滤器

微信小程序wxml使用过滤器 1. 新建wxs2. 引用和使用 如何在微信小程序wxml使用过滤器&#xff1f; 犹如Angular使用pipe管道这样子方便&#xff0c;用的最多就是时间格式化。 下面是实现时间格式化的方法和步骤&#xff1a; 1. 新建wxs 插入代码&#xff1a; /*** 管道过滤工…

互动设计:深入了解用户体验的关键

交互是人与计算机系统之间的互动过程。在计算机领域中&#xff0c;交互是人机交互技术的核心内容之一。交互设计是一种基于人类行为科学、心理学、人体工程学等领域的专业设计&#xff0c;目的是创造用户友好的、易于使用的计算机软件、网络、移动应用等。交互的本质在于用户的…

SpringBoot 接口 字节数组直接显示为图片

源码&#xff1a; import java.io.ByteArrayOutputStream; import javax.imageio.ImageIO; import org.springframework.web.bind.annotation.RequestMapping;/*** 获取二维码图像* 二维码支付** param price 金额* return 二维码图像* throws IOException IOException*/ Requ…

Android Native 开发 要点记录

Android Studio 中写 C 代码 android studio创建C项目_android studio native c-CSDN博客 项目配置参考 【CMake】CMakeLists.txt的超傻瓜手把手教程&#xff08;附实例源码&#xff09;_【cmake】cmakelists.txt的超傻瓜手把手教程(附实例源码)-CSDN博客 CMakeLists.txt 讲解…

NZ系列工具NZ05:VBA不打开工作簿获取其内容

我的教程一共九套及VBA汉英手册一部&#xff0c;分为初级、中级、高级三大部分。是对VBA的系统讲解&#xff0c;从简单的入门&#xff0c;到数据库&#xff0c;到字典&#xff0c;到高级的网抓及类的应用。大家在学习的过程中可能会存在困惑&#xff0c;这么多知识点该如何组织…

stm32mp157中断简单应用

设置按键中断&#xff0c;按键1按下&#xff0c;LED亮&#xff0c;再按一次&#xff0c;灭 按键2按下&#xff0c;蜂鸣器响。再按一次&#xff0c;不响 按键3按下&#xff0c;风扇转&#xff0c;再按一次&#xff0c;风扇停 main.c #include "gpio.h" #include &…

leetcode 打家劫舍篇

198. 打家劫舍 你是一个专业的小偷&#xff0c;计划偷窃沿街的房屋。每间房内都藏有一定的现金&#xff0c;影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统&#xff0c;如果两间相邻的房屋在同一晚上被小偷闯入&#xff0c;系统会自动报警。 给定一个代表每个…

Transformer预测 | Pytorch实现基于Transformer的锂电池寿命预测(NASA数据集)

文章目录 效果一览文章概述模型描述程序设计参考资料效果一览 文章概述 Pytorch实现基于Transformer 的锂电池寿命预测,环境为pytorch 1.8.0,pandas 0.24.2 随着充放电次数的增加,锂电池的性能逐渐下降。电池的性能可以用容量来表示,故寿命预测 (RUL) 可以定义如下: SOH(t…

Linux Shell 实现一键部署vmtools

VMware Tools 简介 VMware Tools 中包含一系列服务和模块&#xff0c;可在 VMware 产品中实现多种功能&#xff0c;从而使用户能够更好地管理客户机操作系统&#xff0c;以及与客户机操作系统进行无缝交互。 VMware Tools 具备以下功能&#xff1a; 将消息从主机操作系统传递…

TCP/IP(十五)拥塞控制

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

不定积分(原函数)存在性定理、定积分存在性定理、变限积分存在性定理

1.不定积分(原函数)存在性定理、定积分存在性定理、变限积分存在性定理 笔记来源&#xff1a; 1.10个命题搞懂可积和原函数存在 2.考研变限积分概念超详细&#xff0c;超通俗讲解&#xff08;变限积分和原函数关系&#xff09; 声明&#xff1a;本文截图主要来自bili心一学长、…

Edge使用猴油脚本实战(实验室安全考试系统刷在线时长——网站永久自动刷新)

介绍 篡改猴 (Tampermonkey) 是拥有 超过 1000 万用户 的最流行的浏览器扩展之一。它允许用户自定义并增强您最喜爱的网页的功能。用户脚本是小型 JavaScript 程序&#xff0c;可用于向网页添加新功能或修改现有功能。使用 篡改猴&#xff0c;您可以轻松在任何网站上创建、管理…

Android平台实现lottie动画

1、lottie动画简介 Lottie 是一个应用十分广泛动画库&#xff0c;适用于Android、iOS、Web、ReactNative、Windows的库&#xff0c;它解析了用Bodymovin导出为json的Adobe After Effects动画&#xff0c;并在移动和网络上进行了原生渲染。它提供了一套完整得从AE到各个终端的…

【Java 进阶篇】JavaScript二元运算符详解

JavaScript是一门多用途的编程语言&#xff0c;它支持各种运算符&#xff0c;包括二元运算符。二元运算符用于执行两个操作数之间的操作&#xff0c;这两个操作数通常是变量、值或表达式。在本篇博客中&#xff0c;我们将详细探讨JavaScript的二元运算符&#xff0c;包括它们的…