![](https://i-blog.csdnimg.cn/blog_migrate/f1c90b2dcbe135724d38c5fa4204e9f1.png)
笔者前段时间项目上正好用到一块32*128分辨率的单色LED,正式介入开发的时候,才发现网上的资料少之又少,供应商也给不出有价值的参考信息。故打算分成三篇详细的介绍下开发过程中遇到的问题。
本篇主要介绍LED屏幕的一些基础信息,第二篇介绍基础驱动程序,第三篇介绍如何将一个适用于OLED屏幕的GUI移植到LED屏幕的显示控制上。
![](https://i-blog.csdnimg.cn/blog_migrate/28d4ce5374cc782a58710cc9d5084faf.jpeg)
点阵屏接口
拿到屏幕的第一件事情就是弄清楚接口定义和一些基本的电气参数。
【基础参数】
基础的电气参数包括:像素间距、分辨率、供电电压、扫描方式,扫描方式又包括1/16、1/8、1/4、1/2扫。
其他参数比较理解,1/16、1/8、1/4、1/2扫有些陌生,这个参数其实和屏幕的亮度有关,数值越大软件可控的亮度越高。所以一般1/16扫用于室内,其他的应用于室外,其原因咱到第二篇结合驱动代码来分析。
![](https://i-blog.csdnimg.cn/blog_migrate/0e01116a5fc0f7e4c9da6a538a533360.png)
接口定义
【接口定义】
单色屏、双色屏使用的接口标称为“HUB08”,还有一个是“HUB75”用在全彩上。将HUB08引脚定义做下分类整理:
![](https://i-blog.csdnimg.cn/blog_migrate/69c1b75db251e02b898ec4fb3b3090d3.png)
接口说明
四线译码器:可以类比到38译码器。
串转并输出:暂且忽略R2、G1、G2,只保留LAT、CLK、OE、R1,则可以类比到74HC595上。
【G2和R2】
G1同R1即为双色屏幕中另外一个颜色的数据输出。为什么会有两个R和G呢?以笔者手头32*128的屏幕为例,做下说明。
![](https://i-blog.csdnimg.cn/blog_migrate/b8f151e32d7295aa1db0137939eb743c.jpeg)
32*128点阵 示意图
![](https://i-blog.csdnimg.cn/blog_migrate/7c4a7fce56c26c24b84bdaf56016b33d.jpeg)
32*128点阵 简化示意图
点阵屏的基本控制原理:使用HC595来控制列数据,译码器控制行显示,利用视觉暂留,形成整幅图案。
点阵屏水平分辨率由串联的HC595个数来决定,比如32*128,就有128/8=16个HC595,垂直分辨率由并入的译码器个数来决定,16*2=32。
如“简化示意图”中将32*128分成了A、B两个部分,每个部分的像素数是16*128。两部分共用LAT、CLK、OE这3根信号线,通过不同的数据线对A、B两个部分进行区分。所以R2、G2其实是另外一组16*128的数据输出引脚。
![](https://i-blog.csdnimg.cn/blog_migrate/0a310a7815446587ec41123a16e2c8eb.png)
点阵屏拼接示意图
【屏幕拼接】
如果垂直分辨率超过32了怎么办?比如64*256这样的屏幕。水平分辨率可以通过增加串联的HC595的个数来实现;垂直分辨率则需要通过组合点阵模组的方式来实现。比如将65*256分成两块32*256,通过两个HUB08接口来控制整个屏幕,或者按照屏幕背板提示的拼接方向通过一个HUB08进行驱动。
注:文章中部分图片来源于网络,如侵权请联系删除。
<第一篇END>
道阻且长,行则将至。
欢迎大家关注“兔子聊电路”,会不定期的分享一些遇到的电路问题和一些有趣的电路设计,更欢迎大家一起交流电路设计上的心得。同时,也会分享一些有意义的非技术类书籍。
![](https://i-blog.csdnimg.cn/blog_migrate/a503b55e9faa18be3bac6cd64744cf99.png)
【福利推荐】
![](https://i-blog.csdnimg.cn/blog_migrate/76ab583736d325b6498f963a3ba846c9.jpeg)
304保温便当盒打包餐盒饭桶带饭便携上班族饭盒专用可微波炉加热
【券后价】 43 元 【优惠券】 15 元
3輹Zhi4$CNdod6zIXZT$:// CZ6135,打開/