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

2019-12-27 18:52发布

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

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

我也是这样做的

一周热门 更多>