矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
查看: 5379|回复: 11

同步直播:一步一步的把DIY搞起来!

  [复制链接]
     
发表于 2011-10-17 22:30:35 | 显示全部楼层 |阅读模式
本帖最后由 yangcheng84 于 2011-10-18 21:50 编辑

             595级联式电子屏钟表

                                                                                                     万里江山2011-10-16
    前段时间朋友送我一块LED屏幕,是16*32的点阵屏幕,是他公司开发产品时的样品余料,作为同为电子爱好者的好朋友,我欣然接下了,呵呵。

   现在准备把它安装成电子钟,准备开机现场直播.声明:以下是菜鸟级作品,还请前辈指教。先上图。

A (1).jpg
屏幕正面  有8个8X8 点阵拼接成16*32大屏

A (6).jpg

A (7).jpg
DIY的D1302时钟和DS1820温度小板块

A (8).jpg
暂时借用开发板的小系统调试一下

A (9).jpg
+5V电源

A (10).jpg
结构布置
说明:图中共有A,B,C,D,E,F,G,H共8块8X8点阵(组件)构成。对应每个组件的驱动芯片分别是U14,U13,U12,U11;U8,U7,U6,U5;均为贴片式8bit移位寄存器74HC595.计划采用“行扫描的方式”驱动(U9,U10),扫描顺序是自右向左,从上到下。

A (18).jpg
试编程,确定一下点阵的硬件引脚排列是否是水平,垂直方向都是按顺序排列的?

A (17).jpg
首先设想是扫描一副三角图形(点亮的LED逐行增加1个)看看,哈哈,结果证明连接方式,是按顺序的。

A (21).jpg
尝试显示“电子”(绿色)两个字看看

A (16).jpg
尝试显示“技术”(红色)两个字看看

A (14).jpg
尝试显示简易图案(绿)看看

A (15).jpg
尝试显示简易图案(红)看看

A (13).jpg
再显示黑体“机电"看看.哇,是显示啦,但是朋友们注意到了吗?LED的笔画亮度视乎不均匀,水平方向点亮的点的越多,亮度就越低. 是不是行驱动(74HC595)能力不足引起的呢?

A (19).jpg
再次输入“三角”测试图样,观察水平方向亮度随点亮LED个数的变化情况,果然是验证74HC595行驱动能力有限(手册参数是输出电流20ma),水平点亮的LED越多,每个LED得到的电流就越小,难怪亮度不均。接下来准备解决一下亮度问题先.(待续)


10月16日23:21( 续):
11101623224bb2e9053c2517f6.jpg
从示意图可以看到,X0~X7是由74HC595作行驱动的,而芯片整体最大输出电流仅20mA左右,因此,如果某一行(比如X0)只亮一个点,那么这个点的
电流就是20mA,;而两外某行(比如X3),假如有10个点选中(点亮),那么这时候X3每个点的电流就只有20/10=2mA了,显然这两行的亮度不会一样的。
上述小分析通过电话得到朋友的确认:这个是他公司当时第一次开样板的,当时设计没考虑周全,因此才成了废料.

为了达到不改动硬件而使亮度均匀,把扫描方法改一下:
以前是“逐行,发送4个字节数据(因为水平方向是32点,是8*4bit)显示”;改成“逐行,发送32个点数据”。下图是分解示意图.
11101623223f8a883130b6ec81.jpg
向水平32点的屏幕,小系统每行要发送32次数据.因为总共10个移位寄存器(4个Y/红 + 4个Y/绿 + 2个行驱动),并且所有数据是串联连接的,要显示一个点,数据格式就是 ADDR0+ADD1+ADDR2+ADD3+DATA0+DATA1+DATA2+DATA3  8个字节数据。由此看来,其实扫描一行就要分下面几个步骤:

将点阵的原来“一整行扫描”的内容数据拆分成32个字节数据.
将生成的数据分32次发送,每次得按ADDR0+ADD1+ADDR2+ADD3+XX+XX+XX+DATA形式发送

就这样,为了“简化硬件,逐点扫描,亮度均匀”,小系统每行拆分数据32字,共发送8*32=256个字节;而为了显示32*16(满屏),一帧数据总共要发送

256*16=4096个字节;实现整个过程的帧周期不能>20mS,f否则人眼看上去就有闪烁感了。呵呵,这么大的工作量,小小的单片机(STC89C52RC)看来快累死了。

