搜索
bottom↓
回复: 52

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

[复制链接]

出0入0汤圆

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

我现在说我的驱动方式吧,我用的是逐段扫描方式,意思就是跟逐位扫描的方式反转,举例来说吧
当数码位有32位时,我先段点亮segA段,然后把32位数码的各segA提取出来整合为对应着每位数码的4字节,然后把这4字节通过595传出去,
那样的话,把8段扫描下来也只需要8mS,其中把32位数码的segA提取出来整合为对应着每位数码的4字节的时间其实是占用很短的,那样只要你硬件设置合理的话,跟驱动多少位还有什么关系呢,而且亮度也很足够

阿莫论坛20周年了!感谢大家的支持与爱护!!

你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。

出50入4汤圆

发表于 2011-8-3 22:55:56 | 显示全部楼层
不错,不过要是要用到这么多的话,就用专用芯片了

出0入8汤圆

发表于 2011-8-3 23:02:14 | 显示全部楼层
这么多,单片机没什么资源去做其他事情了吧

出0入0汤圆

发表于 2011-8-3 23:03:50 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-8-3 23:08:57 | 显示全部楼层
创新思路

出0入0汤圆

发表于 2011-8-3 23:27:12 | 显示全部楼层
一颗芯片搞定啊,单片机只要送数据就好了

出0入0汤圆

发表于 2011-8-4 00:11:59 | 显示全部楼层
妙招,显示位数多时很实用。

出0入134汤圆

发表于 2011-8-4 00:17:24 | 显示全部楼层
哇  原来可以换个思路这样用

出0入0汤圆

发表于 2011-8-4 00:30:42 | 显示全部楼层
明白

出0入0汤圆

发表于 2011-8-4 01:12:00 | 显示全部楼层
思路不错!!!

出0入0汤圆

 楼主| 发表于 2011-8-4 06:21:30 | 显示全部楼层
回复【2楼】huangdog
这么多,单片机没什么资源去做其他事情了吧
-----------------------------------------------------------------------

怎么会没资源呢,32位数码管传数用spi也就传4字节,你就算用很低速的单片机,模拟spi的话,消耗的时间也短得很,不明白兄弟你扫描led时到底是做什么去了

出0入0汤圆

发表于 2011-8-4 07:38:42 | 显示全部楼层
这个就是在用595的数量来换显示效果吧

出0入0汤圆

发表于 2011-8-4 07:48:21 | 显示全部楼层
不错的想法

出0入0汤圆

发表于 2011-8-4 07:58:00 | 显示全部楼层
有点像LCD的算法,算法比较复杂

出10入210汤圆

发表于 2011-8-4 08:08:27 | 显示全部楼层
楼主的这种想法不错,但是实际起来就像13楼说的算法比较复杂。
我的做法是固定的1/8Duty,比如用595,只用一片595做位选,LED以8位分一组,一个595一组LED的段数据。
即如果有32位,就用4片595负责段数据,加上一片位选共5片,这样编程要方便些。

出0入0汤圆

发表于 2011-8-4 08:12:46 | 显示全部楼层
这个方法不错哦。。。。。。。。。。八个数码客管以上的话比一位一位的扫好。。。

出0入0汤圆

发表于 2011-8-4 08:15:25 | 显示全部楼层
mark

出0入12汤圆

发表于 2011-8-4 08:23:10 | 显示全部楼层
good,有没有例子?

出0入0汤圆

发表于 2011-8-4 08:41:44 | 显示全部楼层
32个1位的?多位数码管共用段怎么办呢

出0入0汤圆

发表于 2011-8-4 08:50:40 | 显示全部楼层
回复【13楼】mcu5i51 学途浪子
有点像lcd的算法,算法比较复杂
-----------------------------------------------------------------------

出0入0汤圆

发表于 2011-8-4 09:10:44 | 显示全部楼层
收藏

出0入0汤圆

发表于 2011-8-4 09:19:46 | 显示全部楼层
回复【14楼】rainbow 老陈
楼主的这种想法不错,但是实际起来就像13楼说的算法比较复杂。
我的做法是固定的1/8duty,比如用595,只用一片595做位选,led以8位分一组,一个595一组led的段数据。
即如果有32位,就用4片595负责段数据,加上一片位选共5片,这样编程要方便些。
-----------------------------------------------------------------------

我也是这样做的

出0入0汤圆

发表于 2011-8-4 09:38:49 | 显示全部楼层
这个就是LED显示屏的思路

出0入0汤圆

发表于 2011-8-4 09:47:50 | 显示全部楼层
妙招,玩VFD试一下,这种方法限流电阻要接到位选上,算法没有多麻烦,虽然同是1/8扫描,不过逐段比逐位的闪烁感要小,逐字扫不管扫频多高,人运动时都能感觉到闪

出0入0汤圆

发表于 2011-8-4 10:11:47 | 显示全部楼层
如果没有595...........

出0入0汤圆

发表于 2011-8-4 11:03:57 | 显示全部楼层
恩恩,想明白了,4片595控制32个数码管的1段,那么8段的话就要另外的选通信号,走线好像有点儿偏多。。不过这个思路的确很好~~

