XuSenfeng

个人站

复读了,更新随缘,有的文件不全或者图片缺失具体看我的笔记库(https://github.com/XuSenfeng/note)


液晶显示器(8080时序)

目录

液晶显示器

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

image-20230709190937950

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

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

OLED显示器: 不需要背光, 有机发光二极管, 像素的密度比较高

参数

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

分辨率: 行像素x列像素

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

显示器的尺寸

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

野火产品

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

没有控制芯片操控

image-20230709200748031

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

image-20230709201451303

image-20230709201654053

有操控芯片

使用8080接口

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

这里使用的是模式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: 控制屏幕坐标的显示模式