LED数码管动态扫描

[复制链接]
23596|68
 楼主| shibao21ic 发表于 2010-10-22 08:57 | 显示全部楼层 |阅读模式
有四位LED数码管,小弟想请教各位大侠,延迟程序为多长可以使LED正常显示,我的延时时间2ms不到,可LED无**常显示
ayb_ice 发表于 2010-10-22 08:58 | 显示全部楼层
1~2MS循环扫描
 楼主| shibao21ic 发表于 2010-10-22 09:04 | 显示全部楼层
谢谢2楼,我使用的是PROTEUS仿真,一开始我也是1~2MS循环扫描,可是在仿真时LED不停的跳变,我又用示波器观察,发现输出波形正常,这是怎么回事?
ayb_ice 发表于 2010-10-22 09:12 | 显示全部楼层
本帖最后由 ayb_ice 于 2010-10-22 09:14 编辑

仿真必竟是"仿"真
PROTEUS那玩意儿没有用过
保证频率50~100HZ即可,比如4位LED,100HZ那么周期是10MS,每位10/4=2.5MS即可
yangyicheng 发表于 2010-10-22 15:24 | 显示全部楼层
4位数码管,60Hz左右的频率就够了,每个数码管导通时间1/4,即用240Hz的频率就可以了,也就是每个数码管的导通1MS左右!肯定行
chunyang 发表于 2010-10-22 15:29 | 显示全部楼层
导通时间要尽量的长,是否闪烁与占空比有关,刷新率则是另一个概念。
peigang 发表于 2010-10-22 15:29 | 显示全部楼层
80hz左右应该比较稳定
zx4798 发表于 2010-10-23 01:40 | 显示全部楼层
仿真未必就对啊我在板上试过,2ms够了
w34880593 发表于 2010-10-23 08:17 | 显示全部楼层
学习学习!
老鱼探戈 发表于 2010-10-27 13:04 | 显示全部楼层
1-2ms就可以了,不要太长,否则占有CPU资源。。
zhoukok 发表于 2010-10-28 18:02 | 显示全部楼层
20ms应该可以
刘前辈 发表于 2010-10-28 21:35 | 显示全部楼层
本帖最后由 刘前辈 于 2010-10-28 21:54 编辑

还是6楼chunyang说的对。
这种事不是实验出来的,是计算出来的:
你如果要50HZ(20ms)扫描频率,4个LED当然每个需要点亮5ms!

24HZ 扫描频率是一个根据人眼滞后特性得到的。所以大于20HZ或者说50ms的扫描频率都是可以的;(不闪烁的)。
扫描频率太快则LED亮度暗;
扫描频率太慢则LED闪烁;

要折衷考虑就不能动态LED太多,所以一般只看见4~8个动态扫描。因为50ms / 8=5.1ms点亮时间,再多就不亮了。5ms点亮时间是个标准,1ms相当于你接了50个LED!当然不亮。

10楼可能说反了吧,5ms点亮时间只是说每隔5ms需要切换下一个LED,切换时间是瞬间的,几乎不占CPU资源的。相反,1ms 切换程序倒是由于过于频繁的占用CPU时间,浪费了CPU资源,影响系统其它程序。——单个LED点亮时间越长,切换频率越低,越不占用CPU资源。



xwj 发表于 2010-10-28 21:53 | 显示全部楼层
LS错,亮度只和占空比(位数分之一)有关,和5ms或1ms无关。
扫描快了并不会变暗的。
dong_abc 发表于 2010-10-28 21:58 | 显示全部楼层
LS正确
dong_abc 发表于 2010-10-28 22:01 | 显示全部楼层
4位数码管我一般用20ms一个循环,也就5ms切换一位
zhuzheic 发表于 2010-10-30 22:08 | 显示全部楼层
1ms,用中断来做,蛮稳定的。但是不要让其它的语句导致LED占空比太大了。
eswei 发表于 2010-10-31 10:44 | 显示全部楼层
延时多少不是关键,只要稍微延时就可以了。一般我用的是5MS。习惯问题。
刘前辈 发表于 2010-10-31 12:33 | 显示全部楼层
本帖最后由 刘前辈 于 2010-10-31 12:36 编辑



13楼xwj:
LS错,亮度只和占空比(位数分之一)有关,和5ms或1ms无关。
扫描快了并不会变暗的。

请问xwj版主:占空比难道和点亮电流无关?您一秒钟扫描2个LED,和一秒钟扫描10个LED,平均每个点亮电流,能一样么;效果上哪个状态更亮?

如若想让10个LED和2个LED状态时每个LED位数一样亮,只有把扫描频率由10HZ降到2HZ,越慢越亮,(牺牲的是扫描稳定性)。——亮度与扫描频率无关?


我举个例子:100HZ的扫描频率,20个LED,这样位数之一每个LED平均一次扫描点亮500us。

结果:20个LED一个也不亮!扫描频率越快越没戏。只有把扫描频率降下来,一直降到50HZ以下,结果:
扫描频率:
50HZ:每位数点亮1ms,看得见,亮度不足;
25HZ: 每位数点亮2ms,亮度高一倍;
10HZ:每位数点亮5ms,亮度基本正常;闪烁。
1HZ: 每位数点亮50ms,请看看是什么亮度?1秒钟移动20次,——流水灯了。



实际结果:
maychang 发表于 2010-10-31 13:07 | 显示全部楼层
18楼:
这是你实验的结果?
xwj说得完全正确,亮度只与占空比有关,与每位的时间长度无关。当然,每位的转换时间必须可以忽略。
刘前辈 发表于 2010-10-31 13:11 | 显示全部楼层
本帖最后由 刘前辈 于 2010-10-31 13:13 编辑

下面的数学公式证明想必正确:
设:
   动态扫描LED个数为 n ;
   动态扫描频率为f (HZ) ;
则:每位LED所得到的点亮时间T 等于
     1 / (nxf)    ( 秒 )

即:每位LED点亮时间 T(即亮度)与扫描频率 f  成反比。

扫描频率越高,相当于占空比越小,当然亮度越低。

——当然稳定性(不闪烁)越好。
反之,扫描频率越低,亮度越高。但是开始闪烁。——书上标准以20~50HZ为上、下限。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

40

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部