【单片机通信技术应用——学习笔记三】液晶屏显示技术,取模软件的应用
一、液晶显示技术简介
1.RGB信号线
RGB是一种色彩模式,是工业界的一种颜色标准,是通过红(R)、绿(G)、蓝(B)三个颜色通道的变化,以及它们相互之间的叠加来得到各式各样的颜色。
在液晶控制器中可以定义不同的RGB颜色格式,有RGB16格式、RGB24格式、RGB32格式。
(1)RGB16格式主要有两种:RGB565格式和RGB555格式。
- RGB565数据格式:

- RGB555数据格式:

(2)RGB24格式:
- RGB888数据格式:

(3)RGB32格式:
- RGB888数据格式:

2.显存
在实际应用中一般为显示区域开辟一个存储区域,用于存储液晶屏上需要显示的图像数据,这个存储区域就是存储显示数据的存储器,被称为显存。
例如,分辨率为800像素×480像素的液晶屏,使用RGB888格式显示,一个像素需要3个字节数据,一帧显示数据大小为3×800×480= 1 152 000字节。使用CPU将图像数据复制到显存,使用LTDC将其显示在液晶屏上。
二、字符显示
在液晶显示器上显示的图形都是由一个个的像素组成的,而每个像素对应于一个特定格式的数据。因此,对于图片的显示,LTDC只能显示未经压缩编码的图片,而对于压缩编码过的图片格式,如JPEG、PNG格式的图片,需要应用程序解压后才能使用。
显示任意编码合适字符的原理也是一样的,需要先将字符按照特定的大小和字体格式转换成液晶显示器能够识别的像素数据,然后才能给LTDC使用,这种能够显示的字符格式就是字模。

{0x00,0x00,0x7F,0xFC,0x01,0x00,0x01,0x00,0x01,0x00,0x11,0x00,0x11,0x00,0x11,0xF8}
{0x11,0x00,0x11,0x00,0x11,0x00,0x11,0x00,0x11,0x00,0x11,0x00,0xFF,0xFE,0x00,0x00}
// 正
三、字符编码
常见的字符编码有 ASCII、ISO-8859-1、GB2312、GBK、Unicode、UTF-8、UTF-16 等。GB2312、GBK、UTF-8、UTF-16这几种格式都可以表示一个汉字。
1.ASCII
学过计算机的人都知道ASCII,它总共有128个字符,用一个字节的低7位表示,0~31是控制字符,如换行、回车、删除等;32~126是打印字符,可以通过键盘输入并且能够显示出来。

2.ISO-8859-1
ISO-8859-1编码是单字节编码,向下兼容ASCII,其编码范围是0x00~0xFF。0x00~0x7F完全和ASCII一致,0x80~0x9F是控制字符,0xA0~0xFF是文字符号。ISO-8859-1仍然是单字节编码,它总共能表示256个字符。
3.GB2312
GB2312的全称是《信息交换用汉字编码字符集基本集》,它是双字节编码。GB2312将所收录的字符分为94个区,区号为01~94。每个区收录94个字符,编号为01~94。
4.GBK
GBK全称是《汉字内码扩展规范》,是国家技术监督局为Windows 95所制定的新的汉字内码规范,它的出现是为了扩展GB2312,加入更多的汉字,它的编码范围是8140~FEFE(去掉xx7F),总共有23 940个码位,它能表示21 003个汉字。GBK编码和GB2312编码兼容,也就是说用GB2312编码的汉字可以用GBK编码来解码,并且不会有乱码。
5.GB18030
GB18030全称是《信息交换用汉字编码字符集》,它是我国的强制标准,它可能是单字节、双字节或者四字节编码,它的编码与GB2312编码兼容,这个虽然是国家标准,但是在实际应用系统中使用得并不广泛。
6.Unicode
Unicode(统一码、万国码、单一码)是计算机科学领域中的一项业界标准,包括字符集、编码方案等。Unicode是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
7.UTF-16
UTF-16具体定义了Unicode字符在计算机中的存取方法。UTF-16用两个字节来表示Unicode转化格式,这个是定长的表示方法,不论什么字符都可以用两个字节表示,两个字节是16bit,所以叫作UTF-16。UTF-16统一采用两个字节表示一个字符,虽然在表示上非常简单方便,但是也有其缺点,有很大一部分字符用一个字节就可以表示,但是UTF-16格式需要用两个字节表示,存储空间放多了一倍。
8.UTF-8
UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,用1~4个字节编码Unicode字符。如果只有一个字节则其最高二进制位为0;如果是多字节,其第一个字节从最高位开始,连续的二进制位值为1的个数决定了其编码的字节数,其余各字节均以10开头。
四、字模生成工具使用
字模生成工具很多,有PCtoLCD、字模提取V2.2及FontCvt_V522等。
这里介绍一下PCtoLCD2002,下载链接已放下边:
【免费】嵌入式开发点阵字模生成工具(OLED/LCD适配版)-PCtoLCD2002完美版资源-CSDN文库
1.在使用软件时一定记得去更改字模设置

