基于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:光标或字符移位控制。其中S/C表示在低电平时移动光标(只针对光标,标,不能指字符。),高电平时移动所有显示字符(只针对字符,不能指光标。),R/L表示在低电平时光标向左移,高电平时光标向右移。也就是S/C=0和R/L=0:光标向左移,地址指针自减1;S/C=0和R/L=1:光标向右移,地址自增1;S/C=1和R/L=0:所有显示字符左移,光标跟随移位;S/C=1和R/L=1:所有光标(或字符)右移,光标跟随移位。指令编码格式如下图所示。
在这里插入图片描述
指令6:功能设置命令。其中DL表示在低电平时为4位并口总线,高电平时为8位并口总线;N表示在低电平时为LCD1602字符型液晶显示器单行显示,高电平时为LCD1602字符型液晶显示器双行显示;F表示在低电平时显示5×8的点阵字符,高电平时显示5×11的点阵字符。也就是DL=0:4位并口, DL=1:8位并口;N=0:设置LCD1602字符型液晶显示器1行显示 ,N=1:设置LCD1602字符型液晶显示器2行显示;F=0:57或58点阵 ,F=1:510或511点阵。常用指令编码:0x20表示4位并口总线,LCD1602字符型液晶显示器单行显示,显示57或58的点阵字符;0x24表示4位并口总线,LCD1602字符型液晶显示器单行显示,显示510或511的点阵字符;0x28表示4位并口总线,LCD1602字符型液晶显示器双行显示,显示57或58的点阵字符;0x2C表示4位并口总线,LCD1602字符型液晶显示器双行显示,显示510或511的点阵字符;0x30表示8位并口总线,LCD1602字符型液晶显示器单行显示,显示57或58的点阵字符;0x34表示8位并口总线,LCD1602字符型液晶显示器单行显示,显示510或511的点阵字符;0x38表示8位并口总线,LCD1602字符型液晶显示器双行显示,显示57或58的点阵字符;0x3C表示8位并口总线,LCD1602字符型液晶显示器双行显示,显示510或511的点阵字符。指令编码格式如下图所示。在这里插入图片描述
指令7:字符生成随机存储器CGRAM地址设置。指令编码格式如下图所示。在这里插入图片描述
指令8:显示数据随机存储器DDRAM地址设置。指令编码格式如下图所示。在这里插入图片描述
指令9:读忙信号和光标地址。其中BF为忙标志位,低电平表示不忙,LCD1602字符型液晶显示器能接收命令或数据,如果为高电平则表示忙,LCD1602字符型液晶显示器不可以接收命令或数据。也就是BF=0:不忙,LCD1602字符型液晶显示器可以接收命令或数据;BF=1:忙,LCD1602字符型液晶显示器不可以接收命令或数据。指令编码格式如下图所示。在这里插入图片描述
指令10:写数据到显示数据随机存储器DDRAM或字符生成随机存储器CGRAM中。指令编码格式如下图所示。在这里插入图片描述
指令11:读取显示数据随机存储器DDRAM或字符生成随机存储器CGRAM中的数据。指令编码格式如下图所示。
在这里插入图片描述
指令10与指令11读写操作条件,如下所示。
1、读状态,需满足如下条件。
输入:RS=0,RW=1,E=1。
输出:DB0~DB7=状态字
2、写指令,需满足如下条件。
输入:RS=0,RW=0,E=下降沿脉冲(指从高电平降到低电平的变化电脉冲),DB0~DB7=指令码。
输出:无
3、读数据,需满足如下条件。
输入:RS=1,RW=1,E=1。
输出:DB0~DB7=数据
4、写数据,需满足如下条件。
输入:RS=1,RW=0,E=下降沿脉冲(指从高电平降到低电平的变化电脉冲),DB0~DB7=数据。
输出:无

液晶显示器LCD1602显示中文英文数字小数字库字符自定义字符的功能

在这里插入图片描述
main.c

