32位数码管动态扫描轻松搞定,分享一下我的扫描方法

2019-12-27 18:52发布

其实动态LED扫描跟扫描的位数多少是没什么关系的,就看你怎么驱动,
一般的驱动方式是逐位扫描,这样就把扫描驱动做得很死,当数码位数多的时候,整体亮度提不上去,而且光暗不一,举个例子吧
当数码位有32位时,你就算是每一位1mS扫描一次也会产生闪烁,而且亮度极低,根本就没办法应用
可是单片机就算最快也不能打破这种界限.就好像有钱不能用的感觉.

我现在说我的驱动方式吧,我用的是逐段扫描方式,意思就是跟逐位扫描的方式反转,举例来说吧
当数码位有32位时,我先段点亮segA段,然后把32位数码的各segA提取出来整合为对应着每位数码的4字节,然后把这4字节通过595传出去,
那样的话,把8段扫描下来也只需要8mS,其中把32位数码的segA提取出来整合为对应着每位数码的4字节的时间其实是占用很短的,那样只要你硬件设置合理的话,跟驱动多少位还有什么关系呢,而且亮度也很足够
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
52条回答
laolu
1楼-- · 2019-12-30 11:35
回复【13楼】mcu5i51 学途浪子
有点像lcd的算法,算法比较复杂
-----------------------------------------------------------------------
liwboy
2楼-- · 2019-12-30 11:51
收藏
xiaobendan
3楼-- · 2019-12-30 16:36
回复【14楼】rainbow 老陈
楼主的这种想法不错,但是实际起来就像13楼说的算法比较复杂。
我的做法是固定的1/8duty,比如用595,只用一片595做位选,led以8位分一组,一个595一组led的段数据。
即如果有32位,就用4片595负责段数据,加上一片位选共5片,这样编程要方便些。
-----------------------------------------------------------------------

我也是这样做的
linghu2
4楼-- · 2019-12-30 20:59
 精彩回答 2  元偷偷看……
1ongquan
5楼-- · 2019-12-31 01:03
妙招,玩VFD试一下,这种方法限流电阻要接到位选上,算法没有多麻烦,虽然同是1/8扫描,不过逐段比逐位的闪烁感要小,逐字扫不管扫频多高,人运动时都能感觉到闪
v_8787
6楼-- · 2019-12-31 05:43
如果没有595...........

一周热门 更多>