数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2570|回复: 8

[工仪] 用STM32驱动LED大屏幕显示模组,做了个小“玩具”。

[复制链接]
发表于 2022-11-7 21:15:10 | 显示全部楼层 |阅读模式
本帖最后由 bg1trk 于 2022-11-8 10:25 编辑

单位的一个室内LED大屏幕使用多年,备件显示模组已用完,买不到相同型号的显示模组,琢磨着修一修之前替换下来的坏模组凑合用。
换件,再跑去屏幕旁边安装测试,相当麻烦......想着用单片机做个“信号发生器”把模组驱动起来,在办公室就能测试是否修复,不用来回跑,省事。

以上是起因,接下来绘制电路图,分析信号组成和时序。
显示模组为32*64点阵,由32*64个三色LED组成,32行分上下两部分各16行,由两片74HC138将输入的4位并行行选信号译码为16路行驱动信号。列驱动由16路专用驱动芯片SUM2016将输入的串行颜色信号锁存为16路列驱动信号,3色LED共194条列线,共需驱动芯片12片。
板子入口还有两片74HC245做信号缓冲,硬件组成就这些了。



驱动需要A、B、C、D四路行选信号,两组R、G、B颜色信号,每组R、G、B分别对应上下各16行,以及时钟信号和锁存、使能信号,共需要13条口线。
程序大概就是设置一个32*64的显存数组,数组内每个元素值,0X01代表红色、0X02代表绿色、0X04代表蓝色,共可以显示8种颜色。以轮询的方式不断读显存数组的数据,将每个数据转为二进制的0、1,最低位为1时R通道输出1,次低位为1时G通道输出1,次次低位为1时B通道输出1,其他颜色则由这三个“1”组合而成,高低电平由对应的R、G、B口线输出,每扫描一行辅以送出时钟、锁存和使能信号。显存数组每64个元素为一行,扫描16次显示半屏,上下两部分同时扫描则组成全屏显示。修改显存数组的数据即可改变显示内容。
检修时需要模组显示红、绿、蓝、白、黑纯色画面,显存数组所有数据设成相应颜色值就行了。
感觉比较单调,又加入了单独画点、线函数,显示16*8字符的函数,启用ADC,做了个有点实用意义的玩意。


硬件最初是拿系统板+面包板+杜邦线凑合的,已经能跑起来了,线多且乱,时不时显示混乱。



硬件其实就是STM32最小系统,没几个元件不值得打板,用洞洞板把连接显示模组的16P插座和连接系统板的2个17P插排焊接牢固,背面飞线连接,插上系统板就完事了。
为了保护背面乱糟糟的飞线,3D打印了个简单的底壳:







最终效果,一块显示面积巨大的“电压、电流表”。






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

打赏

参与人数 1家元 +80 收起 理由
家睦 + 80

查看全部打赏

发表于 2022-11-7 21:58:48 来自手机浏览器 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2022-11-7 22:55:51 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2022-11-8 09:07:07 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2022-11-11 20:37:52 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-11-14 21:38:17 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

发表于 2022-11-15 07:42:48 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-3-7 19:36:23 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-3-1 22:03:12 | 显示全部楼层
游客请登录后查看回复内容
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|数码之家-技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2026-7-2 20:57 , Processed in 0.124800 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz!

© MyDigit.Net Since 2006

快速回复 返回顶部 返回列表