STM32F103使用1.44寸LCD屏显示图片(小白向)

目录

实战操作

原理解析


实战操作

前面单纯讲操作,后面再原理

先在浏览器下载图片转换软件:Img2Lcd.exe

下载完点击.exe安装

 安装好后安装的位置出现这个文件夹

 双击进去后

双击imglcd.exe打开图片取模软件

未注册的界面

注册码

我的lcd屏是128*128个像素点,所以最大宽度和高度设置为128、128。

lcd显示为RGB565,所以选16为真彩色(R5、G6、B5)

注意不要勾选包含文件头数据

 点击左上角保存图标

这时候可以看到我的数据是32768,因为128*128*个像素点,像素点又是RGB565格式(16位),而数组里面的表现形式是一个字节(8位)。所以数据个数为128*128*2=32768。你们也可以验算一下是不是这样,不符合自己的会有问题。

否则可能会出现图片最右边有一缕跑到左边了

 复制记事本内容,然后在工程目录下创建image.h文件

 复制粘贴数组到里面,CTRL+S保存

 在main.c中#include image.h

 编译后右键GO TO一下看看可不可以去到image.h

 不能的看看自己的.h文件是否在路径里了

 

 

 添加进去再编译一下就行了

打开后的样子

 这个数组名就是我们待会要使用到的参数

使用格式

   LCD_Showimage(0, 0, 128, 128,gImage_1);	 

 函数的声明和定义你们的lcd.c和lcd.h应该都有,可能名字不一样,但是功能是一样的

然后编译,烧录就好了

 原理解析

        我们知道在自然界中,红、绿、蓝是光学三原色(RGB),自然界中的任何颜色都可以由红、绿、蓝三原色来叠加组成。 

        举例:红色与绿色1:1叠加就组成了黄色,红色与绿色与蓝色1:1:1叠加就组成了白色。

        红色是(R:255,G:0,B:0),也就是0xFF0000。绿色(R:0,G:255,B:0),也就是0x00FF00。蓝色就是(R:0,G:0,B:255),也就是0x0000FF。不同颜色的RGB值见下表:

RGB颜色代码表🎨 (rapidtables.org)

        虽然采用三个字节来表示RGB的颜色,能表示的颜色非常丰富,数据也非常的整齐 。但是嵌入式系统常常资源有限,使用三个字节表示一个像素过于消耗内存,所以在小型嵌入式系统中,常常使用两个字节(16Bit)来表示一个像素的颜色。

        我们的液晶屏用的驱动芯片是ST7735S,它也是用两个字节(16Bit)来表示一个像素的颜色。在(16Bit)的颜色系统中,常用的是5-6-5的组合形式,即红色占用5Bit,绿色占用6Bit,蓝色占用5Bit。如下图所示:

RGB565转RGB888原理 (MATLAB代码)_言寺之风雅颂的博客-CSDN博客_rgb565转rgb888补偿

        用5个位表示红色为(R:32,G:0,B:0),也就是0xF800,二进制为11111000 00000000.

        上面的图片转换软件,输出的时候选择16位真彩色也是这个原因。但是输出的数组,每一个是8位,而每个像素点需要16位的RGB值表示颜色。所以我们在程序里面,针对每个像素点,需要写入两次,每个数据8位,从而组成16位的RGB值。

        液晶屏有128*128个像素点,每个像素点需要写入两次,一共需要128*128*2个数据,也就是32768个数据。这也是为什么输出的图片数组有32768个的原因。

        驱动芯片将某种颜色,以16进制的方式,写入到液晶屏的每一个像素点,然后所有128*128个像素点就组成了完整的图像。

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要使用STM32F103RCT6驱动1.44TFT LCD显示,首先需要了解TFT LCD显示的基本工作原理和通信接口。 TFT LCD显示由控制器和显示面板组成,控制器负责将图像数据发送到显示面板,并控制显示面板的驱动方式。STM32F103RCT6是一款32位ARM Cortex-M3核心的微控制器,具有丰富的外设和较高的处理能力,适合用于驱动TFT LCD显示。 接下来需要确定TFT LCD显示的通信接口是什么,常见的通信接口有SPI、I2C和8080并行接口等。对于1.44TFT LCD显示,通常采用SPI接口进行通信。 在进行硬件连接之前,需要查看TFT LCD显示的规格书和STM32F103RC6的数据手册来了解各个引脚的功能和连接方式。通常,SPI接口需要如下连接:使用STM32F103RCT6的SPI主机模式,分别连接STM32F103RCT6的SPI主机的SCK、MISO、MOSI管脚(对应SPI1或SPI2)与TFT LCD显示的SCK、SDO、SDI管脚,还需要连接片选管脚,以及连接显示的复位管脚和片选管脚以及电源供应和地。 在软件方面,需要先配置STM32F103RCT6的SPI外设,并设置通信速率、数据位长度等参数。然后,编写驱动程序,通过SPI与TFT LCD显示进行数据通信,将显示数据发送到TFT LCD显示,以实现图像显示的功能。 总的来说,驱动1.44TFT LCD显示需要进行硬件设置和软件编程。通过了解TFT LCD显示的通信接口和STM32F103RCT6的外设特性,并编写相应的驱动程序,就可以实现TFT LCD显示的驱动及图像显示功能。 ### 回答2: 要驱动1.44TFTLCD显示,首先要使用STM32F103RCT6开发板与显示进行连接。我们可以通过GPIO口实现数据线与显示相连,而控制线则通过专门的引脚连接。 接下来需要编写相关的驱动代码来控制显示。我们可以使用HAL库提供的函数,来设置GPIO口的输出模式,以及数据传输相关的操作。利用SPI或者I2C通信协议,我们可以通过发送命令和数据来控制显示显示内容。 在驱动代码中,我们需要先初始化SPI或者I2C通信,并配置相应的参数,比如时钟频率、传输模式等。 接着,我们需要编写命令和数据的发送函数,通过SPI或I2C发送相关指令给显示。比如,我们可以通过发送命令来设置显示区域、背光亮度等参数。 最后,我们可以编写显示函数来实现在显示显示图像或者文字。通过发送数据来更新显示内容,并且可以设置不同的显示模式,如图形显示、字符显示等。 需要注意的是,针对不同的显示型号,具体的驱动代码可能会有所不同。因此,在编写驱动代码时,需要结合显示的数据手册来编写相应的控制指令和函数。 以上是关于如何驱动1.44TFTLCD显示的大致步骤。在实际应用中,还需要对具体的硬件结构和功能要求进行详细调试和开发。 ### 回答3: STM32F103RCT6是一款ARM Cortex-M3内核的微控制器,可以用于控制各种外设和驱动显示。在驱动1.44TFT LCD显示时,我们需要按照以下步骤进行设置和编程: 1. 连接硬件:首先,将STM32F103RCT6与1.44TFT LCD显示连接起来。根据显示和微控制器的规格书或引脚配置表,将引脚正确连接。 2. 配置GPIO引脚:在STM32F103RCT6的寄存器中,通过设置GPIO引脚的模式和速度,将其配置为输出模式。将对应的引脚配置为控制显示的D/C引脚(用于选择数据/指令)、CS引脚(用于片选)、以及时钟引脚和数据引脚等。 3. 编写驱动程序:使用C语言或其他适合的编程语言,编写代码来控制和驱动1.44TFT LCD显示。根据显示的数据手册和命令集,实现显示的初始化、清、写入像素数据等功能。 4. 设置显示参数:根据需要,设置显示的相关参数,例如幕分辨率、颜色模式、显示方向等。这些参数需要根据具体的显示型号来设置。 5. 显示数据:通过驱动程序发送像素数据,将需要显示的图像或文本等内容写入显示。 6. 刷新显示:根据需要,定时刷新显示内容,以保持实时更新的效果。 通过以上步骤,我们可以实现STM32F103RCT6对1.44TFT LCD显示的驱动。需要根据具体的硬件和显示型号进行适配和调试,确保驱动程序的正确性和稳定性。同时,根据项目的需求和复杂度,可能需要更详细的代码和配置设置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值