不管了,先试试看。
1110162322f89fb10e66d3a9b2.jpg
哈哈,不出所料,单片机显示亮度是均匀了,但闪烁感十分强烈,几乎不能使用了。还好,开发板上可以切换到24MHZ晶振,但是,当扫描行数不大于8行
才不会产生闪烁感,满屏是效果还是不理想。有人可能说不如把时钟提到80MHZ,单个人认为这样还是不行,因为时钟仅提高4倍,但一行逐点扫描的数据量
是按整行扫描的32倍以上,相差太远了。看来不得不从硬件改造了.

第三集:2011-10-17  21:46


原理.jpg
上图是10个74HC595级联示意图,因为行列线的扫描都是串联在一起,所以在软件扫描上增加了不少难度.。为了简单起见,增加了16只
PNP三极管作行线驱动,以加强驱动能力。(一只8850  0.15元,16只就是1斤空心菜的钱,呵呵)

驱动.png
8850作行驱动三极管
A (5).jpg

光荣_副本_副本.jpg
增加驱动后的效果改善了(待续)

评分

1

查看全部评分

     
发表于 2011-10-17 23:41:52 | 显示全部楼层
感谢分享!赞!顶!
回复 支持 反对

使用道具 举报

     
发表于 2011-10-18 11:11:55 | 显示全部楼层
小系统每行拆分数据32字,共发送8*32=256个字节;而为了显示32*16(满屏),

这样是不对的. 你才16X32的,一行只发送8个字节就可以了.

一般把屏的刷新新到50Hz, 即每秒16行 X 50次,这样才不闪, 亮度不均的现象也好很多.
另外楼主应该看下每列有电阻没有.如果没有,扫描过慢就会烧.

如果要调亮度,可以PWM控制EN. 如果没有电阻的,还要注意停扫保护
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2011-10-18 21:47:21 | 显示全部楼层
这样是不对的. 你才16X32的,一行只发送8个字节就可以了.

一般把屏的刷新新到50Hz, 即每秒16行 X 50次 ...
残剑饮血 发表于 2011-10-18 11:11


假如是“逐行,整行的扫描”每次发送8字节数据+2字节行地址就OK了,问题是:上述表达的不是“逐行,整行的扫描” 而是 “按行,逐点扫描”
回复 支持 反对

使用道具 举报

     
发表于 2011-10-19 10:35:57 | 显示全部楼层
按行,逐点扫描也是一次发送一行,每行32个点,也只要4个字节就够了吧.
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2011-10-19 19:41:33 | 显示全部楼层
按行,逐点扫描也是一次发送一行,每行32个点,也只要4个字节就够了吧.
残剑饮血 发表于 2011-10-19 10:35


这个是双色管,更重要的是:行数据和列数据就是串联在一起发送的. 为区分颜色,列数据部分是8字节,行数据是2字节;原本按整行发送的话,数据量确实就是8字节,而按点后,每行32点共32组8字节数据(注意:行数据和列数据就是串联在一起发送的),单片机的处理速度跟不上了,扫描16行的话很闪!
回复 支持 反对

使用道具 举报

     
发表于 2011-10-19 23:41:00 | 显示全部楼层
这样一来
电路结构就复杂了
造价也上去了
你直接用三极管驱动不好吗?
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2011-10-20 23:49:09 | 显示全部楼层
这样一来
电路结构就复杂了
造价也上去了
你直接用三极管驱动不好吗?
lxa000 发表于 2011-10-19 23:41


没错,直接使用三极管是可以的。在这里我是给自己增加难度,这个样对以后搞东西有好处。现在数据只需要 3根线就OK了,如果使用“并行法发送,那至少11根吧。
回复 支持 反对

使用道具 举报

     
发表于 2011-10-21 20:16:09 | 显示全部楼层
上一个完整的扫描驱动部分电路看看?
我感觉你的扫描驱动电路部分有问题
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2011-11-2 00:42:01 | 显示全部楼层
近来工作事务繁杂,影响正常的帖子回复了。作品还没有完全完工,今晚本想用相机录像的,但是相机电

池没电了,将就的就用手机拍一下,拍摄效果不是很理想。特别是遇到快速显示的"校时设置完成“和”

2011年“字样尤为明显,实际肉眼看好多了。
回复 支持 反对

使用道具 举报

发表于 2011-11-6 00:03:32 | 显示全部楼层
好详细的过程
回复 支持 反对

使用道具 举报

发表于 2011-11-8 18:42:18 | 显示全部楼层
谢谢楼主的直播教学。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2024-4-28 01:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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