当前位置: 首页 > news >正文

基于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命令可以用来解压缩文件&#xff0c;或者对文件进行打包操作。zip是个使用广泛的压缩程序&#xff0c;文件经它压缩后会另外产生具有“.zip”扩展名的压缩文件。 语法 zip [选项] [参数] 选项 -A&#xff1a;调整可执行的自动解压缩文件&#xff1b; -b<工作目录&g…...

远程桌面无法连接怎么办?

远程桌面无法连接是指在尝试使用远程桌面功能时出现连接失败的情况。这种问题可能会给工作和生活带来极大的不便&#xff0c;因此我们需要寻找解决办法。在讨论解决方案之前&#xff0c;我们先来了解一下【天联】组网的优势。 【天联】组网的优势有很多。它能够解决复杂网络环境…...

HarmonyOS实战开发-拼图、如何实现获取图片,以及图片裁剪分割的功能。

介绍 该示例通过ohos.multimedia.image和ohos.multimedia.mediaLibrary接口实现获取图片&#xff0c;以及图片裁剪分割的功能。 效果预览 使用说明&#xff1a; 使用预置相机拍照后启动应用&#xff0c;应用首页会读取设备内的图片文件并展示获取到的第一个图片&#xff0c;…...

【LeetCode热题100】【二叉树】二叉树的最近公共祖先

题目链接&#xff1a;236. 二叉树的最近公共祖先 - 力扣&#xff08;LeetCode&#xff09; 二叉树皆可递归&#xff0c;可以递归查找两个节点的所在地&#xff0c;如果两个节点一个在root的左子树一个在右子树&#xff0c;说明root就是公共祖先&#xff0c;并且因为是递归&…...

动态规划专练( 1049.最后一块石头的重量Ⅱ)

1049.最后一块石头的重量Ⅱ 有一堆石头&#xff0c;用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合&#xff0c;从中选出任意两块石头&#xff0c;然后将它们一起粉碎。假设石头的重量分别为 x 和 y&#xff0c;且 x < y。那么粉碎的可能结果如…...

2024年最佳WordPress插件

我喜欢的最佳WordPress插件&#xff08;也是经验丰富的WordPress开发者强烈推荐的&#xff09;。所有这些插件都是编码干净、超快且一流的。我还包括了对我不喜欢的插件的想法……只为了让你有进一步的了解。 目录 隐藏 1 古腾堡块&#xff1a; 2 内容&#xff1a; 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…...

计算机网络——交换机和路由器

目录 前言 引言 交换机是用来做什么的&#xff1f; 与路由器有什么区别&#xff1f; 网关 子网掩码 网关、路由 前言 本博客是博主用于复习计算机网络的博客&#xff0c;如果疏忽出现错误&#xff0c;还望各位指正。 这篇博客是在B站掌芝士zzs这个UP主的视频的总结&am…...

Redis Pipelining 底层原理分析及实践

作者&#xff1a;vivo 互联网服务器团队-Wang Fei Redis是一种基于客户端-服务端模型以及请求/响应的TCP服务。在遇到批处理命令执行时&#xff0c;Redis提供了Pipelining(管道)来提升批处理性能。本文结合实践分析了Spring Boot框架下Redis的Lettuce客户端和Redisson客户端对P…...

milvus各组件的结构体分析

milvus各组件的结构体分析 各组件启动&#xff0c;需要构建各组件的结构体&#xff0c;一共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的区别 数组是大小固定的&#xff0c;并且同一个数组只能存放类型一样的数据&#xff08;基本类型/引用类型&#xff09;&#xff0c;JAVA集合可以存储和操作数目不固定的一组数据。 所有的JAVA集合都位于 java.util包中&#xff01; JAVA集合只能存放引…...

gitignore:常用说明

示例&#xff1a; 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“按钮后&#xff0c;Native侧启动子线程模拟下载任务Native侧启动子线程模拟下载&#xff0c;并通过Arkts的回调函数将进度信息实时传递到Arkts侧 实…...

水利自动化控制系统平台介绍

水利自动化控制系统平台介绍 在当今社会&#xff0c;水资源的管理和保护日益成为全球关注的重要议题。随着科技的进步和信息化的发展&#xff0c;水利监测系统作为一种集成了现代信息技术、自动化控制技术以及环境监测技术的综合性平台&#xff0c;正在逐步改变传统的水利管理模…...

flask后端+网页前端:基于 socket.io 的双向通信和服务器部署

我想实现的效果是&#xff0c;我的服务器提供两个路由网址&#xff0c;网页A用于拍照、然后录音&#xff0c;把照片和录音传给服务器&#xff0c;服务器发射信号&#xff0c;通知另一个路由的网页B更新&#xff0c;把刚刚传来的照片和录音显示在网页上。 然后网页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…...

uniapp 对接腾讯云IM群组成员管理(增删改查)

UniApp 实战&#xff1a;腾讯云IM群组成员管理&#xff08;增删改查&#xff09; 一、前言 在社交类App开发中&#xff0c;群组成员管理是核心功能之一。本文将基于UniApp框架&#xff0c;结合腾讯云IM SDK&#xff0c;详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

【Java学习笔记】Arrays类

Arrays 类 1. 导入包&#xff1a;import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序&#xff08;自然排序和定制排序&#xff09;Arrays.binarySearch()通过二分搜索法进行查找&#xff08;前提&#xff1a;数组是…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

AtCoder 第409​场初级竞赛 A~E题解

A Conflict 【题目链接】 原题链接&#xff1a;A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串&#xff0c;只有在同时为 o 时输出 Yes 并结束程序&#xff0c;否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

LeetCode - 394. 字符串解码

题目 394. 字符串解码 - 力扣&#xff08;LeetCode&#xff09; 思路 使用两个栈&#xff1a;一个存储重复次数&#xff0c;一个存储字符串 遍历输入字符串&#xff1a; 数字处理&#xff1a;遇到数字时&#xff0c;累积计算重复次数左括号处理&#xff1a;保存当前状态&a…...

如何为服务器生成TLS证书

TLS&#xff08;Transport Layer Security&#xff09;证书是确保网络通信安全的重要手段&#xff0c;它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书&#xff0c;可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库&#xff0c;专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性&#xff0c;并提供了一个通用的框架&…...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态&#xff08;编译时多态&#xff09; 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1&#xff09;.协变 2&#xff09;.析构函数的重写 5.override 和 final关键字 1&#…...

GitHub 趋势日报 (2025年06月06日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...