Skip to content

液晶显示器

LCD液晶显示器: 功耗比较小, 比较薄, 承载的信息比较多, 液晶是一种有机化合物, 液态, 但是分子排列非常的规律, 加电流会使电子偏移, 配合偏振片, 有控制光线透过率的功能, 配合彩色滤光片和电压可以改变每一颜色的光的透光量

image-20230709190937950

缺点, 本身不发光, 光源经过一系列过滤之后损失比较高, 且显示的方向比较窄, 彩色转换得时候变化速率比较低, 分子转动需要一定时间

LED显示器: 单个像素点是三色LED组成, 灯的大小比较大, 像素的密度比较低, 显示的角度比较多, 单色的应用也比较广泛

OLED显示器: 不需要背光, 有机发光二极管, 像素的密度比较高, 有机二极管制成的显示屏, 对比度高, 可以显示黑色, 缺点是会烧屏以及价格昂贵, 还会有低频频闪, 比较贵寿命比较低

点阵显示屏: 大型广告牌, LED显示屏, 但是耗电比较高, 很贵体积大

断码屏: 数码管, 计算器, 遥控器, 成本低, 驱动简单, 稳定

接口分类

MCU接口≤800*480, 有SRAM, 不需要频繁刷新

RGB接口≤1280*800, 不带SRAM需要实时刷新, 需要大内存, 驱动比较复杂

MIPI, 4K, 不带SRAM, 支持高分辨率, 省电大部分手机使用的接口

参数

像素: 组成的最基本的单元

分辨率: 行像素x列像素

颜色深度: 每一个像素点可以显示的颜色的种类, 一般使用位作为单位, 255为24bit

显示器的尺寸

点距: 两个像素点之间的距离

电脑使用32位ARGB, A是透明度

野火产品

由于stm32f1性能不足需要专门的控制芯片, 240x320

没有控制芯片操控

image-20230709200748031

表示一个二十四位的数据线, CLK是时钟线, HSYNC, VSYNC跳变表达传输完一行一列, DE有效的时候RDB数据有效

image-20230709201451303

image-20230709201654053

操控芯片ILI9341

使用8080接口, 支持多种接口, 左上角的框, 现在提供的是MCU接口, 还可以使用SPI或者RGB接口,要看厂家的设计

image-20230710170810501

主要使用的是黄色区域的实际上使用的16位, 还有WDX, RDX读写使能引脚, D/CX引脚对应RS引脚, 还支持SPI通讯, 使用IM引脚进行控制, 但是在生产的时候已经固化

红色的区域控制的是背光

image-20230710171350054

image-20230710171700805

image-20230710171740641

红色的是数据线, 蓝色的是控制线

image-20230710171818940

采用的是异步通讯

读数据的时候是为了获取屏幕的数据, 进行截屏等

image-20230710172630819

写的时序

image-20230710172938021

有设置位置的命令, 写数据的命令以及读取的命令

image-20230710182600064

FSMC

Flexible Static Memory Controller 灵活的静态存储控制器

用于驱动SRAM, NOR FLASH, NAND FLASH以及PC卡之类的存储器

定义好FSMC以后直接访问一个地址就可以实现对于存储器的使用, 不需要操控时序

F1, F4大容量100引脚以上的才有这一个外设

F4/F7/H7系列的是FMC接口, 可以操控sdram

image-20231212201646032

image-20231212201728207

image-20231212202146241

image-20231212202719121

image-20231212202847385

image-20231212203331373

地址映射

image-20231212203735044

image-20231212204149249

image-20231213222117457

寄存器

image-20231213222139140

image-20231213222322162

image-20231213222452217

image-20231213222540893

image-20231213223325165

FMC

F4F7H7

简介: 灵活的存储控制器

用于驱动NOR/PSRAM, NAND/PC卡, 以及同步的DRAM(SDRAM/Mobile LPSDR SDRAM)等

之后亦就可以当做普通的内存进行使用了, 也可以用于模拟8080时序

image-20231214202038696

image-20231214202714360

image-20231214202752883

image-20231214203611448

寄存器

image-20231214204141808

image-20231214204154996

image-20231214204211318

实际操控

使用FSMC

这里使用的是模式B

image-20230710194944584

CLK, NWAIT, NADV都不需要

image-20230710195244255

image-20230710195401204

image-20230710195544195

image-20230710200000856

还需要考虑地址对其问题

由于NOR FLASH内部实际上是16位, 所以一个地址对应的是两个字节, 所以stm32进行了移位处理, 相当于addr<<1

image-20230710200857245

实际使用

FSMC_NORSRAMTimingInitTypeDef: 使用的变量, FSMC_AddressSetupTime, FSMC_DataSetupTime, FSMC_AccessMode

FSMC_NORSRAMTiniTypeDefe:FSMC_Bank,FSMC_MemoryType, FSMC_MemoryDataWidth, FSMC_WriteOperation, FSMC_ExtendedMode

这里使用的FOR FLASH的时序

image-20230710202255921

左侧是stm32引脚, 右侧是液晶屏, 使用A16控制是命令还是数据

PE1控制复位

BL: 背光引脚, 普通推挽输出, 通过三级管控制, 使用NE1进行片选

TP: 触摸屏相关引脚

使用

初始化引脚, 初始化时序

使用命令0ch, 读取出像素点的状态, [0:2]为101为16bit, 为110是18bit, 没有初始化是18bit

2Ah: 有四个参数, 设置开始的列和结束的列, 设置x坐标

2bh: 设置他的纵坐标

image-20230712184233155

2ch: 然后发送n个字节设置每一个像素的颜色

36h: 控制屏幕坐标的显示模式

image-20231211230222943

根据读取到的不同的ID进行不同的初始化

image-20231212191820453

image-20231212192120140

image-20231212192139990

image-20231212192844895

设置横坐标

image-20231212192909252

image-20231212192944263

image-20231212193246249

r的左移右移为的是清空无关的位

正点原子的OLED

0.96英寸, 高亮, 有升压电路, 分辨率是128*64, 使用SSD1306驱动IC(内部集成升压)

这个驱动芯片里面有多种的通信接口, 有8080, 4线SPI和IIC, 8位6800等接口, 通过BS1和BS2引脚进行选择

image-20231206085632845

image-20231206085901779

image-20231206090233702

image-20231206090337077

image-20231206090412327

image-20231206090545424

驱动芯片

image-20231206090932378

image-20231206093124276

image-20231206093239558

image-20231206093407838