打印

LED数码管动态扫描

[复制链接]
楼主: shibao21ic
手机看帖
扫描二维码
随时随地手机跟帖
61
clcsl| | 2012-5-11 19:49 | 只看该作者 回帖奖励 |倒序浏览
能不能说点有用的啊,把新手搞晕了。

使用特权

评论回复
62
clcsl| | 2012-5-11 19:49 | 只看该作者
能不能说点有用的啊,把新手搞晕了。

使用特权

评论回复
63
clcsl| | 2012-5-11 19:50 | 只看该作者
能不能说点有用的啊,把新手搞晕了。

使用特权

评论回复
64
mcustudypeace| | 2012-5-12 12:10 | 只看该作者
我一般是每个数字亮10ms,连续扫描30次,可以正常显示。

使用特权

评论回复
65
清风明月张| | 2012-5-21 07:02 | 只看该作者
delayms(5);

使用特权

评论回复
66
zhangyunsheng| | 2013-7-5 21:04 | 只看该作者
做LED显示的方案,已经有很多个了,经验表明,扫描一串LED,如果每个LED的限流电阻不变的话,那么每增加一个LED,平均亮度就会下降,扫描的LED数量越多,亮度越小,要想增加亮度,只有一个办法,就是减小限流电阻阻值,增大LED的电流,没有其他办法,改变扫描频率并不会改变LED的视觉亮度。那个“刘前辈”在那儿胡扯,误导了不少新手。LED充分点亮根本不需要5ms,几个微秒就充分点亮了。

使用特权

评论回复
67
zhangyunsheng| | 2013-7-5 21:12 | 只看该作者
而且做LED扫描,不要用延时等待的办法,那样的程序效率太低了。如果有8个LED,我们可以设置一个字节的寄存器,寄存器的初始值为1,在扫描程序中,首先熄灭所有的LED,然后检测到寄存器的值,为n时,就点亮第n个LED,点亮后,寄存器的值加1,然后判断寄存器的值是否为9,如果为9,则修改寄存器的值为1.程序返回做其他事情。以此类推,循环扫描所有LED,而在程序返回后与再次调用该程序时的时间间隔就是等待延时的时间,这段时间内LED充分点亮。多么完美,CPU的效率达到最大化。

使用特权

评论回复
68
llqkm| | 2018-5-4 10:50 | 只看该作者
zhangyunsheng 发表于 2013-7-5 21:12
而且做LED扫描,不要用延时等待的办法,那样的程序效率太低了。如果有8个LED,我们可以设置一个字节的寄存 ...

“刘前辈”是无知还是无耻不知道, LED充分点亮根本不需要5ms,几个微秒就充分点亮了。这是最简单的,竟然说要5MS,连这个常识都不知道,大家不要鸟他

使用特权

评论回复
69
fzyuan| | 2018-5-7 12:46 | 只看该作者
凡是在数码管扫描显示中用到“延时(delay)”的,都不可相信,哪怕用这个来实现“灰度”(不是好方案)。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则