对于led数码管显示大家有什么好的方法吗?

[复制链接]
 楼主| wilkes 发表于 2007-4-18 15:13 | 显示全部楼层 |阅读模式
<br />用单片机的io口直接驱动led,行列中断扫描循环显示(15x8),一共<br />用到23个io口。但是整个装置程序运行后会出现闪烁现象,扫描频率<br />很快,循环扫描一遍少于20ms。感觉是扫描中断太快,但是程序还有其他的<br />中断处理(ad计算,uart等),所以导致出现滚动式的拖曳闪烁。<br />请问大家在做led数码管显示装置的时候都是怎么处理显示和其他中断处理的?
yangyxun 发表于 2007-4-18 22:34 | 显示全部楼层

加一LED驱动电路。

有疑问,请和我联系。<br /><br /><br />杨永勋<br />0755-25155089<br />tyler_yang@secomtel.com
kevinchan 发表于 2007-4-19 18:25 | 显示全部楼层

用静态串行显示看看

  
liqiinhit 发表于 2007-4-23 19:27 | 显示全部楼层

串转并

用一个串转并的片子就可以74HC164,非常方便的,而且也不闪烁了。
 楼主| wilkes 发表于 2007-4-26 10:09 | 显示全部楼层

软件上有什么好的办法吗?

&nbsp;硬件由于已经做好板子,不大可能有大的修改,如果小范围修改还是可以的,另外软件上有好的办法吗?
lyqun8002 发表于 2007-4-26 14:46 | 显示全部楼层

哪有这么做的,

哪有这么做的,虽然板子做好,不适用那也的重作啊,而且你计算过CPU的IO口驱动能力吗?liqiinhit&nbsp;说得方法最简单,只需要三个IO口就可以了!
 楼主| wilkes 发表于 2007-4-28 09:07 | 显示全部楼层

三极管驱动放大

&nbsp;我主要负责软件方面,led是通过三极管驱动的,亮度没有问题。关键是闪烁。这个不用串转并接口成本就少些阿,串转并至少也要几个74HC164吧,3个io<br />口能控制几个数码管呢?
lyqun8002 发表于 2007-4-28 13:00 | 显示全部楼层

24个164

24个164我都做过,采用级联方式;采用4094可能更好些,如果觉得移位太多,速度不够可以用几条数据线,同时移位几组4094即可。即1条CLK,1条STR,几条SDO,en不用也可。
agency1980 发表于 2007-4-29 09:19 | 显示全部楼层

直接驱动应该是可以的

我最多做过6*8的直接驱动,但原理都是一样的吧,我是这样做的,开一个2MS的定时中断,进中断时关闭所有LED的位码,找下一个显示位的段码输出,开对应的位码,动态的方法显示,只要你的15位LED总时间是小于20MS的应该不会有拖曳闪烁的
 楼主| wilkes 发表于 2007-4-29 17:05 | 显示全部楼层

我在进中断之后关闭了显示

&nbsp;直接把所有显示的io口置低让它无显示,中断里再判断是显示哪个段码,然后开对应的位码,我觉得你显示效果好的原因可能跟硬件有关系,硬件上作了处理的,不知道说的对不对啊
wwwjjjwww 发表于 2007-5-16 14:18 | 显示全部楼层

我用了一个简单的数字电路,动态驱动8个8位8字数码管

我用了一个简单的数字电路,动态驱动8个8位8字数码管,管脚用了24个I/O,无闪烁,效果非常不错,照这个原理我还能再加进去4个8位8字管,再使用8个I/O所以总共可以驱动数码管12*8*8=768个数码管,驱动刷新率在50hz以上。用的普通的51单片机呀。
wwwjjjwww 发表于 2007-5-16 15:16 | 显示全部楼层

64*8动态刷新,只用了24个I/O,哈哈。

64*8动态刷新,只用了24个I/O,刷新率50HZ以上,无闪烁,哈哈。
lbx_00 发表于 2007-5-17 21:06 | 显示全部楼层

为什么不用双mcu系统

一个mcu负责主要工作,另一个负责人机交互,用串口相连
maychang 发表于 2007-6-27 18:04 | 显示全部楼层

楼主用了一个定时中断进行显示

这个定时中断的优先级?
zxq1234508 发表于 2007-6-28 14:31 | 显示全部楼层

长见识了

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

本版积分规则

64

主题

147

帖子

0

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