STM32学习记录0010——TFTLCD液晶显示屏

这篇具有很好参考价值的文章主要介绍了STM32学习记录0010——TFTLCD液晶显示屏。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、参考资料

《STM32不完全手册》第18章
《ILI9341数据手册》

二、TFTLCD驱动原理

1、什么是TFTLCD

TFT-LCD 即薄膜晶体管液晶显示器。其英文全称为:Thin Film Transistor-Liquid Crystal Display。TFT-LCD与无源 TN-LCD、STN-LCD 的简单矩阵不同,它在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,
注释:
1、它是一个显示屏
2、每个像像素点上设置有一个薄膜晶体管(TFT)
3、就可以克服选通时的串扰,就是每一个像素点,都可以独立控制

2、TFTLCD有什么优势

TFTLCD具有:亮度好、对比度高、层次感强、颜色鲜艳等特点。应用于电视、手机、电脑、平板等各种电子产品。
注释:大家用的多!

3、细节补充

STM32学习记录0010——TFTLCD液晶显示屏

  • 分辨率:240*320
  • 驱动IC:ILI9341
  • 自带触摸屏(电阻触摸屏)
  • 16位80并口驱动
  • 16位真彩显示(65536色)

注释:
1、分辨率
STM32学习记录0010——TFTLCD液晶显示屏

2、驱动IC
STM32学习记录0010——TFTLCD液晶显示屏

3、电阻触摸屏
STM32学习记录0010——TFTLCD液晶显示屏

4、16位80并口驱动
STM32学习记录0010——TFTLCD液晶显示屏
8080介绍:http://www.360doc.com/content/13/1106/16/14528632_327181927.shtml

4、原理图

STM32学习记录0010——TFTLCD液晶显示屏
STM32学习记录0010——TFTLCD液晶显示屏

名称 对应引脚
D[15:0]:16 位双向数据线 PB[15:0]
CS(LCD片选信号) PC9
RS(数据-1/命令-0,标志) PC8
WR(LCD写信号) PC7
RD(LCD读信号) PC6
BL (背光控制信号) PC10

触摸屏接口信号:

名称 对应引脚
T MOSI PC3
T MISO PC2
T SCK PC0
T CS PC13

5、16位80并口

看到80并口,
1、知道有4根线和一组IO口
2、知道时序图,会读时序图
四根线+一组IO口

  • CS:片选信号
  • WR:写信号
  • RD:读信号
  • RS:命令-0,数据-1 标志位
  • DB[17:1]
    时序图:
    写数据:
  • CS拉低,RD拉高,RS-0写命令,RS-1写数据,在WR上升沿作用
    STM32学习记录0010——TFTLCD液晶显示屏

读数据:

  • CS拉低,WD拉高,RS-0读命令,RS-1读数据,在RD上升沿作用STM32学习记录0010——TFTLCD液晶显示屏

6、ILI9341 时序

ILI9341所用到的数据协议就是80并口,协议可以理解为语言的语法,是一种规则的存在,我们表达的过程当中使用到语法,但是具体的传输内容,交流内容是什么,可以根据具体的语境、需求决定,但是就是需要遵守规则,这里ILI9341使用的就是80并口协议这种传输数据的规则。
STM32学习记录0010——TFTLCD液晶显示屏
STM32学习记录0010——TFTLCD液晶显示屏
图片上的数据时ILI9341读写数据时的最小时间,单位是ns

7、TFTLCD 驱动流程

GRAM:graphics RAM,即图像寄存器,在驱动TFT——LCD显示的芯片ILI9341中,存储要显示的图像信息。
STM32学习记录0010——TFTLCD液晶显示屏

8、RGB565格式说明

STM32学习记录0010——TFTLCD液晶显示屏
STM32学习记录0010——TFTLCD液晶显示屏
1、知道一个像素点占两个字节
2、知道每位存储的是什么

9、ILI9341指令格式说明

特别注意 ILI9341 所有的指令都是 8 位的(高 8 位无效),且参数除了读写 GRAM 的时候是 16 位,其他操作参数,都是 8 位的,
这里介绍几个重要指令

(1)0XD3指令

STM32学习记录0010——TFTLCD液晶显示屏
STM32学习记录0010——TFTLCD液晶显示屏
只有读出读出ID,才能根据不同的ID进行初始化。

(2)0X36指令

