基于STC12C5A60S2系列1T 8051单片机的液晶显示器LCD1602显示汉字的功能
基于STC12C5A60S2系列1T 8051单片机的液晶显示器LCD1602显示汉字的功能
- STC12C5A60S2系列1T 8051单片机管脚图
- STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置
- STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍
- LCD1602字符型液晶显示器介绍
- 一、LCD1602字符型液晶显示器硬件组成
- 二、LCD1602字符型液晶显示器存储器
- 三、LCD1602字符型液晶显示器存储器容量
- 四、LCD1602字符型液晶显示器外形结构
- 五、LCD1602字符型液晶显示器技术参数
- 六、LCD1602字符型液晶显示器引脚图及引脚功能
- 七、LCD1602字符型液晶显示器指令集图及指令功能
- 字模软件取字操作
- 液晶显示器LCD1602显示显示汉字功能
STC12C5A60S2系列1T 8051单片机管脚图


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

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


LCD1602字符型液晶显示器介绍
一、LCD1602字符型液晶显示器硬件组成
LCD1602字符型液晶显示器是一种专门用来显示字母、数字、符号等,并由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一种字符的字符型液晶显示模块。它在硬件上主要是由字符型液晶显示屏(LCD)、控制驱动主电路的芯片HD44780以及其扩展驱动电路的芯片HD44100,另外少量电阻、电容元件和结构件等装配在PCB板上而组成。不同厂家生产的LCD1602芯片可能有所不同,但使用方法都是一样的。
二、LCD1602字符型液晶显示器存储器
LCD1602字符型液晶显示器主要硬件是控制驱动主电路的芯片HD44780。它内部含有3个存储器,分别为:DDRAM存储器(即显示数据随机存储器)、CGRAM存储器(即字符生成随机存储器)、CGROM存储器(字符生成只读存储器)。各自的作用为:DDRAM存储器(即显示数据随机存储器)用来将字符显示到LCD1602字符型液晶显示器屏上,CGRAM存储器(即字符生成随机存储器)用来将用户自定义的字符显示到LCD1602字符型液晶显示器屏上,CGROM存储器(字符生成只读存储器)用来将存在它内部的字符显示到LCD1602字符型液晶显示器屏上。3者间的协调作用:CGRAM存储器和CGROM存储器中存储的字符字模相当于厨房中的食品,CGRAM存储器存储的字符是用户自行制作的菜肴,CGROM存储器存储的字符是厨房中现成的熟食,DDRAM存储器是厨房中的托盘,这些食品都需要通过托盘转移一下,才能送到餐桌上食用。这就类似于CGRAM存储器和CGROM存储器生成的字符都要先被读取到对应的DDRAM存储器中,经过上传后,LCD1602字符型液晶显示器屏的相应位置才能显示出相应字符。
三、LCD1602字符型液晶显示器存储器容量
LCD1602字符型液晶显示器的控制驱动主电路的芯片HD44780内部DDRAM存储器(即显示数据随机存储器)有80个字符寄存器地址(即LCD1602字符型液晶显示器屏第一行00H-27H有40个字符寄存器地址,LCD1602字符型液晶显示器屏第二行40H-67H也有40个字符寄存器地址,一共有80个字符寄存器地址。),每个字符寄存器地址可显示一个字符,总共可以显示80个字符,如下图所示。

CGRAM存储器(即字符生成随机存储器)有16个字符码(即0x00-0x0F),其中xxxx0000-xxxx0111与xxxx1000~xxxx1111是同样的字符码,那么CGRAM存储器(即字符生成随机存储器)实际可存储用户自定义8个字符,如下图所示。


CGROM存储器(字符生成只读存储器)有192个字符码,其中字符码0x00~0x7F表示96个字符,属于ASCII码,如下图所示。
另外字符码0xA0~0xFF也表示96个字符,属于日文字字符和希腊文字符,如下图所示。
补充说明:其中字符码0x10~0x1F及字符码0x80~0x9F表示无定义字符,如下图所示。
四、LCD1602字符型液晶显示器外形结构

