Appearance
液晶显示器
LCD液晶显示器: 功耗比较小, 比较薄, 承载的信息比较多, 液晶是一种有机化合物, 液态, 但是分子排列非常的规律, 加电流会使电子偏移, 配合偏振片, 有控制光线透过率的功能, 配合彩色滤光片和电压可以改变每一颜色的光的透光量
缺点, 本身不发光, 光源经过一系列过滤之后损失比较高, 且显示的方向比较窄, 彩色转换得时候变化速率比较低, 分子转动需要一定时间
LED显示器: 单个像素点是三色LED组成, 灯的大小比较大, 像素的密度比较低, 显示的角度比较多, 单色的应用也比较广泛
OLED显示器: 不需要背光, 有机发光二极管, 像素的密度比较高, 有机二极管制成的显示屏, 对比度高, 可以显示黑色, 缺点是会烧屏以及价格昂贵, 还会有低频频闪, 比较贵寿命比较低
点阵显示屏: 大型广告牌, LED显示屏, 但是耗电比较高, 很贵体积大
断码屏: 数码管, 计算器, 遥控器, 成本低, 驱动简单, 稳定
接口分类
MCU接口≤800*480, 有SRAM, 不需要频繁刷新
RGB接口≤1280*800, 不带SRAM需要实时刷新, 需要大内存, 驱动比较复杂
MIPI, 4K, 不带SRAM, 支持高分辨率, 省电大部分手机使用的接口
参数
像素: 组成的最基本的单元
分辨率: 行像素x列像素
颜色深度: 每一个像素点可以显示的颜色的种类, 一般使用位作为单位, 255为24bit
显示器的尺寸
点距: 两个像素点之间的距离
电脑使用32位ARGB, A是透明度
野火产品
由于stm32f1性能不足需要专门的控制芯片, 240x320
没有控制芯片操控
表示一个二十四位的数据线, CLK是时钟线, HSYNC, VSYNC跳变表达传输完一行一列, DE有效的时候RDB数据有效
操控芯片ILI9341
使用8080接口, 支持多种接口, 左上角的框, 现在提供的是MCU接口, 还可以使用SPI或者RGB接口,要看厂家的设计
主要使用的是黄色区域的实际上使用的16位, 还有WDX, RDX读写使能引脚, D/CX引脚对应RS引脚, 还支持SPI通讯, 使用IM引脚进行控制, 但是在生产的时候已经固化
红色的区域控制的是背光
红色的是数据线, 蓝色的是控制线
采用的是异步通讯
读数据的时候是为了获取屏幕的数据, 进行截屏等
写的时序
读
有设置位置的命令, 写数据的命令以及读取的命令
FSMC
Flexible Static Memory Controller 灵活的静态存储控制器
用于驱动SRAM, NOR FLASH, NAND FLASH以及PC卡之类的存储器
定义好FSMC以后直接访问一个地址就可以实现对于存储器的使用, 不需要操控时序
F1, F4大容量100引脚以上的才有这一个外设
F4/F7/H7系列的是FMC接口, 可以操控sdram
地址映射
寄存器
FMC
F4F7H7
简介: 灵活的存储控制器
用于驱动NOR/PSRAM, NAND/PC卡, 以及同步的DRAM(SDRAM/Mobile LPSDR SDRAM)等
之后亦就可以当做普通的内存进行使用了, 也可以用于模拟8080时序
寄存器
实际操控
使用FSMC
这里使用的是模式B
CLK, NWAIT, NADV都不需要
还需要考虑地址对其问题
由于NOR FLASH内部实际上是16位, 所以一个地址对应的是两个字节, 所以stm32进行了移位处理, 相当于addr<<1
实际使用
FSMC_NORSRAMTimingInitTypeDef: 使用的变量, FSMC_AddressSetupTime, FSMC_DataSetupTime, FSMC_AccessMode
FSMC_NORSRAMTiniTypeDefe:FSMC_Bank,FSMC_MemoryType, FSMC_MemoryDataWidth, FSMC_WriteOperation, FSMC_ExtendedMode
这里使用的FOR FLASH的时序
左侧是stm32引脚, 右侧是液晶屏, 使用A16控制是命令还是数据
PE1控制复位
BL: 背光引脚, 普通推挽输出, 通过三级管控制, 使用NE1进行片选
TP: 触摸屏相关引脚
使用
初始化引脚, 初始化时序
使用命令0ch, 读取出像素点的状态, [0:2]为101为16bit, 为110是18bit, 没有初始化是18bit
2Ah: 有四个参数, 设置开始的列和结束的列, 设置x坐标
2bh: 设置他的纵坐标
2ch: 然后发送n个字节设置每一个像素的颜色
36h: 控制屏幕坐标的显示模式
根据读取到的不同的ID进行不同的初始化
设置横坐标
r的左移右移为的是清空无关的位
正点原子的OLED
0.96英寸, 高亮, 有升压电路, 分辨率是128*64, 使用SSD1306驱动IC(内部集成升压)
这个驱动芯片里面有多种的通信接口, 有8080, 4线SPI和IIC, 8位6800等接口, 通过BS1和BS2引脚进行选择