1. 先搞明白为什么单片机的显示从来不是“插上就能亮”作为常年和单片机打交道的人我有个很深的体会很多初学者第一次点亮LED之后下一个目标就是把字显示在屏幕上而且普遍默认这是件非常顺手的事——买一块屏接上电源和地再写几行代码字就出来了。等你真的接过几块屏、试过几种方案之后才会发现显示部分往往是整块板上最容易出问题、最吃主控资源、也最考验驱动功底的一环。这篇文章想做的就是把单片机开发里最常见的几类显示屏放在一起从工作原理、硬件接口、显存占用、驱动开销、功耗表现到实际选型做一个横向对比。适合正在学单片机、准备给自己项目选屏幕的同学也适合那种“1602能点亮但不知道为什么OLED要写显存”的中间状态开发者。我尽量不堆规格书术语而是用做主控项目时真正用得上的维度来拆解。先说透一个底层事实单片机本身不擅长“画图”它只会做一件事——按照约定的时序把0和1送到屏幕的控制芯片或者引脚上。所谓显示本质上是让每一颗像素点或者每一段发光管按照我们期望的亮度点亮。这就引出了三个核心变量数据通路怎么走、显存放在哪里、刷新靠谁来完成。不同显示屏的差异归根到底全在这三者之间。数据通路指的是主控和显示屏之间的接线方式与通信协议比如8根并行数据线加几根控制线那就是并行用两根线走I2C那又是另一套跑法。显存更关键它决定了你要不要为一块屏额外准备几百KB的RAM因为单片机的内部内存往往只有几KB到几十KB。刷新则决定了主控每秒要花多少时间在“重复画同一帧”上以及画面会不会闪烁、拖影。很多人在选屏时只看分辨率和价格忽略的就是这三件事。一块1.8寸TFT彩屏只要十几块钱看起来很划算但它光是一帧画面就要占掉一百多KB的显存而一颗普通单片机全部RAM加起来都未必有这么多。这就是为什么它上面通常自带一颗带显存的驱动芯片主控只是把数据像写快递单一样逐次填进去。OLED的驱动芯片同样内置了1KB显存所以128x64的画面才能在一颗几块钱的主控上跑得动。数码管最极端——它根本没有“像素显存”的概念点亮的组合完全靠你每毫秒换一次引脚电平来维持。把这些关系理清楚后面所有对比都会变得直观。2. 常见显示器件逐个拆解发光原理、接口与驱动2.1 数码管8段拼一个数字靠扫描来续命数码管是我一直很想先说的一种显示器件因为它最朴素也最能帮助理解“扫描刷新”这个概念。一位数码管内部是8个LED段7个段加一个小数点按共阳或共阴的方式接在一起。所谓共阴就是把所有LED的阴极共用一个引脚阳极通过段选脚单独控制共阳则反过来。点亮一个数字本质就是把该亮的段对应的引脚拉到有效电平其余段关掉。一旦位数多起来比如4位、6位你不会真的给每一位都配8个引脚那样主控的IO再富裕也糟不住。常规做法是“位选段选”段选线控制所有位共用的8个段位选线决定当前哪一位被点亮然后让每个位按顺序轮流亮一遍。这个过程叫动态扫描。假设4位数码管每位亮1ms一帧就是4ms每秒刷新250次视觉效果就是四位数同时稳定显示。为什么是1ms这个量级因为人眼能感知到闪烁的频率大约在50Hz以下而数码管是脉冲点亮占空比只有1/4它的有效亮度本来就低如果每位亮的时间再长到几毫秒人眼就会捕捉到暗-亮交替的跳变也就是我们常说的“闪”。扫描是由主控软件完成的所以这里的隐藏成本是CPU时间。每一毫秒你都得切换一次位选、重新写一遍段码主控没法长时间干别的。想要解放主控常见做法是外接移位寄存器比如74HC595这类8位串行输入、并行输出的芯片你只需要3根线数据、时钟、锁存就能把8位段码“串”进去然后让它在并行输出端同时生效。更狠的做法是直接用带扫描功能的驱动芯片主控只要告诉它“显示什么数字”就行扫描时序全在芯片内部完成。这也引出数码管的第一个选型教训位数多且主控还要干其他实时性任务时别硬用IO口扫描该加芯片就加。数码管的优点非常明显亮度高阳光下也看得清工作温度范围宽寿命长静态功耗也不高。它的缺点是信息密度太低只能显示数字和少量字母想显示汉字、表格、曲线基本没戏。所以它的使用场景非常固定温度、电压、时间、计数值这类纯数字的简单状态显示。2.2 字符型LCD1602和它背后的控制器套路1602应该是国内玩单片机的朋友最熟悉的一块屏了两行每行16个字符所以叫1602。它最值得搞清楚的是内部那颗控制器通常基于HD44780兼容方案。这颗芯片内部集成了80字节的显示数据RAMDDRAM屏幕上每一个字符位置对应一个地址你要显示某个字符就往对应地址写入该字符的编码。编码和字形的关系由控制器内部的一个字符发生器ROM决定比如写入0x41就会显示大写字母A。这就是为什么1602只能显示ASCII字符和少量日文假名字形是固化在控制器里的你想显示一个自定义符号得把它的点阵写进8个自定义字符位里而只有这8个位置可供自定义。接口上HD44780原生支持8位并口和4位并口两种模式。8位模式一次写8根数据线4位模式只接高4位分两次传输一个字节。很多开发板教程默认用8位接法图个方便但实际项目里我更推荐4位模式——省4个IO速度上完全够用一块1602写满32个字符也就几十毫秒的事根本不需要追求并口吞吐。还有一些模块把HD44780通过PCF8574这类I2C扩展芯片转成I2C接口主控只占两个引脚SDA和SCL接线大大简化。代价是I2C写一个字节要经过多次ACK等待和组合操作速度明显慢大约只有并口的五分之一到十分之一。如果只是显示静态文字完全没问题如果要频繁刷新数字就得掂量一下。驱动HD44780时有个新手特别容易卡住的地方忙标志检查。每次写入指令或数据之前最好读取一下控制器是否空闲否则可能出现字符写不进去、乱码、花屏这类玄学故障。很多模板代码图省事直接用延时代替忙检查短延时也可能稳定但换一块屏、换一颗主控之后就可能翻车。我的习惯是严格按数据手册流程走初始化时序、等待、检查BF位做一次完整握手。1602的另一个特点是视角依赖只能从正面看侧视角度一大就发白这和使用环境的光线方向有直接关系户外阳光直射下对比度更是惨不忍睹。但它功耗低、尺寸小、成本低在需要显示少量英文字符和数字的室内仪器、电子锁、温控面板上仍然是性价比极高的选择。2.3 图形点阵LCD12864和“用像素画汉字”的思路如果你需要在屏幕上显示汉字、曲线或者简单图形1602就不够用了这时LCD12864是接棒者。12864指的是128列x64行的点阵可以显示4行汉字每个汉字占16x16点阵。市面上常见的12864模块控制器不止一种比如ST7920和UC1701x等它们的指令集、显存组织方式、接口定义差别不小买模块时一定先问清楚驱动芯片型号否则代码会踩大坑。以比较常见的ST7920为例它内部带有图形显示RAMGDRAM。它的显存组织方式是“页”和“列”的二维结构64行点阵分成8页每页8行像素128列则和列地址对应。要在一个像素点画点你需要先设置页地址和列地址然后写入该字节8个像素点的数据。听起来不复杂但实际写汉字时你会发现坐标换算很容易错一个16x16汉字实际上是两个页地址、16列地址的数据块如果页地址算错一位字就上下撕裂。ST7920还有一种“绘图模式”和“字符模式”的切换有些代码初始化后忘了切回图形模式就会出现画图正常、写字乱码的诡异现象。从主控的角度看12864通常支持并行和串行SPI两种接口。并行快但占用引脚多串行只需几个IO口速度也够用因为这类液晶本来就是低刷新率应用画个菜单或者波形图不需要每秒几十帧。它们多数使用反射式或半透式面板需要外界光线有些带背光但整体功耗不高。对比度需要通过调节模块上的电阻或指令设置调不好会出现“整屏灰底、字看不清”或“只有深色背景、几乎看不到字”的情况。总的来说12864适合需要显示中文菜单、简单曲线、公式或表格的嵌入式人机界面是介于1602和全彩TFT之间非常务实的一档。2.4 OLED自发光带来的显示哲学转变OLED屏幕常见的是0.96寸、128x64分辨率、SSD1306系列驱动芯片在近些年几乎成了单片机玩家的标配。它的最大特点是自发光每个像素本身就是一个发光单元没有背光层。这个特性带来两个直接结果黑底时像素完全不发光整个屏几乎不耗电所以OLED的功耗曲线和显示内容高度相关同时对比度极高黑色是纯黑白色很亮可视角度也接近全角度侧面看也不会像LCD那样发白。SSD1306控制器内置了1KB的GDDRAM正好对应128x64个像素每像素1bit不分灰度。主控和它的通信方式通常是I2C或者SPII2C只需要两根线很多开发板直接用I2C接法我觉得这是最友好的入门方式。I2C模式下默认从机地址常见为0x3C或0x3D引脚拉高还是拉低决定了地址最后一位。刷屏时要先把数据一页一页地写入控制器内部的显示RAM整个屏幕128列x64行对应的1KB数据如果逐点画速度会特别慢更常见的做法是更新局部区域只改写变化部分的显示RAM。OLED也不是没有坑。最典型的是“烧屏”问题如果长时间固定显示同样内容那些常亮的像素会加速老化留下残影这在别的显示器件上几乎不存在。另一个是OLED的蓝色像素寿命普遍偏短长时间高亮度显示大块区域会明显发暗。此外别把OLED模块长时间放在阳光直射下有机发光材料对湿热和紫外线敏感。它的优点是响应速度快、无残影、体积薄、功耗低到可以在电池供电的应用里常年跑缺点是信息密度依然有限128x64像素只能显示4行16x16汉字、价格稍高、寿命有上限。在小尺寸低功耗人机界面、智能穿戴、仪表侧屏、Debug信息屏幕上OLED就是天然的主角。2.5 TFT彩屏彩色画面背后是内存和带宽的账等到你需要显示彩色图片、复杂菜单、触摸按钮界面时就该上TFT-LCD了。这类屏幕常见尺寸有1.8寸128x160、2.4寸240x320、3.5寸等驱动芯片常见的是ST7735系列小屏或ILI9341系列大屏。TFT屏幕的单像素颜色常用RGB565格式表示也就是16位色红色5位、绿色6位、蓝色5位共65536种颜色。为什么用RGB565而不是RGB88824位真彩因为单片机内存太宝贵16位色在视觉上已经足够日常界面而数据传输量直接省了三分之一以上。这里要算一笔关键账一块240x320的TFT一帧画面需要的显存是240x320x2字节也就是153600字节约150KB。绝大多数普通单片机的内部RAM只有几KB到几十KB根本装不下一整帧。所以TFT模块通常自带一颗驱动芯片芯片内部集成了GRAM图形RAM主控的作用只是把需要显示的数据“搬运”进去而不是自己保存整幅画面。当好几百KB的GRAM在屏幕驱动芯片里时主控的内存压力就解除了但带宽压力上来了要把一帧全屏画面从主控通过SPI接口送给驱动芯片如果是SPI时钟10MHz、每像素两字节传输一帧就需要约122毫秒。想达到流畅的30帧刷新就要把SPI时钟拉到几十MHz再用DMA直接内存访问让数据不经过CPU搬运否则画面刷新会卡到肉眼可见。所以TFT屏的驱动硬件连接通常不止SPI四根线SCLK、MOSI、MISO、CS还要加上DC数据/命令选择线、RST复位、BLK背光控制一共六七根IO。这些线每个都有自己的作用DC用来区分当前发送的是命令还是像素数据RST用来让屏幕驱动芯片可靠复位BLK则是控制背光亮灭和亮度。软件层面则有初始化时序按厂家手册来的问题不同型号的TFT即使尺寸相同初始化命令序列也可能完全不同代码不能随便通用。此外TFT屏幕因为有背光层即使显示全黑画面背光灯也常亮所以功耗远高于OLED不过它色彩饱和、响应快、价格随尺寸上升也不算离谱是复杂交互界面无可替代的选择。3. 横向对比一张表看懂选型几个维度看清资源3.1 核心参数横向对比表我整理了一张日常选屏时最常用的对比表把几类显示屏摆在一起看会更清楚。维度LED数码管字符LCD(1602)图形点阵LCD(12864)OLED(SSD1306)TFT(ILI9341)典型分辨率1~6位数字16x2字符128x64点阵128x64点阵240x320点阵颜色单色红/绿单色深蓝/灰单色深蓝/灰单色白/蓝/黄RGB565 65536色信息密度极低低ASCII为主中可汉字中可汉字高图片/UI通信接口IO扫描/移位寄存器4-bit/8-bit并口/I2C并口/SPII2C/SPISPI/并口/RGB显存位置无靠软件维持控制器内部80B控制器内部控制器内部1KB控制器内部150KB主控内存压力无小小小主要靠DMA和库缓存刷新方式动态扫描软件定时写入DDRAM页寻址写入页寻址写入大块像素搬运功耗低-中亮度决定低背光决定低背光可关极低黑白决定较高背光常亮户外可读性很好差阳光发白一般一般差反射眩光典型成本极低低中中中高适合场景数字仪表/计数器/状态灯英文菜单/仪器读数中文菜单/曲线穿戴设备/低功耗面板图形界面/触摸屏/游戏这张表里的“显存位置”是我反复强调的重点。你注意看除数码管外所有显示屏的显存都在自己控制器那边单片机不需要真正存下一整幅画面这正是它们能跑在低端MCU上的原因。数码管没有显存的概念但它每毫秒都在被“重画”这个重画动作是主控实时执行的所以数码管显存其实是被主控的寄存器在无形中承担了。3.2 驱动资源占用IO、定时器和主频的现实账选屏幕不能只盯着美丽的分辨率和颜色还要看主控愿意为它付出多少硬件资源。我把常见的驱动方式列一下你们对比着看。数码管直驱扫描占8个段选IO加N个位选IO还要一个定时器中断做扫描每1ms就打断一次CPU。这个方案的门槛最低但主控的实时性被严重消耗如果你同时还要处理按键消抖、PID计算、串口通信时间片就会非常紧张。数码管加锁存器/扫描芯片3根线数据/时钟/锁存加N个位选IOCPU占用大大下降只须在数字变化时更新数据。这是我认为数码管项目的“最优解”成本和复杂度只增加一点点却把主控解放了出来。1602并口/I2C并口占11个IO8根数据线加RS、RW、EN4位模式占6个IOI2C模式只要2个IO。1602的驱动频率很低基本不影响主控实时性除非你用I2C转接后还想高频刷新动态数字那时会被I2C的时序拖慢。读写操作如果每次都严格等待忙标志写一个字符大约几十微秒完全可以容忍。12864并行/SPI并行占用10个以上IOSPI只要4~6个。这类屏的刷新率上限很低一般每秒更新几帧到十几帧对主频要求不高但初始化序列和坐标计算代码量不小。若用SPI且主控有硬件SPI外设建议优先用硬件SPI软件模拟SPI速度慢且占用CPU。OLED I2C/SPII2C占2个IO但刷整屏1KB数据在400kHz下也要约20毫秒SPI占4~5个IO刷屏速度几乎是I2C的十倍。如果你的UI经常整屏刷新比如做动画或图表SPI是更合理的方案。OLED对主频要求不高但局部刷新设计得好坏直接影响观感。TFT SPIDMA占用5~7个IOSCLK/MOSI/CS/DC/RST/BLK部分还加MISO读寄存器必须用硬件SPI且主频最好在40MHz以上配合DMA才不卡顿。如果主控没有DMA或者SPI时钟上不去画面刷新会很费CPU甚至影响其他业务逻辑。TFT是唯一一个真的会考验主控“性能”的屏幕类型。3.3 场景画像什么项目该选什么样的屏幕把屏幕落到实际项目中去选型比单纯比参数更有用。我自己做选型时一般按“信息量”和“功耗预算”两条轴来判断。信息量指的是要显示的内容复杂度一个温度数字是一个层级一段英文菜单是另一个层级一个带按钮、图片、滚动的界面又是另一个层级。功耗预算则取决于设备是插电还是电池供电、电池多大、需要待机多久。插电的台式设备比如实验室仪器、控制柜面板我最常用的是1602或者12864信息量适中、驱动简单、开发周期短显示屏不是产品的主要功耗来源所以LCD的低对比度和背光功耗都不算事。便携式低功耗设备比如手环、遥测终端、温湿度记录仪OLED是首选因为待机画面可以做成“大黑底、局部亮字”功耗只有LCD的几分之一。户外设备比如光伏逆变器的数码显示、充电桩的指示灯位数码管和段码屏依然活跃它们的透光率和户外强光下的可读性确实没有对手。带交互界面的嵌入式设备像手持设备、智能音箱副屏、电子相册TFT几乎是唯一选项你需要RGB565的彩色界面和触摸操作这时成本预算也要跟着上去。再补一句关于“信息密度与分辨率的关系”很多人以为12864的像素是1602的好几倍能显示的内容就多好几倍其实不是。1602能显示32个半角字符12864能显示4行x8字16x16汉字是32个汉字理论信息量差不多但12864的自由度在于可以画图形、调整字号、做滚动效果。TFT则更像是“嵌入式里的显示器”它能承载的不只是文字还有布局美感。选型没有绝对好坏只有适配。4. 驱动调试中的关键时序与控制策略4.1 接口通信中最容易翻车的几个点我从实际调试经验出发先说最让人抓狂的SPI。SPI本身是全双工四线协议SCLK提供时钟MOSI送数据MISO回数据CS选择设备。TFT和OLED模块大多是SPI从机它们对时钟极性和相位SPI Mode有严格要求。很多模块默认要求Mode0CPOL0CPHA0也就是空闲时钟为低电平、数据在第一个边沿被采样但有些12864模块或者触摸控制器会要求Mode1、Mode2甚至Mode3。初始化时如果模式不对现象很典型背光亮、命令好像写了、但显示永远花屏或者根本没有内容。排查方式很简单换一个SPI Mode试通常三行代码就能定位问题。另一个高频翻车点是电平转换。现在的屏幕模块大量使用3.3V供电主控如果是5V单片机经典51系列很多是5V IO直接对接会存在风险5V高电平灌进3.3V器件的IO长期运行可能损坏模块通信时序也可能错乱。稳妥做法是加电平转换电路或者直接选择3.3V主控STM32、ESP32、新出的国产M0/M4核基本都是3.3V。如果只是临时测试有人在IO口上串联电阻降压能点亮但不建议作为产品方案。OLED模块还有个专属坑默认I2C地址是0x3C还是0x3D取决于模块上地址电阻的配置多数是0x3C但你要在初始化代码里写对否则返回的ACK都没有屏幕纹丝不动。TFT的初始化序列则是另一种折磨——手头每换一种型号都要重新核对正确的初始化命令因为驱动IC不同厂家给出的命令参数顺序稍有差异屏幕就会偏色、上下颠倒或者整体偏移。我曾经因为一个0x36寄存器的设置值不对让一颗TFT在横竖屏切换时出现约40像素的X方向偏移排查了很久才发现是地址映射方向问题。经验是拿到一块新屏先别急着改自己的显示库把厂商Demo的初始化代码完整跑通确认颜色、方向、尺寸都对再重构到自己的工程里。4.2 扫描刷新从数码管到图形屏的时序控制刷新这个话题可能很多做软件的人会低估它的重要性。数码管的动态扫描是软件定时器驱动的用定时器中断每1ms切一位扫描周期就是位数x1ms。位数越多每位的导通时间占比越低亮度下降越明显如果扫描函数写的低效比如在中断里做了太多无关计算中断周期抖动会导致亮度不均匀某几位看起来会比其他位暗。解决方法是把扫描函数做得极简只剩切换和写寄存器最好提前把段码算好放在变量里。还要注意消隐切换位选时先把段选输出清零再切换位选引脚否则会看到淡淡的“残影”或拖尾。12864这类图形屏的刷新则更有意思。它支持按页写入所以每次更新某个区域时你可以只重写受影响的页和列避免整屏重绘。我见过有人做波形显示时傻乎乎每秒全屏重绘40次结果屏幕刷成频闪主控也忙得不可开交。正确做法是维护一个“脏区域”概念那段曲线变了就把该区域的几点到几点重写其余像素保持不动。OLED的SSD1306同样支持页寻址模式局部更新特别适合做动态数字显示比如每秒更新一次温度值只改写数字所在区域就好。TFT则不一样它的GRAM是全像素的局部更新也可以但很多图形库为了简化会把整个控件区域整体重绘画布的更新逻辑直接影响流畅度此时就需要考虑是否用DMA把数据搬运和CPU计算重叠起来。4.3 显存与主控内存的配合策略显示屏自带的显存解决了“画面存哪”的问题但主控侧仍然要处理“缓冲区”的问题。以TFT为例如果每次画一条线段都要立刻写屏像素级的读写会让SPI通信变成性能瓶颈。一个常见优化是在主控侧划出一小块屏幕对应的缓冲区先在缓冲区里完成所有绘图运算再一次性把变化区域刷到屏幕。可是缓冲区也是大开销——你不可能真开一个153600字节的RAM所以更实际的做法是分区块缓冲比如只缓冲需要经常更新的那个仪表盘区域其他静态部分只在变化时刷一次。OLED和12864的显存很小主控侧缓冲压力不大但你依然要考虑字库的存在。中文字库一般来说一个16x16汉字占32字节几百个汉字就是上万字节的常量数组对只有几KB RAM的单片机来说应该把字库存放在Flash/常量区而不是RAM。如果字库体积太大甚至可以把字库放到外部Flash芯片里用的时候再读。我在实际项目里见过这样的求助代码烧进去之后屏幕白屏查来查去发现是编译器默认把1602的常量字符串放进了RAM又放不下程序跑飞了。这是个非常典型的内存问题务必把所有大数组都定义成const让编译器放进Flash。5. 常见故障速查与排查心得5.1 屏幕不亮、花屏、乱码的排查顺序显示问题往往有几个共性我总结了一套快速定位的顺序可以帮你在调试时少走弯路。第一先查供电和接线。屏幕模块的VCC/GND反接或者松动是“完全不亮”的头号原因。确认电压范围很多3.3V模块如果接到5V虽然也能亮但可能发热长期使用必坏烧掉的模块不是模块本身有质量问题而是供电选错。第二查复位时序。大多数OLED和TFT模块需要RST引脚先拉低再拉高有些模块没有单独引出RST引脚而是通过I2C/SPI命令复位如果复位不彻底初始化命令不会生效屏幕可能保持白屏或显示乱码。第三查初始化序列执行顺序。LED背光亮但画面全白/全黑通常是初始化时序不完整逐条核对手册里的推荐命令序列。第四查通信字节序和颜色格式。TFT花屏或者颜色错乱很常见的原因是BGR和RGB顺序配置反了这比想象中频繁1602乱码则要查字符编码和是否写入了超出DDRAM范围的地址。5.2 闪烁、拖影和偏色的经典案例闪烁在没有背光调节且主控负载高的项目中特别容易出现。我手头有个案子OLED每秒要刷新大量动态数据同时主控还在跑实时模拟运算结果整个屏幕一闪一闪。后来把刷新频率降低、只在数据变化时局部刷新并把显示刷新放到低优先级任务里闪烁立刻消失了。这说明闪烁很多时候不是屏幕本身的问题而是刷新策略和主控任务调度没有协调好。12864出现过一种很奇怪的现象整屏只有上半屏显示正常下半屏画了满屏雪花。排查后确认是初始化时没有把所有页的显示打开某些页的显示切换指令缺失。还有一次TFT出现上下颠倒原因是一个控制扫描方向Address Control的寄存器值反了只要正确设置扫描方向和RGB顺序就能解决。这些问题的特点就是屏幕本身没坏是配置错位需要耐心和对照手册逐步排查。5.3 我个人的避坑清单新屏到手第一件事先跑通官方的Demo代码别急着改自己的工程确认模组本身没问题再迁移。初始化代码里的SPI模式、I2C地址、分辨率、颜色格式、显示方向这五个参数任何一个错了都能让表现变得古怪把它们单独抽成宏定义便于切换。驱动时凡是操作寄存器注释里补一句“这条命令的作用是什么”几个月后你回看代码时会感谢自己。动态扫描类应用一定要设计好定时中断和主循环的优先级扫描中断不能被其他任务长时间屏蔽。无脑全屏刷新只是最差方案能局部更新就局部更新能DMA就DMA把主控的算力省给业务逻辑。TFT项目尽量多买一块备用屏因为测试过程中很容易因为接线错误烧坏模块不值得为一块屏幕中断整个开发进度。6. 写在最后的选型心得这几类屏幕我都在实际项目里试过说点掏心窝的话。选屏的时候别只盯着分辨率和价格先把“每秒要刷新多少数据、主控为此要付出多少IO和CPU、电源能不能撑住”这三件事盘一遍很多纠结会迎刃而解。数码管是数字世界的砖头1602是英文菜单的老黄牛12864是中文界面的务实选择OLED是低功耗场景的精灵TFT则是复杂交互的舞台。没有谁绝对好只有适不适合你的项目。最后再分享一个我觉得特别有用的小技巧在做方案预研的时候把几块候选屏幕同时接到同一块主控板上写一个多屏切换的测试程序挨个点亮、刷新、看功耗。实物对比一次比看十篇参数分析都有用。我就是这样在几个项目里快速锁定了最合适的屏幕方案而不是在文档里反复对比参数。希望这篇对比能帮你缩短从“屏幕不识货”到“选屏心里有数”的这条路。
阅读完成 · 觉得有帮助?