[51单片机] 用74HC573锁存器驱动数码管时消除阴影(消影)的解决办法

[复制链接]
10337|33
 楼主| 电子云图 发表于 2013-9-12 23:54 | 显示全部楼层 |阅读模式
    现在有很多开发板上都用7HHC573锁存器来驱动数码管,在动态扫描数码管时,大部分开发板的例程在消影上处理的很不好。下面我来给出一种消影的方法。


    我们先看下两个图片
    第一张是天祥电子采用的驱动方式(也是大部分开发板采用的方式)

第二张是修改过函数的

可以从图中看出,第二张的显示效果非常好
      常规的驱动方式是   送段--消影--送位--延时-----然后下一位显示,这样显示没有解决段拖影的问题
      现在改为 送段--消影--送位--延时--打开位选将位的值设为0XFF----下一个数码管。这样既解决了位拖影和段拖影的问题
     
      常规方式代码
                DUAN=1;                                        //打开段锁存
                DPY_DATA=DPY_CODE[1];        //送段数据
                DUAN=0;                                        //关闭段锁存
                DPY_DATA=0XFF;                        //关闭数据,防止位拖影
                WEI=1;                                        //打开位锁存
                DPY_DATA=0XFE;                        //送位数据
                WEI=0;                                        //关闭位锁存
                Delay1ms();                                //延时1毫秒

     修改后的代码
                DUAN=1;                                        //打开段锁存
                DPY_DATA=DPY_CODE[1];        //送段数据
                DUAN=0;                                        //关闭段锁存
                DPY_DATA=0XFF;                        //关闭数据,防止位拖影
                WEI=1;                                        //打开位锁存
                DPY_DATA=0XFE;                        //送位数据
                WEI=0;                                        //关闭位锁存
                Delay1ms();                                //延时1毫秒
                WEI=1;                                        //打开位锁存
                DPY_DATA=0XFF;                        //清除段数据,消除段拖影
                WEI=0;                                        //关闭位锁存
下面是源码;


感兴趣的可以试一下,或者你有更好的方法,欢迎共享


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
创隆电子 发表于 2013-9-13 09:35 | 显示全部楼层
不错,鼓励经验分享
 楼主| 电子云图 发表于 2013-9-13 10:29 | 显示全部楼层
谢谢鼓励,以后还有更精彩的分享。
coody 发表于 2013-9-13 11:28 | 显示全部楼层
这个很容易,在刷新时,先禁止COM驱动,刷新SEG,再送COM线
 楼主| 电子云图 发表于 2013-9-13 11:44 | 显示全部楼层
小弟不才,在大佬面前献丑了,向大佬们学习,争取发一些含金量高的帖子
cjseng 发表于 2013-9-13 12:49 | 显示全部楼层
电子云图 发表于 2013-9-13 11:44
小弟不才,在大佬面前献丑了,向大佬们学习,争取发一些含金量高的帖子

你要是能解决数码管亮度不均的问题就更好了。从照片上看,笔画越多的亮度越低,这其实是硬件设计的问题,驱动电流不够造成的。
 楼主| 电子云图 发表于 2013-9-13 13:40 | 显示全部楼层
cjseng 发表于 2013-9-13 12:49
你要是能解决数码管亮度不均的问题就更好了。从照片上看,笔画越多的亮度越低,这其实是硬件设计的问题, ...

我的板子上是有问题,段位上没有加限流电阻,若加上限流电阻会好很多。这种驱动方式一般用在开发板上,若是做产品,是不会用这种驱动方式的..................
opal11 发表于 2013-9-14 14:45 | 显示全部楼层
kingxw 发表于 2013-9-14 14:55 | 显示全部楼层
好经验啊
cnlxin 发表于 2013-9-14 17:31 | 显示全部楼层
好贴,标记收藏!
223178825 发表于 2013-9-14 18:00 | 显示全部楼层
today_lucky 发表于 2013-9-14 23:28 | 显示全部楼层
李冬发 发表于 2013-9-14 23:39 | 显示全部楼层
送段--消影--送位--延时
----------------------------------
晕,为什么不是:消影--送段--送位--延时?
你没消影之前就改段值,不拖影才怪呢。
cjseng 发表于 2013-9-15 09:45 | 显示全部楼层
李冬发 发表于 2013-9-14 23:39
送段--消影--送位--延时
----------------------------------
晕,为什么不是:消影--送段--送位--延时?

你没仔细看,楼主其实是这样的:
送段-段消隐-送位-延时-位消隐
a字头01 发表于 2013-9-18 08:49 | 显示全部楼层
同志们,感谢送积分啊
william_D_87 发表于 2013-9-18 16:40 | 显示全部楼层
不错 不错。 鼓励经验分享 狂顶!!
youluo235 发表于 2013-10-14 15:47 | 显示全部楼层
黄小俊 发表于 2013-10-14 19:59 | 显示全部楼层
感觉573好像没有这个问题啊。。。这让我想起了用164做的一个数码管驱动,,那个真的是无法消除阴影。
why812182493 发表于 2013-12-22 13:11 | 显示全部楼层
赞一个。问题终于在楼主这里解决了。
czq624589971 发表于 2013-12-22 15:42 | 显示全部楼层
赞一个,谢谢楼主分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

162

帖子

7

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