0X36指令: 控制GRAM 指针自增。
STM32学习记录0010——TFTLCD液晶显示屏
0X36指令,这是存储访问控制指令,可以控制 ILI9341 存储器的读写方向,简
单的说,就是在连续写 GRAM 的时候,可以控制 GRAM 指针的增长方向,从而控制显示方式,连读读GRAM也是一样。

STM32学习记录0010——TFTLCD液晶显示屏
STM32学习记录0010——TFTLCD液晶显示屏

(3)0X2A指令

设置X轴坐标。
STM32学习记录0010——TFTLCD液晶显示屏

(4)X2B指令

设置Y轴坐标。
STM32学习记录0010——TFTLCD液晶显示屏
X2B指令和X2A指令可以结合起来窗。

(5)X2C指令

X2C指令:写GRAM的显存。
STM32学习记录0010——TFTLCD液晶显示屏

(6)0X2E指令

X2E指令:读取GRAM的显存。

STM32学习记录0010——TFTLCD液晶显示屏

三、基本代码

1、硬件连接

STM32学习记录0010——TFTLCD液晶显示屏

2、lcddev结构体

STM32学习记录0010——TFTLCD液晶显示屏

3、7个底层接口函数

(1)写寄存器值函数

STM32学习记录0010——TFTLCD液晶显示屏
STM32学习记录0010——TFTLCD液晶显示屏

(2)写数据函数

STM32学习记录0010——TFTLCD液晶显示屏
STM32学习记录0010——TFTLCD液晶显示屏
注释:这个地方代码有点看不懂,只能理解其作用
关于拿时间换空间,这里是说常规定义的函数执行过程,需要不断的定义变量,然后又释放变量,最终是相当于没有占有存储空间的,但是不断的新建变量的工程需要不断的查询足够的空间地址,是需要花费时间的,而使用宏定义函数,一开始那些变量需要用到的空间就是申请好的,而且在这个的程序执行过程当中都是固定存在的,不需要每一次都靠开辟新的空间,而且地址也是知道的,就是所谓的利用空间换时间。

上面这个是和同学讨论的结果,没有非常的书面化表达,但是可以简单的理解,感谢!

(3)读数据函数

STM32学习记录0010——TFTLCD液晶显示屏

(4)写寄存器内容函数

STM32学习记录0010——TFTLCD液晶显示屏

(5)读寄存器内容函数

STM32学习记录0010——TFTLCD液晶显示屏

(6)开始写GRM函数

STM32学习记录0010——TFTLCD液晶显示屏

(7)写GRAM函数

STM32学习记录0010——TFTLCD液晶显示屏
STM32学习记录0010——TFTLCD液晶显示屏
注释: 关于宏定义的引用是按步骤执行,使用这里就是利用空间换时间的原则调用的函数

四、功能代码

1、初始化函数

(1)GPIO初始化

不要觉得复杂,我们可以先理解,拆分,然后内化,最后你也是可以写出来的哦,不放过,是对代码对起码的尊重。
STM32学习记录0010——TFTLCD液晶显示屏
STM32学习记录0010——TFTLCD液晶显示屏
这里用到了复用功能所以复用时钟需要初始化
STM32学习记录0010——TFTLCD液晶显示屏
PB3-JTCO
PA14-JTCI
这两个引脚的一般功能就是作为JTAG引脚,所以要将题目当做朋友IO口使用时,首先需要开启复用时钟,还有将JTAG功能关闭!

(2)读取驱动ID

STM32学习记录0010——TFTLCD液晶显示屏

(3)驱动代码

STM32学习记录0010——TFTLCD液晶显示屏

(5)基本配置函数

STM32学习记录0010——TFTLCD液晶显示屏

2、LCD坐标设置函数

STM32学习记录0010——TFTLCD液晶显示屏

3、LCD画点函数

STM32学习记录0010——TFTLCD液晶显示屏
STM32学习记录0010——TFTLCD液晶显示屏

4、LCD读点函数

STM32学习记录0010——TFTLCD液晶显示屏

5、LCD显示字符函数

STM32学习记录0010——TFTLCD液晶显示屏
STM32学习记录0010——TFTLCD液晶显示屏
STM32学习记录0010——TFTLCD液晶显示屏

五、应用起来

STM32学习记录0010——TFTLCD液晶显示屏
STM32学习记录0010——TFTLCD液晶显示屏文章来源地址https://www.toymoban.com/news/detail-405583.html

