12.TFT-LCD专解,lcd文字显示,图片显示

文章介绍了显示器的种类,包括CRT、LCD和LED点阵显示器,重点讲解了TFT-LCD的控制原理,包括STM32F429和STM32F407芯片的区别,液晶显示面板、触摸面板和PCB底板的结构,以及RGB-LCD的控制原理,如RGB信号线、同步时钟、水平和垂直同步信号的作用。此外,还提到了SSD1963液晶控制器的使用,以及如何在工程中添加和使用LCD显示文字和图片。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

常见显示器介绍

TFT-LCD控制原理

SSD1963液晶控制器

LCD测试程序讲解

LCD显示图片和中文字符

一。常见显示器介绍

 1.显示器

CRT显示器《老显示器》     

LCD液晶显示器《液晶显示》   

LED点阵显示器《手机显示(贵)》

2.TFT-LCD控制框图

        STM32F429 系列的芯片不需要额外的液晶控制器,也就是说它把专用液晶控制器的功能集成到 STM32F429 芯片内部了,可以理解为电脑的 CPU集成显卡。而 STM32F407 系列的芯片由于没有集成液晶控制器到芯片内部,所以它只能驱动自带控制器的屏幕,可以理解为电脑的外置显卡。

 二。TFT-LCD控制原理

1.TFT-LCD结构

        完整的显示屏由液晶显示面板、电容触摸面板以及 PCB底板构成

        (1)液晶显示面板:用于显示图像,文字的彩色显示设备

        (2)触摸面板: 触摸面板带有触摸控制芯片,该芯片处理触摸信号并通过引出的信号线与外部器件通讯,触摸面板中间是透明的,它贴在液晶面板上面,一起构成屏幕的主体

        (3)PCB底板: PCB 底板上可能会带有“液晶控制器芯片”因为控制液晶面板需要比较多的资源,所以大部分低级微控制器都不能直接控制液晶面板,需要额外配套一个专用液晶控制器来处理显示过程,外部微控制器只要把它希望显示的数据直接交给液晶控制器即可。而不带液晶控制器的 PCB底板 ,只有小部分的电源管理电路,液晶面板的信号线与外部微控制器相连,直接控制。

2.RGB-LCD控制原理

(2) RGB信号线      

         RGB信号线各有8根,分别用于表示液晶屏一个像素点的红、绿、蓝颜色分量。使用红绿蓝颜色分量来表示颜色是一种通用的做法,打开Windows系统自带的画板调色工具,可看到颜色的红绿蓝分量值,常见的颜色表示会在“RGB”后面附带各个颜色分量值的数据位数      如RGB565表示红绿蓝的数据线数分别为5、6、5根,一共为16个数据位,可表示216种颜色;      如果液晶屏的种颜色分量的数据线有8根,那它表示RGB888格式,一共24位数据线,可表示的颜色为224种。

(3) 同步时钟信号CLK      

         液晶屏与外部使用同步通讯方式,以CLK信号作为同步时钟,在同步时钟的驱动下,每个时钟传输一个像素点数据。

(4)水平同步信号HSYNC        

        水平同步信号HSYNC(Horizontal Sync)用于表示液晶屏一行像素数据的传输结束,每传输完成液晶屏的一行像素数据时,HSYNC会发生电平跳变,如分辨率为800x480的显示屏(800列,480行),传输一帧的图像HSYNC的电平会跳变480次

(5)垂直同步信号VSYNC    

        垂直同步信号VSYNC(Vertical Sync)用于表示液晶屏一帧像素数据的传输结束,每传输完成一帧像素数据时,VSYNC会发生电平跳变。其中“帧”是图像的单位,一幅图像称为一帧,在液晶屏中,一帧指一个完整屏液晶像素点。人们常常用“帧/秒”来表示液晶屏的刷新特性,即液晶屏每秒可以显示多少帧图像,如液晶屏以60帧/秒的速率运行时,VSYNC每秒钟电平会跳变60次。

(6)数据使能信号DE      

        数据使能信号DE(Data Enable)用于表示数据的有效性,当DE信号线为高电平时,RGB信号线表示的数据有效。

3.LCD数据传输时序

         注:液晶屏显示的图像可看作一个矩形,液晶屏有一个显示指针,它指向将要显示的像素。显示指针的扫描方向方向从左到右、从上到下,一个像素点一个像素点地描绘图形。这些像素点的数据通过RGB数据线传输至液晶屏,它们在同步时钟CLK的驱动下一个一个地传输到液晶屏中,交给显示指针,传输完成一行时,水平同步信号HSYNC电平跳变一次,而传输完一帧时VSYNC电平跳变一次。

(2)LCD数据传输时序参数

        液晶显示指针在行与行之间,帧与帧之间切换时需要延时,而且HSYNC及VSYNC信号本身也有宽度,这些时间参数说明见下表:


三。SSD1963液晶控制器

1.得到中文字符的字符串形式

《资料的这个文件》

 复制到font.h中,一般在根目录的inc文件夹中

2.得到图片的字符串形式

四。实验

1.工程文件的加入(注意:一般买板子都会有工程文件模版提供)

        加入文件font.h/lcd.h到inc文件夹中。

        加入文件lcd.c到Src文件夹中。

2.使用lcd.c中提供的函数实现功能。font.h中是文字。


注意:出现的问题,像是化蛇添足

问题:在main.c中我写了#include"lcd.h"#include"font.h"但是一直在报错

问题出现原因:main.c中只写#include"lcd.h"即可,写上#include"font.h"会导致重复定义,出错


 补充1:显示文字

cubemx创建工程

(1)RCC时钟设置 时钟配置

 (2)usart设置

 (3)FMSC配置(lcd显示)

 FMSC模拟8080时序,根据原理图计算出来

 步骤:

(1)inc文件夹下:

      font.h为存放文字,lcd.h为显示屏

(2)Src文件夹下:

      lcd.c为显示屏

(3)代码

main.c内,while()外

lcd_init();
lcd_clear(Red);
LCD_ShowString(240, 100, (uint8_t *)"ABÍõ½­»ÔD", Yellow ,Blue );

注意:具体可以去lcd.c文件中找函数的使用方法

(4)结果

红色背景,蓝底文字


补充2:显示图片

(1)cubemx不用补充设置

(2)把设置好的图片放入inc文件夹中

 (3)main.c中导入头文件

#include "999.h"

//自己设置的图片数组名称
LCD_DrawPicture(0, 240, 0,162,(uint8_t *)gImage_999);

(4)结果,图片显示出来

补充:数字的展示

//char接受 数字改为字符
 

uint16_t time;
char time_lcd[6];

sprintf(time_lcd,"%6d",time);
LCD_ShowString(230,160,(uint8_t *)time_lcd,Yellow ,Blue );
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值