2.以下是我在使用0.96OLED屏幕时的配置,一定要注意改自定义格式,发现这个每次打开时候都会默认选择A51格式,其他的参数一般不会变,但还是需要留意,过多的不再描述。

五、图片处理
如果我们想要将一张图片显示在屏幕上则需要更改其像素点,使其与我们使用的屏幕对应,比如使用1.8寸TFT屏幕,可以看到屏幕下方标注128*160,这是屏幕的像素点,我们要将上传的图片像素改为128*160才不会在屏幕上出现乱七八糟的情况。

1.更改图片像素
- 下图是Win11电脑使用WPS直接打开的图片,可以看到此时是1200*1200像素。

- 点击弹出下图

- 如下图选择像素

- 点击保存即可
2.图片取模
- 将刚才的图片打开,设置为宽度128高度160,输出灰度为16位真彩,取模软件已放链接。
【免费】嵌入式开发图像取模工具-Image2Lcd2.9资源-CSDN文库

- 随后点击保存就会生成数组
相关文章:
【单片机通信技术应用——学习笔记三】液晶屏显示技术,取模软件的应用
一、液晶显示技术简介 1.RGB信号线 RGB是一种色彩模式,是工业界的一种颜色标准,是通过红(R)、绿(G)、蓝(B)三个颜色通道的变化,以及它们相互之间的叠加来得到各式各样的…...
MySQL颠覆版系列————MySQL新特性(开启数据库的新纪元)上篇
文章目录 前言一、窗口函数(Window Functions)1.1 窗口函数概念1.2 常见的窗口函数 二、公用表表达式(Common Table Expressions, CTEs)2.1 公用表表达式的概念2.2 常见的公用表表达式 三、JSON增强3.1 JSON增强的概念3.2 常见的J…...
MySQL 调优:查询慢除了索引还能因为什么?
文章目录 情况一:连接数过小情况二:Buffer Pool 太小 MySQL 查询慢除了索引还能因为什么?MySQL 查询慢,我们一般也会想到是因为索引,但除了索引还有哪些原因会导致数据库查询变慢呢? 以下以 MySQL 中一条 S…...
Java实习生面试题(2025.3.23 be)
一、v-if与v-show的区别 v-show 和 v-if 都是 Vue 中的条件渲染指令,它们的主要区别在于渲染策略:v-if 会根据条件决定是否编译元素,而 v-show 则始终编译元素,只是通过改变 CSS 的 display 属性来控制显示与隐藏。 二、mybatis-…...
如何在百度搜索上删除与自己名字相关的资料
个人信息的网络足迹如同一张无形的网,将我们与世界的每一个角落紧密相连。然而,当某些与自己名字相关的资料不再希望被公众轻易检索到时,如何在百度搜索中有效“隐身”,成为了一个亟待解决的问题。面对复杂多变的网络环境…...
【C语言】C语言使用随机数srand,rand
C语言使用随机数srand,rand 可直接编译使用: #include <stdio.h> #include <time.h> #include <stdlib.h> #include <unistd.h>/* c语言提供的跟随机数有关的函数:int rand(void);返回值:产生的随机数void srand(unsiqned int seed);参数…...
为容器指定固定IP地址
文章目录 为容器指定固定IP地址可以通过以下步骤实现,适用于Docker环境:**方法一:使用Docker自定义桥接网络****方法二:Docker Compose配置****关键注意事项** 为容器指定固定IP地址可以通过以下步骤实现,适用于Docker…...
kube-score K8S Yaml静态代码分析工具详解
kube-score 是一款专注于 Kubernetes 配置文件的静态代码分析工具,旨在通过自动化检查帮助用户识别资源配置中的潜在问题,并遵循最佳实践以提升集群的安全性、稳定性和性能。以下是其核心功能、使用方法和应用场景的详细解析: 一、核心功能与…...
Spring Boot 整合 Elasticsearch 实践:从入门到上手
引言 Elasticsearch 是一个开源的分布式搜索引擎,广泛用于日志分析、搜索引擎、数据分析等场景。本文将带你通过一步步的教程,在 Spring Boot 项目中整合 Elasticsearch,轻松实现数据存储与查询。 1. 创建 Spring Boot 项目 首先ÿ…...
使用外部事件检测接入 CDH 大数据管理平台告警
CDH 大数据管理平台 CDH(Cloudera Distribution Hadoop)是一个企业级的大数据平台,由 Cloudera 公司提供,它包含了 Apache Hadoop 生态系统中的多种开源组件,并对其进行了优化和集成,以支持大规模数据存储…...
RabbitMQ八股文
RabbitMQ RabbitMQ 核心概念与组件1. RabbitMQ 核心组件及其作用1.1 生产者(Producer)1.2 交换机(Exchange)1.3 队列(Queue)1.4 绑定(Binding)1.5 消费者(Consumer&#…...
MongoDB(五) - Studio 3T 下载与安装教程
文章目录 前言一、Studio 3T 简介二、下载及安装1. 下载2. 安装 三、使用Studio 3T连接MongoDB 前言 本文旨在全面且深入地为你介绍 Studio 3T。从其丰富的功能特性、跨平台使用的便捷性,到详细的下载安装步骤,以及关键的连接 MongoDB 操作,…...
2025高频面试算法总结篇【链表堆栈队列】
文章目录 直接刷题链接直达反转链表环形链表判断一个序列是否为合理的出栈顺序最长有效括号旋转链表复杂链表的复制约瑟夫环问题滑动窗口最大值 直接刷题链接直达 反转链表 206. 反转链表 环形链表 141. 环形链表142. 环形链表 II 判断一个序列是否为合理的出栈顺序 946.…...
Java主流开发框架之请求响应常用注释
1.RestController 标记一个类为 REST 控制器,处理 HTTP 请求并直接返回数据(如 JSON/XML),而不是视图(如 HTML),一般是放在类的上边 RestController public class UserController {GetMapping…...
汽车制造MES
一、整体生产工序 整车的车间主要分为4个部分:冲压、焊装、涂装、总装、整车入库 系统架构 二、车间概括 1.冲压车间 2.焊装车间 3.涂装车间 4.总装车间 1.整车装配的部件都要可追溯、数据实时性要求高、涉及分装与总装的协调、物流配送的协调、质量批处理的协调、…...
LeetCode 2643.一最多的行:模拟(更新答案)
【LetMeFly】2643.一最多的行:模拟(更新答案) 力扣题目链接:https://leetcode.cn/problems/row-with-maximum-ones/ 给你一个大小为 m x n 的二进制矩阵 mat ,请你找出包含最多 1 的行的下标(从 0 开始)以及这一行中…...
固定翼无人机姿态和自稳模式
固定翼无人机的姿态模式(Attitude/Angle Mode)和自稳模式(Stabilize Mode)是两种常见的飞行控制模式,它们在飞控系统介入程度、操作逻辑及适用场景上有显著区别。以下是两者的详细对比及使用指南: …...
K8S中若要挂载其他命名空间中的 Secret
在Kubernetes(k8s)里,若要挂载其他命名空间中的Secret,你可以通过创建一个 Secret 的 ServiceAccount 和 RoleBinding 来实现对其他命名空间 Secret 的访问,接着在 Pod 中挂载这个 Secret。下面是详细的步骤和示例代码…...
关于Unity的CanvasRenderer报错
MissingReferenceException: The object of type ‘CanvasRenderer’ has been destroyed but you are still trying to access it. Your script should either check if it is null or you should not destroy the object. UnityEngine.UI.GraphicRaycaster.Raycast (UnityEng…...
LangChain组件Tools/Toolkits详解(5)——返回产出artifact
LangChain组件Tools/Toolkits详解(5)——返回产出artifact 本篇摘要14. LangChain组件Tools/Toolkits详解14.5 返回产出artifact14.5.1 定义工具14.5.2 使用ToolCall调用工具14.5.3 与模型一起使用14.5.4 从子例化BaseTool返回参考文献本章目录如下: 《LangChain组件Tools/T…...
信奥赛CSP-J复赛集训(模拟算法专题)(26):P5412 [YNOI2019] 排队
信奥赛CSP-J复赛集训(模拟算法专题)(26):P5412 [YNOI2019] 排队 题目描述 小明所在的班级要举办一场课外活动,在活动开始之前老师告诉小明:“需要把男女生分成两队,并且每一队都要按照身高从矮到高进行排序”。但是由于小明的马虎,没有把老师的安排转达给同学,导致全…...
基于开源模型的微调训练及瘦身打造随身扫描仪方案__用AI把手机变成文字识别小能手
基于开源模型的微调训练及瘦身打造随身扫描仪方案__用AI把手机变成文字识别小能手 一、准备工作:组装你的"数码工具箱" 1. 安装基础工具(Python环境) 操作步骤: 访问Python官网下载安装包安装时务必勾选Add Python to…...
在 Offset Explorer 中配置多节点 Kafka 集群的详细指南
一、是否需要配置 Zookeeper? Kafka 集群的 Zookeeper 依赖性与版本及运行模式相关: Kafka 版本是否需要 Zookeeper说明0.11.x 及更早版本✅ 必须配置Kafka 完全依赖 Zookeeper 管理元数据2.8 及以下版本✅ 必须配置Kafka 依赖外置或内置的 Zookeeper …...
STM32基础教程——定时器
前言 TIM定时器(Timer):STM32的TIM定时器是一种功能强大的外设模块,通过时基单元(包含预分频器、计数器和自动重载寄存器)实现精准定时和计数功能。其核心原理是:内部时钟(CK_INT)或…...
深入分析和讲解虚拟化技术原理
随着云计算和大数据技术的飞速发展,虚拟化技术应运而生,成为数据中心和IT基础设施的重要组成部分。本文将深入分析虚拟化的基本原理、主要类型以及在实际应用中的意义。 一、虚拟化技术的定义 虚拟化技术是通过软件将物理硬件资源抽象成虚拟资源的技术&…...
HarmonyOS Next~鸿蒙图形开发技术解析:AREngine与ArkGraphics 2D的核心能力与应用实践
HarmonyOS Next~鸿蒙图形开发技术解析:AREngine与ArkGraphics 2D的核心能力与应用实践 鸿蒙操作系统(HarmonyOS)在图形开发领域持续创新,其核心图形类Kit——**AREngine(增强现实引擎服务)与Ar…...
Can通信流程
下面给出一个更详细的 CAN 发送报文的程序流程说明,结合 HAL 库的使用及代码示例,帮助你了解每一步的具体操作和内部原理。 一、系统与外设初始化 1.1 HAL 库初始化 在 main() 函数开头,首先调用 HAL 库初始化函数: HAL_Init()…...
小白闯AI:Llama模型Lora中文微调实战
文章目录 0、缘起一、如何对大模型进行微调二、模型微调实战0、准备环境1、准备数据2、模型微调第一步、获取基础的预训练模型第二步:预处理数据集第三步:进行模型微调第四步:将微调后的模型保存到本地4、模型验证5、Ollama集成部署6、结果测试三、使用总结AI是什么?他应该…...
rip 协议详细介绍
以下是关于 RIP(Routing Information Protocol,路由信息协议) 的详细介绍,涵盖其工作原理、版本演进、配置方法、优缺点及实际应用场景。 1. RIP 协议概述 类型:动态路由协议,基于距离矢量算法(…...
同旺科技USB to SPI 适配器 ---- 指令之间延时功能
所需设备: 内附链接 1、同旺科技USB to SPI 适配器 1、指令之间需要延时发送怎么办?循环过程需要延时怎么办?如何定时发送?现在这些都可以轻松解决; 2、只要在 “发送数据” 栏的Delay单元格里面输入相应的延迟时间就…...
