基于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…...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...
MySQL 8.0 OCP 英文题库解析(十三)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...
MySQL账号权限管理指南:安全创建账户与精细授权技巧
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则…...
jdbc查询mysql数据库时,出现id顺序错误的情况
我在repository中的查询语句如下所示,即传入一个List<intager>的数据,返回这些id的问题列表。但是由于数据库查询时ID列表的顺序与预期不一致,会导致返回的id是从小到大排列的,但我不希望这样。 Query("SELECT NEW com…...
LangChain 中的文档加载器(Loader)与文本切分器(Splitter)详解《二》
🧠 LangChain 中 TextSplitter 的使用详解:从基础到进阶(附代码) 一、前言 在处理大规模文本数据时,特别是在构建知识库或进行大模型训练与推理时,文本切分(Text Splitting) 是一个…...
CTF show 数学不及格
拿到题目先查一下壳,看一下信息 发现是一个ELF文件,64位的 用IDA Pro 64 打开这个文件 然后点击F5进行伪代码转换 可以看到有五个if判断,第一个argc ! 5这个判断并没有起太大作用,主要是下面四个if判断 根据题目…...
【版本控制】GitHub Desktop 入门教程与开源协作全流程解析
目录 0 引言1 GitHub Desktop 入门教程1.1 安装与基础配置1.2 核心功能使用指南仓库管理日常开发流程分支管理 2 GitHub 开源协作流程详解2.1 Fork & Pull Request 模型2.2 完整协作流程步骤步骤 1: Fork(创建个人副本)步骤 2: Clone(克隆…...
五、jmeter脚本参数化
目录 1、脚本参数化 1.1 用户定义的变量 1.1.1 添加及引用方式 1.1.2 测试得出用户定义变量的特点 1.2 用户参数 1.2.1 概念 1.2.2 位置不同效果不同 1.2.3、用户参数的勾选框 - 每次迭代更新一次 总结用户定义的变量、用户参数 1.3 csv数据文件参数化 1、脚本参数化 …...