老陈的办法也挺好,虽然还是扫描32位,但是用4片595补充了亮度~~

学习了,顶!!

出0入0汤圆

发表于 2011-8-4 11:39:54 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-8-4 11:54:40 | 显示全部楼层
每个段一个电阻,每位八个电阻,32位256个电阻,要不然亮度不太均匀

出0入0汤圆

发表于 2011-8-4 11:56:46 | 显示全部楼层
这个思维不错

出0入0汤圆

发表于 2011-8-4 12:00:21 | 显示全部楼层
分组的方法不错。

出0入0汤圆

发表于 2012-2-12 18:19:33 | 显示全部楼层
回复【楼主位】way2888
-----------------------------------------------------------------------

我做的22位的,逐位扫描,亮度已经不行了

出0入0汤圆

发表于 2013-12-2 16:30:13 | 显示全部楼层
思路很好呀

出0入0汤圆

发表于 2013-12-2 16:55:48 | 显示全部楼层
标记下。谢谢

出0入0汤圆

发表于 2013-12-2 17:11:36 | 显示全部楼层
方法早存在,只是楼主现在才明白。

简单说,就是躯动七个三十二段的LED。

出0入0汤圆

发表于 2013-12-2 17:32:36 | 显示全部楼层
zhangjinxing 发表于 2011-8-4 11:54
每个段一个电阻,每位八个电阻,32位256个电阻,要不然亮度不太均匀

不需那么多,只要 32 个电阻便成。

由於每一个数码管七段中任何时间都只有一段会点亮,所以用一个串接在共同极上的电阻便可以了。

出0入0汤圆

发表于 2013-12-2 17:39:14 | 显示全部楼层
alias 发表于 2013-12-2 17:11
方法早存在,只是楼主现在才明白。

简单说,就是躯动七个三十二段的LED。 ...

不要这样说,打击别人积极性,最讨厌这种什么都懂得口气,另外仔细看楼主的帖子你会发现楼主用的数码管是八位的

出0入0汤圆

发表于 2013-12-2 17:58:07 | 显示全部楼层
我并没有打击别人的念头,LZ的是 2011年的帖子。以上只是说明LZ的方法早已存在及广泛被应用。

出0入0汤圆

发表于 2013-12-2 18:07:49 | 显示全部楼层
>> 仔细看楼主的帖子你会发现楼主用的数码管是八位的

七段+小数点的数码管可看成八位三十二段来躯动。

出0入85汤圆

发表于 2013-12-2 18:19:59 | 显示全部楼层
这样的话驱动32个数码管的画和位扫描需要的595的数量是一样的对吗?但亮度已经提高了是这样吗?
如果是驱动32个数码管的话无需要这么费劲,一片HT1632搞定

出0入0汤圆

发表于 2013-12-2 20:01:12 | 显示全部楼层
好办法,解决了多位扫描的问题

出0入0汤圆

发表于 2013-12-2 21:34:08 来自手机 | 显示全部楼层
good,。               

出0入0汤圆

发表于 2013-12-2 21:57:27 | 显示全部楼层
我一直这么用,一次偶然的机会,同事设计错了。。后来思路转变一下,原来这也是种不错的方法。

然后16个数码管以上都是这么干,扫段,不管多少个数码管,只要扫8次就够了

出0入0汤圆

发表于 2013-12-2 22:04:48 | 显示全部楼层
妙哦

出0入0汤圆

发表于 2013-12-2 22:37:17 | 显示全部楼层
mark                                            

出0入0汤圆

发表于 2013-12-5 18:28:47 来自手机 | 显示全部楼层
很好,谢谢分享

出0入0汤圆

发表于 2013-12-5 19:00:03 | 显示全部楼层
学习了

出0入0汤圆

发表于 2013-12-5 21:36:15 | 显示全部楼层
思路很好,借鉴一下

出0入0汤圆

发表于 2013-12-5 21:48:42 来自手机 | 显示全部楼层
谢谢分享

出0入76汤圆

发表于 2013-12-5 22:43:05 | 显示全部楼层
本帖最后由 foxpro2005 于 2013-12-5 22:44 编辑

跟LED点阵屏驱动控制原理类似..
与分组驱动比较起来,在算法上相对要麻烦点儿, 每1/8Duty时,都要重新提取位码数据(如果位数比较多的话,这里稍微耗时点儿)
同时,这种方式所需求的电流也会大点儿。

出0入0汤圆

发表于 2015-10-29 22:38:35 | 显示全部楼层
说白了就是驱动8*32的矩阵LED,逐字扫是每次点8个LED,分32次点;逐段扫是每次点32个LED,分8次点

出0入0汤圆

发表于 2015-10-30 12:09:05 | 显示全部楼层
楼主思路不错,学习一下

出0入0汤圆

发表于 2017-6-18 10:44:09 | 显示全部楼层
谢谢分享  学习了   

出0入0汤圆

发表于 2017-6-19 08:51:12 | 显示全部楼层
方法很新颖,但是实际应用会用到这么多数码管??
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-10-2 20:17

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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