到了这里,关于STM32学习记录0010——TFTLCD液晶显示屏的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32 F103C8T6学习笔记8:0.96寸单色OLED显示屏显示字符

    使用STM32F103 C8T6 驱动0.96寸单色OLED显示屏: OLED显示屏的驱动,在设计开发中OLED显示屏十分常见,因此今日学习一下。一篇文章从程序到显示都讲通。 文章提供源码、原理解释、测试工程下载,测试效果图展示。   目录 OLED驱动原理—IIC通信: SSD1306 单色 0.96 OLED 显示屏特性

    2024年02月12日
    浏览(56)
  • STM32 F103C8T6学习笔记9:0.96寸单色OLED显示屏—自由取模显示—显示汉字与图片

    今日学习0.96寸单色OLED显示屏的自由取模显示: 宋体汉字比较复杂,常用字符可以直接复制存下来,毕竟只有那么几十个字母字符,但汉字实在太多了,基本不会全部放在单片机里存着,一般用到多少个字就取几个字的模,因此汉字放在这里与自由取模一起讲。 文章提供源码

    2024年02月11日
    浏览(45)
  • STM32 F103C8T6学习笔记10:OLED显示屏GIF动图取模—简易时钟—动图手表的制作~

    今日尝试做一款有动图的OLED实时时钟,本文需要现学一个OLED的GIF动图取模 其余需要的知识点有不会的可以去我  STM32 F103C8T6学习笔记  系列专栏自己查阅把,闲话不多,直接开肝~~~ 文章提供源码,测试工程下载,测试效果图。 做个简易的时钟,就不把RTC实时时钟放进来学了

    2024年02月12日
    浏览(57)
  • LCD1602液晶显示屏

    主函数 LCD1602.c LCD1602.h 接线图:   1、1602屏幕=16x2=32个字符,总共有32个字符  2、每个字符由35个像素组成 每个像素由一小块液晶控制 --------------------------------------------------------------------------------------------------------------------------------- 液晶的控制原理: 不施加电压——液晶完

    2024年02月07日
    浏览(49)
  • STM32-OLED显示屏

    *本文采用的OLED显示屏为4针脚IIC显示屏,4针脚分别为GND,VCC,SCL,SDA OLED.C OLED_Font.h main.c

    2024年02月05日
    浏览(48)
  • STM32——OLED显示屏(4)

    目录 一、调试方式 二、OLED简介 三、OLED硬件电路 四、OLED驱动函数 五、OLED显示屏使用 1、硬件接线图 2、添加OLED驱动函数 3、程序 4、实物展示  六、Keil软件自带调试模式         对于单片机的编程而言,经常会遇到一个很大的问题,就是程序调试,单片机不像电脑,电

    2024年02月03日
    浏览(51)
  • 【STM32篇】驱动LCD显示屏

    本次使用的硬件设备为野火的霸道V2开发板,显示器控制芯片型号为ILI9341,实际型号为ST7789V。在编写代码时参考的是ILI9341数据手册,二者差别不大,都是240*320分辨率。         ILI9341是一个用于TFT液晶显示的单芯片控制驱动器,具有262144色的240RGB x 320像素显示解决方案。

    2024年02月12日
    浏览(46)
  • TFT-液晶显示屏的结构和原理

    TFT-LCD (薄膜晶体管 液晶显示屏)的结构组成分为:背光部分,上下偏光片,液晶模组、TCON板 1. 背光模组部分 又分为:   (1)灯珠(冷阴极管):背光光源 (2)反射板:将灯管发出来的光 反射到导光板上,增加光的利用率 (3)导光板:将光线折射到扩散片上,使光 更

    2023年04月10日
    浏览(46)
  • STM32 软件IIC 控制OLED 显示屏

    需要看原理图了

    2024年02月09日
    浏览(53)
  • STM32 使用LCD12864显示屏(串行方式)

    12864LCD液晶显示模块是一款4位/8位并行、2线或3线接口方式,内部含有国际一级、二级简体中文字库的图形点阵液晶模块。显示分辨率为128 64,内置8198个16 16点汉字,和128个16*8点ASCII字符集。 CS片选信号 (如果只有一款屏,可以将CS直接接到VCC上,实现两线通讯。) SID数据传

    2024年02月05日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包