3、硬件连接与原理图:MCU与LCD的引脚连接、电源与背光电路、电平匹配与上拉电阻

硬件连接这事儿,说简单也简单,说翻车也真能翻车。我见过不少朋友,软件调得飞起,结果板子一上电,屏幕要么白屏,要么花屏,最后查出来是引脚接错了,或者电平不匹配。嗯,这一章咱们就把这些坑一个一个填上。

3.1 MCU与LCD的引脚连接:接口类型与信号定义

先看接口。市面上小尺寸LCD屏,主流接口就三种:SPI、I²C、8080并口。我个人的习惯是,能选SPI就不选并口,省引脚、布线简单、频率还能跑上去。

接口类型 所需引脚数 典型速率 适用场景
SPI(4线) 6~7 10~80 MHz 小尺寸、低引脚数MCU
I²C 4 400 kHz~3.4 MHz 低速、引脚极度紧张
8080并口(8位) 12~16 10~40 MHz 大尺寸、高刷新率需求

以最常用的SPI接口为例,标准信号线包括:

  • CS(片选)—— 低电平有效,选中LCD
  • SCLK(时钟)—— SPI时钟线
  • MOSI(主出从入)—— MCU发数据给LCD
  • DC(数据/命令选择)—— 高电平为数据,低电平为命令
  • RST(复位)—— 低电平复位,一般接MCU的GPIO
  • BL(背光控制)—— PWM或高低电平控制背光
小提示:DC引脚很多人容易忽略。它其实决定了你发的是命令还是像素数据。我早期做项目时,把DC和MOSI接反了,结果屏幕死活不显示——后来用示波器一抓,才发现命令全写到了数据通道上。

3.2 电源与背光电路:别让供电成为瓶颈

LCD的电源分两部分:数字电源和背光电源。数字电源一般就是3.3V或1.8V,背光则是LED串,需要更高的电压。

我见过一个案例:有人直接用MCU的3.3V引脚给背光供电,结果屏幕亮度上不去,还导致MCU复位。为什么?背光LED的典型工作电压是3.0~3.4V,但电流需求往往在20~40mA,MCU的GPIO根本扛不住。

正确的做法是:

  • 数字电源:用LDO单独供电,纹波控制在50mV以内
  • 背光电源:用升压DC-DC或专用背光驱动芯片
  • 滤波电容:在LCD电源引脚附近放一个10µF电解+0.1µF陶瓷电容
关键参数:背光LED的限流电阻计算。假设LED正向压降3.2V,供电5V,电流20mA,则限流电阻R = (5 - 3.2) / 0.02 = 90Ω。实际取100Ω,功率选1/4W以上。

3.3 电平匹配:3.3V与5V的“握手”问题

很多MCU是3.3V供电,但LCD模块可能是5V逻辑。直接连?不行。3.3V的高电平,在5V系统里可能被识别为“不确定电平”。

我常用的方案有三种:

  1. 电阻分压:在MCU输出到LCD的线路上串两个电阻分压,简单但速率受限
  2. 电平转换芯片:比如TXB0104、74LVC4245,稳定可靠
  3. 开漏+上拉:适用于I²C等开漏总线

举个例子,SPI的SCLK和MOSI,如果MCU是3.3V、LCD是5V,我会在每根信号线上串一个100Ω电阻,然后在LCD端上拉到5V。这样既限流又保证了电平匹配。

注意:千万不要把5V直接灌入3.3V的MCU引脚!我曾经有一次调试,忘了检查LCD的IO电平,结果MCU的GPIO口烧了三个。后来养成了习惯:上电前先用万用表量一下LCD的VOH和VIH。

3.4 上拉电阻:该拉就拉,别省

上拉电阻的作用,说白了就是给信号线一个确定的默认电平。尤其是复位引脚和片选引脚,如果不接上拉,上电瞬间电平是浮空的,LCD可能误复位或误选中。

我的经验值:

  • 复位引脚:上拉10kΩ到VCC,确保上电后为高电平
  • 片选引脚:上拉10kΩ到VCC,防止浮空时误触发
  • I²C的SCL/SDA:上拉4.7kΩ,具体值取决于总线电容和速率

你想想看,如果CS引脚浮空,LCD可能一直处于选中状态,这时候你发命令它收,发数据它也收,时序全乱套了。

3.5 完整原理图结构

下面这张SVG图,把MCU和LCD之间的核心连接关系画清楚了。你可以把它当作自己画原理图时的参考模板。

MCU与LCD硬件连接结构图 MCU (3.3V) GPIO / SPI 外设 PA0 → CS PA1 → SCLK PA2 → MOSI PA3 → DC PA4 → RST PA5 → BL LCD 模块 (3.3V/5V) ILI9341 / ST7789 CS ← SCLK ← MOSI ← DC ← RST ← BL ← 电源 3.3V LDO + 背光升压 上拉电阻 CS/RST: 10kΩ 上拉 注意电平匹配与上拉电阻

3.6 实战避坑清单

最后,我把这些年踩过的坑整理成一张清单。你画原理图的时候,对着它一条一条检查,能省不少调试时间。

检查项 常见错误 正确做法
电源滤波 只放一个电容 10µF + 0.1µF 并联
背光供电 直接接GPIO 用MOS管或背光驱动芯片
电平匹配 3.3V直连5V 分压或电平转换
复位上拉 悬空 10kΩ上拉到VCC
片选上拉 悬空 10kΩ上拉到VCC
DC引脚 接错或悬空 接GPIO,明确高低电平
一句话总结:硬件连接的核心就三件事——电源供稳、电平配好、该拉就拉。这三条做到位,LCD驱动就成功了一半。