五、LCD1602字符型液晶显示器技术参数
工作电压:3.0~5.0V
工作电流:2.0mA(5.0V)
工作温度:-20度~70度
储存温度:-30度~80度
占空比 :1/16
偏压比 :1/5
六、LCD1602字符型液晶显示器引脚图及引脚功能

1、引脚1:VSS为地电源。
2、引脚2:VDD接5V正电源。
3、引脚3:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”现象,使用时可以通过一个10kQ的电位器调整其对比度。
4、引脚4:RS为指令/数据寄存器选择脚,低电平时选择指令寄存器,高电平时选择数据寄存器。
5、引脚5:R/W为读/写信号线,低电平时进行写操作,高电平时进行读操作。当RS和R/W共同为低电平时可以写入指令或显示地址;当RS为低电平,R/W为高电平时,可以读忙信号;当RS为高电平,R/W为低电平时,可以写入数据。
6、引脚6:EN端为使能端,当E端由高电平跳变为低电平时,液晶模块执行命令。
7、引脚714:D0D7为8位双向数据端口。
8、引脚15:背光源正极。
9、引脚16:背光源负极。
七、LCD1602字符型液晶显示器指令集图及指令功能

指令1:清屏。指令码0x01,表示清除LCD1602字符型液晶显示器屏上所有内容,并让光标复位到LCD1602字符型液晶显示器屏左上角。指令编码格式如下图所示。

指令2:光标复位。指令码0x02,表示不用清除LCD1602字符型液晶显示器屏上所有内容,只让光标复位到LCD1602字符型液晶显示器屏左上角。指令编码格式如下图所示。

