1. LCD基础与选型:从原理到实战
大家好,我是你们的嵌入式实战讲师。今天咱们聊聊LCD的基础与选型。说实话,这块内容看着理论性强,但选错了屏,后面调试能让你怀疑人生。我当年刚入行时,就吃过这个亏——选了个冷门接口的屏,结果驱动写了三周还没点亮。嗯,咱们今天就把这事彻底讲透。
1.1 LCD工作原理:像素是怎么亮起来的?
LCD,全称Liquid Crystal Display,液晶显示器。它的核心原理其实不复杂:液晶分子在电场作用下会扭转,从而控制背光透过率。说白了,就是每个像素像个小百叶窗,电压控制它开多大,光就能透多少。
具体来说,一个TFT-LCD像素由三个子像素组成:红、绿、蓝。每个子像素背后有个薄膜晶体管(TFT)控制电压。我习惯把TFT理解成「每个像素的专属开关」——它决定了这个像素亮不亮、多亮。
关键点:LCD本身不发光,它需要背光。背光常亮,液晶分子控制透光率。所以LCD显示黑色时,其实是把光「挡住」了,做不到纯黑。
1.2 TFT-LCD vs OLED:选哪个?
这个问题我经常被问到。咱们直接上对比表:
| 特性 | TFT-LCD | OLED |
|---|---|---|
| 发光方式 | 背光+液晶控制 | 自发光(每个像素独立发光) |
| 黑色表现 | 发灰(背光漏光) | 纯黑(不发光) |
| 对比度 | 1000:1 左右 | 100000:1 以上 |
| 功耗 | 背光常亮,功耗稳定 | 黑色省电,白色费电 |
| 寿命 | 5-10年(背光衰减) | 3-5年(蓝光衰减快) |
| 成本 | 低 | 高 |
| 适用场景 | 工业、仪表、低成本产品 | 手机、高端消费电子 |
我个人习惯:做工业产品、仪器仪表,首选TFT-LCD。为啥?稳定、寿命长、阳光下可读性好。做消费电子、追求显示效果,选OLED。但要注意——OLED有烧屏风险,我有个项目就是OLED长时间显示固定界面,半年后留下了残影。
避坑指南:我曾经在-20℃环境下测试OLED,发现响应速度明显变慢,画面有拖影。而TFT-LCD在宽温范围内表现稳定得多。如果你做户外或车载产品,务必考虑工作温度范围。
1.3 分辨率与接口选择:SPI、8080、MIPI
分辨率这块,咱们直接说常见的:
- 128×64:小尺寸单色屏,SPI接口,适合显示简单文字
- 320×240(QVGA):经典尺寸,ILI9341/ST7789常用,SPI或8080接口
- 480×320(HVGA):中端屏,8080接口为主
- 800×480(WVGA):大屏,需要MIPI或RGB接口
接口选择是个大学问。我给大家总结一下:
| 接口类型 | 引脚数 | 速度 | 适用场景 |
|---|---|---|---|
| SPI | 4-6根 | 慢(~40MHz) | 小屏、低分辨率、引脚紧张 |
| 8080并行 | 8-16根数据线+控制线 | 中(~100MHz等效) | 320×240主流屏、STM32F4/F7 |
| MIPI DSI | 2-4对差分线 | 快(~1Gbps) | 高分辨率、大屏、需要高速刷新 |
你想想看,STM32做GUI项目,最常用的是啥?8080并行接口。为什么?因为SPI刷320×240的屏,全屏刷新要几十毫秒,动画效果卡顿。而8080接口配合FSMC,刷屏速度能到10ms以内。我有个项目用SPI刷屏,用户反馈「点一下等半秒」,换成8080后流畅多了。
小技巧:如果引脚不够用,可以考虑SPI+DMA方式。虽然SPI本身慢,但DMA可以解放CPU,让刷屏和主程序并行。我曾在STM32G0上用SPI+DMA刷128×128的屏,效果还不错。
1.4 常用LCD驱动IC:ILI9341与ST7789
这两个IC是咱们做嵌入式开发最常碰到的。来,直接看对比:
| 特性 | ILI9341 | ST7789 |
|---|---|---|
| 分辨率 | 320×240 | 240×240 / 320×320 |
| 接口 | SPI / 8080 | SPI / 8080 |
| 颜色深度 | 16位/18位 | 16位/18位 |
| 内部RAM | 172800字节 | 172800字节 |
| 常见尺寸 | 2.8寸 / 3.2寸 | 1.3寸 / 1.54寸 / 2.0寸 |
| 初始化代码 | 较长(约200行) | 较短(约100行) |
我个人经验:ILI9341资料多、生态好,网上随便一搜就是例程。ST7789则更小巧,适合做手表、手环这类小尺寸产品。但要注意——ST7789的初始化序列各家屏厂改得五花八门,我遇到过同一型号不同批次初始化代码不一样的情况。
核心建议:选驱动IC时,先看你的屏尺寸和分辨率。2.8寸以上用ILI9341,1.3-2.0寸用ST7789。接口方面,如果MCU引脚够用,优先选8080并行接口。如果做低功耗产品,SPI接口更省电。
知识体系总览
下面这张图是我自己画的,把本章的核心逻辑串起来了:
这张图把咱们今天讲的内容串起来了。从工作原理出发,到TFT与OLED的对比,再到接口和驱动IC的选择,最后落到一个选型口诀上。你照着这个思路走,基本不会选错屏。
最后说一句:选型这事,没有绝对的对错。我见过用SPI刷320×240屏做得很流畅的,也见过用MIPI接口结果驱动搞不定的。关键是你得清楚自己的需求——分辨率、刷新率、引脚数、成本,这四个维度权衡好了,选型就稳了。
公众号:蓝海资料掘金营,微信deep3321