【单片机通信技术应用——学习笔记三】液晶屏显示技术,取模软件的应用

ops/2025/3/31 5:19:39/

一、液晶显示技术简介

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文库

  • 随后点击保存就会生成数组

http://www.ppmy.cn/ops/169556.html

相关文章

跨国生产制造企业:如何破解远距离数据传输难题?

在全球制造业数字化转型的背景下,跨国生产制造企业的文件传输需求正呈现指数级增长。无论是设计图纸、生产计划、质量控制数据,还是供应链协同信息,跨国文件传输已成为制造业高效运营的核心环节。 然而,制造业文件大数据传输具有文…

2025三掌柜赠书活动第八期:预训练语言模型:方法、实践与应用

目录 前言 模型架构创新:打破Transformer的性能枷锁 1、多头潜在注意力(MLA) 2、DeepSeekMoE混合专家架构 关于《预训练语言模型:方法、实践与应用》 训练优化策略:效率与性能的共生法则 1、多Token预测&#x…

力扣刷题(数组篇)

日期类 #pragma once#include <iostream> #include <assert.h> using namespace std;class Date { public:// 构造会频繁调用&#xff0c;所以直接放在类里面&#xff08;类里面的成员函数默认为内联&#xff09;Date(int year 1, int month 1, int day 1)//构…

Java面试黄金宝典11

1. 什么是 JMM 内存模型 定义 JMM&#xff08;Java Memory Model&#xff09;即 Java 内存模型&#xff0c;它并非真实的物理内存结构&#xff0c;而是一种抽象的概念。其主要作用是规范 Java 虚拟机与计算机主内存&#xff08;Main Memory&#xff09;之间的交互方式&#x…

【Java】TCP网络编程:从可靠传输到Socket实战

活动发起人小虚竹 想对你说&#xff1a; 这是一个以写作博客为目的的创作活动&#xff0c;旨在鼓励大学生博主们挖掘自己的创作潜能&#xff0c;展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴&#xff0c;那么&#xff0c;快来参加吧&#xff01…

(c语言)网络编程之UDP认识与并发服务器实现

一、概述 UDP(User Datagram Protocol) : 用户数据报协议&#xff0c;是不可靠的无连接的协议。在数据发送前&#xff0c;因为不需要进行连接&#xff0c;所以可用于进行高效率的传输。 但不保证数据的可靠性。 特点 UDP 是无连接的协议 UDP 不保证数据可靠性 UDP 是面向报文…

《AI大模型开发笔记》企业RAG技术实战(二)

接上一篇 《AI大模型开发笔记》企业RAG技术实战(一)https://mp.csdn.net/mp_blog/creation/editor/146381354 使用llamaindex实例 https://docs.llamaindex.ai/en/stable/api_reference/ 环境配置 我们继续使用前面langchain例子的python虚环境,不用新建,激活就行 …

vue3中<script setup>语法糖是什么意思。为什么叫语法糖,为什么叫糖,它甜吗

在 Vue 3 里&#xff0c;<script setup>属于一种语法糖。下面会详细解释它的含义&#xff0c;以及为何被叫做语法糖。 <script setup>语法糖的含义 <script setup>是 Vue 3 新增的一种语法&#xff0c;其用途是简化单文件组件&#xff08;SFC&#xff09;内…