指令3:输入模式设置。其中I/D表示光标的移动方向,低电平右移,高电平左移;S表示LCD1602字符型液晶显示器屏上所有字符是否移动,低电平表示不能移动,高电平表示可以移动。也就是I/D=0:光标(或字符)闪烁右移,地址指针自减1 ,I/D=1:光标(或字符)闪烁左移,地址指针自加1;S=0:整屏显示不允许移动,S=1:整屏显示允许移动。常用指令编码:0x04表示开光标(或字符)地址指针自减1,光标左移动,整屏显示不允许移动(比如第一个光标(或字符)写入地址指针0x8F,则下一个光标(或字符)会写入地址指针0x8E,光标左移动一个字符位,且整屏显示不允许移动。);0x05表示开光标(或字符)地址指针自减1,光标左移动一个字符位,整屏显示允许右移动,(比如第一个光标(或字符)写入地址指针0x8F,则下一个光标(或字符)会写入地址指针0x8E,光标左移动一个字符位,整屏显示允许右移动。);0x06表示开光标(或字符)地址指针自增1,光标右移动一个字符位,整屏显示不允许移动(比如第一个光标(或字符)写入地址指针0x80,则下一个光标(或字符)会写入地址指针0x81,光标右移动一个字符位,整屏显示不允许移动。);0x07表示开光标(或字符)地址指针自增1,光标右移动一个字符位,整屏显示允许左移动(比如第一个光标(或字符)写入地址指针0x80,则下一个光标(或字符)会写入地址指针0x81,光标右移动一个字符位,整屏显示允许左移。)。指令编码格式如下图所示。
指令4:LCD1602字符型液晶显示器显示开关、光标(或字符)开关和光标(或字符)是否闪烁的控制。其中D用于控制LCD1602字符型液晶显示器显示的开与关,低电平表示关LCD1602字符型液晶显示器显示,高电平表示开LCD1602字符型液晶显示器显示;C用于控制光标的开与关,低电平表示关光标,高电平表示开光标;B用于控制光标(或字符)是否闪烁,低电平表示光标(或字符)不闪烁,高电平表示光标(或字符)闪烁。也就是D=0:关LCD1602字符型液晶显示器显示,D=1:开LCD1602字符型液晶显示器显示;C=0:关光标,C=1:开光标;D=0:关光标(或字符)闪烁,D=1:开光标(或字符)闪烁。常用指令编码:0x0F表示开LCD1602字符型液晶显示器显示、开光标、开光标(或字符)闪烁,0x0E表示开LCD1602字符型液晶显示器显示、开光标、不开光标(或字符)闪烁,0x0C表示开LCD1602字符型液晶显示器显示、不开光标、不开光标(或字符)闪烁。指令编码格式如下图所示。
指令5&#x
相关文章:
基于STC12C5A60S2系列1T 8051单片机的液晶显示器LCD1602显示汉字的功能
基于STC12C5A60S2系列1T 8051单片机的液晶显示器LCD1602显示汉字的功能 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍LCD1602字符型液晶显示器介绍一、LCD1602字符型…...
Springboot+Redis:实现缓存 减少对数据库的压力
🎉🎉欢迎光临,终于等到你啦🎉🎉 🏅我是苏泽,一位对技术充满热情的探索者和分享者。🚀🚀 🌟持续更新的专栏Redis实战与进阶 本专栏讲解Redis从原理到实践 …...
springboot组件的单例模式和分布式分析
springboot组件的单例模式和分布式分析 一、基本概念 在Spring Boot应用中,单例模式是非常常见的一种设计模式,它被广泛应用于Bean的生命周期管理。Spring容器默认会将所有的Component、Service、Repository和Controller注解标记的类作为单例对象进行实…...
Linux:zip命令介绍
简介 zip命令可以用来解压缩文件,或者对文件进行打包操作。zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有“.zip”扩展名的压缩文件。 语法 zip [选项] [参数] 选项 -A:调整可执行的自动解压缩文件; -b<工作目录&g…...
远程桌面无法连接怎么办?
远程桌面无法连接是指在尝试使用远程桌面功能时出现连接失败的情况。这种问题可能会给工作和生活带来极大的不便,因此我们需要寻找解决办法。在讨论解决方案之前,我们先来了解一下【天联】组网的优势。 【天联】组网的优势有很多。它能够解决复杂网络环境…...
HarmonyOS实战开发-拼图、如何实现获取图片,以及图片裁剪分割的功能。
介绍 该示例通过ohos.multimedia.image和ohos.multimedia.mediaLibrary接口实现获取图片,以及图片裁剪分割的功能。 效果预览 使用说明: 使用预置相机拍照后启动应用,应用首页会读取设备内的图片文件并展示获取到的第一个图片,…...
【LeetCode热题100】【二叉树】二叉树的最近公共祖先
题目链接:236. 二叉树的最近公共祖先 - 力扣(LeetCode) 二叉树皆可递归,可以递归查找两个节点的所在地,如果两个节点一个在root的左子树一个在右子树,说明root就是公共祖先,并且因为是递归&…...
动态规划专练( 1049.最后一块石头的重量Ⅱ)
1049.最后一块石头的重量Ⅱ 有一堆石头,用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x < y。那么粉碎的可能结果如…...
2024年最佳WordPress插件
我喜欢的最佳WordPress插件(也是经验丰富的WordPress开发者强烈推荐的)。所有这些插件都是编码干净、超快且一流的。我还包括了对我不喜欢的插件的想法……只为了让你有进一步的了解。 目录 隐藏 1 古腾堡块: 2 内容: 3 缓存…...
Docker 安装 RocketMQ
目录 一、新建两个配置文件 1.1 创建docker-compose.yml文件 1.2 .新建broker.conf文件 二、运行 三、可视化界面 一、新建两个配置文件 1.1 创建docker-compose.yml文件 version: 3.5 services:rmqnamesrv:image: foxiswho/rocketmq:servercontainer_name: rmqnamesrvports…...
计算机网络——交换机和路由器
目录 前言 引言 交换机是用来做什么的? 与路由器有什么区别? 网关 子网掩码 网关、路由 前言 本博客是博主用于复习计算机网络的博客,如果疏忽出现错误,还望各位指正。 这篇博客是在B站掌芝士zzs这个UP主的视频的总结&am…...
Redis Pipelining 底层原理分析及实践
作者:vivo 互联网服务器团队-Wang Fei Redis是一种基于客户端-服务端模型以及请求/响应的TCP服务。在遇到批处理命令执行时,Redis提供了Pipelining(管道)来提升批处理性能。本文结合实践分析了Spring Boot框架下Redis的Lettuce客户端和Redisson客户端对P…...
milvus各组件的结构体分析
milvus各组件的结构体分析 各组件启动,需要构建各组件的结构体,一共8个。 runComponent(ctx, localMsg, wg, components.NewRootCoord, metrics.RegisterRootCoord) runComponent(ctx, localMsg, wg, components.NewProxy, metrics.RegisterProxy) run…...
vue2和vue3 全选
vue3 <template><input type"checkbox" v-model"selectAll" />全选<ul><li v-for"item in list" :key"item.id">{{ item.value }} <input type"checkbox" v-model"item.check" />…...
Java中的Set、List、Map的区别及主要实现类方法
Java中的Set、List、Map的区别 数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),JAVA集合可以存储和操作数目不固定的一组数据。 所有的JAVA集合都位于 java.util包中! JAVA集合只能存放引…...
gitignore:常用说明
示例: Java HELP.md target/ !.mvn/wrapper/maven-wrapper.jar !**/src/main/** !**/src/test/**### IntelliJ IDEA.idea *.iws *.iml *.ipr### NetBeans/nbproject/private/ /nbbuild/ /dist/ /nbdist/ /.nb-gradle/ build/ logs/### VS Code.vscode/ 说明&#…...
HarmonyOS NEXT应用开发—在Native侧实现进度通知功能
介绍 本示例通过模拟下载场景介绍如何将Native的进度信息实时同步到ArkTS侧。 效果图预览 使用说明 点击“Start Download“按钮后,Native侧启动子线程模拟下载任务Native侧启动子线程模拟下载,并通过Arkts的回调函数将进度信息实时传递到Arkts侧 实…...
水利自动化控制系统平台介绍
水利自动化控制系统平台介绍 在当今社会,水资源的管理和保护日益成为全球关注的重要议题。随着科技的进步和信息化的发展,水利监测系统作为一种集成了现代信息技术、自动化控制技术以及环境监测技术的综合性平台,正在逐步改变传统的水利管理模…...
flask后端+网页前端:基于 socket.io 的双向通信和服务器部署
我想实现的效果是,我的服务器提供两个路由网址,网页A用于拍照、然后录音,把照片和录音传给服务器,服务器发射信号,通知另一个路由的网页B更新,把刚刚传来的照片和录音显示在网页上。 然后网页B用户根据这个…...
【Docker】解决 docker build 提示 `Wrong architecture ‘amd64‘`
解决 docker build 提示 Wrong architecture amd64 使用 securify2 的 docker 版本进行 sc 安全扫描 执行语句 RUN wget https://github.com/souffle-lang/souffle/releases/download/1.6.2/souffle_1.6.2-1_amd64.deb -O /tmp/souffle.deb &&\ gdebi --n /tmp/souff…...
【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...
python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件
今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...
SCAU期末笔记 - 数据分析与数据挖掘题库解析
这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...
DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...
第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...
dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...
华为OD机考-机房布局
import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...
LRU 缓存机制详解与实现(Java版) + 力扣解决
📌 LRU 缓存机制详解与实现(Java版) 一、📖 问题背景 在日常开发中,我们经常会使用 缓存(Cache) 来提升性能。但由于内存有限,缓存不可能无限增长,于是需要策略决定&am…...
【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案
目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后,迭代器会失效,因为顺序迭代器在内存中是连续存储的,元素删除后,后续元素会前移。 但一些场景中,我们又需要在执行删除操作…...