#include "STC12C5A60S2.h"  
#include "LCD1602.h" 
#include <stdio.h>
#define uchar unsigned char//自定义无符号字符型为uchar
#define uint unsigned int//自定义无符号整数型为uint  
uchar code String0[] = {
   0x00

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/539692.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

策略模式:灵活调整算法的设计精髓

在软件开发中&#xff0c;策略模式是一种行为型设计模式&#xff0c;它允许在运行时选择算法的行为。通过定义一系列算法&#xff0c;并将每个算法封装起来&#xff0c;策略模式使得算法可以互换使用&#xff0c;这使得算法可以独立于使用它们的客户。本文将详细介绍策略模式的…

算法——栈

T04BF &#x1f44b;专栏: 算法|JAVA|MySQL|C语言 &#x1faf5; 小比特 大梦想 此篇文章与大家分享关于栈相关的算法 如果有不足的或者错误的请您指出! 目录 1.删除字符中的所有相邻重复项1.1解析1.2题解 2.比较含退格的字符串2.1解析2.2题解 3.基本计算器II3.1解析3.2题解 4.…

清明美食制作|“心灵护航,增能培力”残疾人职业能力提升培养

为提高残疾人的动手能力&#xff0c;提升个人的自身素质和自主就业创业能力&#xff0c;弘扬中华民族传统文化&#xff0c;临近清明之际&#xff0c;淳安县从益舍社会工作服务中心于浪川乡展开了以“品尝春天味道 制作清明粿 清明美食制作”为主题的清明节活动。 【清明粿制作】…

【C语言__函数__复习篇1】

目录 前言&#xff1a; 一、C语言中函数的概念 二、库函数 2.1 库函数的概念 2.2 怎样自学库函数——以sqrt函数为例 三、自定义函数 3.1 自定义函数的概念 3.2 自定义函数的语法形式 3.3 函数的实参 3.4 函数的形参 3.5 实参与形参的关系 3.6 return语句 3.7 数组传参 …

O2OA开发平台如何查看数据表结构?

在访问后端api地址&#xff0c;页面最下方有列示平台的各个服务&#xff0c;点击进入可查看具体的表内容 后端api地址&#xff1a; http://{hostIP}/x_program_center/jest/list.html 其中&#xff1a;{hostIP}为中心服务器所在域名或者IP地址 如下图&#xff1a;

RA4000CE为汽车动力传动系统提供解决方案

目前汽车电气化的水平越来越高&#xff0c;其中比较显著的一个发展方向就是将发动机管理系统和自动变速器控制系统&#xff0c;集成为动力传动系统的综合控制(PCM)。作为汽车动力的核心部件&#xff0c;通过电子系统的运用&#xff0c;将外部多个传感器和执行环节的数据进行统一…

Go 自定义14位时间类型 yyyyMMddHHmmss

目录 功能 代码 功能 数据库或者接口时间类型&#xff0c;经常会使用14位的时间格式。每次都转换有点麻烦。可以自定义一个时间类型。 自定义类型需要实现json接口中的MarshalJSON与UnmarshalJSON两个函数&#xff0c;这样在做json编码解码时就会自动转为14位的时间格式了。…

基于flutter3.x+window_manager+getx桌面端仿macOS系统

flutter3_macui桌面端仿macOS系统实战项目完结啦&#xff01; 原创研发flutter3.19dart3.3window_managergetx等技术构建桌面版macOS系统。支持自定义毛玻璃虚化背景、Dock菜单多级嵌套自由拖拽排序、可拖拽弹窗等功能。 支持macOS和windows11两种风格。 使用技术 编辑器&…

【c++】优先级队列|反向迭代器(vector|list)

优先级队列的常用函数的使用 #include<iostream> #include<queue> using namespace std;int main() {priority_queue<int>st;st.push(1);st.push(7);st.push(5);st.push(2);st.push(3);st.push(9);while (!st.empty()){cout << st.top() << &qu…

【vue】watch 侦听器

watch&#xff1a;可监听值的变化&#xff0c;旧值和新值 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><titl…

openstack之neutron介绍

核心组件 neutron-server&#xff1a;提供API接口&#xff0c;把对应的api请求传给plugin进&#xff1b; neutron-plugin&#xff1a;管理逻辑网络状态&#xff0c;调用agent&#xff1b; neutron-agent&#xff1a;在provider network上创建网络对象&#xff1b; neutron-…

【Vue】实现仿微信输入@出现选择框

<div style"padding: 10px 10px" class"editor"><el-inputresizetype"textarea":rows"4"clearableplaceholder"请输入您的问题.."v-model"requestParams.prompt"input"handleInput"keydown.na…

C# WinForm —— 项目目录结构

1. WinForm 应用程序项目 Properties&#xff1a;属性文件夹存放了一个自动生成的类文件AssemblyInfo.cs&#xff0c;保存了一些应用程序集的一些信息引用存放了一些为应用程序提供所需的&#xff0c;某些功能的一些程序集&#xff08;dll文件&#xff09;等添加引用&#xff…

Html网页小游戏源代码

Html网页小游戏源代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Jello Jumping Game</title><meta name"viewport" content"widthdevice-width, initial-scale1"&…

【安全】挖矿木马自助清理手册

一、什么是挖矿木马 挖矿木马会占用CPU进行超频运算&#xff0c;从而占用主机大量的CPU资源&#xff0c;严重影响服务器上的其他应用的正常运行。黑客为了得到更多的算力资源&#xff0c;一般都会对全网进行无差别扫描&#xff0c;同时利用SSH爆破和漏洞利用等手段攻击主机。 …

【AR】使用深度API实现虚实遮挡

遮挡效果 本段描述摘自 https://developers.google.cn/ar/develop/depth 遮挡是深度API的应用之一。 遮挡&#xff08;即准确渲染虚拟物体在现实物体后面&#xff09;对于沉浸式 AR 体验至关重要。 参考下图&#xff0c;假设场景中有一个Andy&#xff0c;用户可能需要放置在包含…

2024年蓝桥杯40天打卡总结

2024蓝桥杯40天打卡总结 真题题解其它预估考点重点复习考点时间复杂度前缀和二分的两个模板字符串相关 String和StringBuilderArrayList HashSet HashMap相关蓝桥杯Java常用算法大数类BigInteger的存储与运算日期相关考点及函数质数最小公倍数和最大公约数排序库的使用栈Math类…

牛客周赛 Round 39(A,B,C,D,E,F,G)

比赛链接 官方题解&#xff08;视频&#xff09; B题是个贪心。CD用同余最短路&#xff0c;预处理的完全背包&#xff0c;多重背包都能做&#xff0c;比较典型。E是个诈骗&#xff0c;暴力就完事了。F是个线段树。G是个分类大讨论&#xff0c;出题人钦定的本年度最佳最粪 题目…

14届蓝桥杯 C/C++ B组 T6 岛屿个数 (BFS,FloodFill,填色)

首先拿到这道题不要想着去直接判断环里面的岛屿&#xff0c;这样太困难了&#xff0c;我们可以使用之前做过的题的经验&#xff0c;在输入加入一圈海水&#xff0c;然后从(0,0)点开始BFS&#xff0c;这里进行八向搜索&#xff0c;搜到的0全部都染色成2&#xff0c;假如2能够蔓延…

GD32 HID键盘矩阵键盘发送数据时,一直发送数据问题处理

这个问题找了两三天,开始并不认为是示例程序的问题,只是感觉是自己代码问题。 这个解决流程大概是: 先调好矩阵键盘=> 调用发送函数。 就是因为调用时,一直发送数据,我也在按键抬起做了操作,始终不行。 最后,发现时示例代码中有个 空闲中断 引起的。 udev->reg…