这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 一种消除LED数码管底影的扫描驱动方法

共1条 1/1 1 跳转至

一种消除LED数码管底影的扫描驱动方法

工程师
2019-11-04 16:45:15     打赏

   现在有很多开发板上都用74HC573锁存器来驱动数码管,在动态扫描数码管时,大部分开发板的例程在消影上处理的很不好。下面我来给出一种消影的方法。


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


 
第二张是修改过函数的
 
可以从图中看出,第二张的显示效果非常好
      常规的驱动方式是   送段--消影--送位--延时-----然后下一位显示,这样显示没有解决段拖影的问题
      现在改为 送段--消影--送位--延时--打开位选将位的值设为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;                                        //关闭位锁存




关键词: 74HC573     LED数码管     扫描     驱动    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]