找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4056|回复: 5
打印 上一主题 下一主题
收起左侧

单片机数码管消隐问题,求大神帮忙解决一下

[复制链接]
跳转到指定楼层
楼主
ID:694156 发表于 2020-2-23 12:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
                P0=0xff;
                WE=1;
                P0=0XFE;
                WE=0;
?为什么不加,不会造成乱码吗。
                DU=1;
                P0=0X0F;
                DU=0;
                delay(5)
当数码管动态显示时,需要加入延迟函数还要清除断码,否则会因为循环时打开位选寄存器,P0值赋给位选,导致其他数码管亮。但为什么不在位选和段选中间不加延迟函数?清除断码的原理是什么,


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:696939 发表于 2020-2-23 14:23 | 只看该作者
你好,你的提问非常的读不同,我理解的意思是两端代码加了延迟和不加延迟数码管所显示我的位置不同。
这个原因是没有上一段代码中没有清除位选,直接带入下一个循环导致
回复

使用道具 举报

板凳
ID:213173 发表于 2020-2-23 15:20 | 只看该作者
以共阴数码管,段/位共用P0为例,只传消隐码不锁存,起不到消隐作用。
        //显示第一位
        P0=0x00;//消隐段码
        DU=1;        //送段码到锁存器
        DU=0;        //锁存
        //在段码消隐期间更改位码
        P0=0XFE;//位码
        WE=1;        //送位码到锁存器
        WE=0;        //锁存
        //此时显示位已改变
        P0=0x06;//要显示的段码,例'1'
        DU=1;        //送段码到锁存器
        DU=0;        //锁存
        delay(5)//延时(保持一小段时间显示内容)
        //显示第二位
        P0=0x00;//消隐段码
        DU=1;        //送段码到锁存器
        DU=0;        //锁存
        //在段码消隐期间更改位码
        P0=0XFD;//位码
        WE=1;        //送位码到锁存器
        WE=0;        //锁存
        //此时显示位已改变
        P0=0x5b;//要显示的段码,例'2'
        DU=1;        //送段码到锁存器
        DU=0;        //锁存
        delay(5)//延时(保持一小段时间显示内容)

        //显示第N位,以此类推
        ......
回复

使用道具 举报

地板
ID:798201 发表于 2021-1-15 15:35 | 只看该作者
                WE=1;
                P0=0XFE;
                WE=0;
?为什么不加,不会造成乱码吗。

//上面是送位选,下面是送段选,不会出现乱码(但会有轻微串光现象),
这个位加延时后数码管会出现串光(也就是大家说的要消隐问题)//

                DU=1;
                P0=0X0F;
                DU=0;
                delay(5)



你可以试程序改成这样,就完全不会出现串光问题。

                P0=0xff;      //消隐(解决串光)
                DU=1;
                DU=0;
            
                P0=0XFE;    //送位选
                WE=1;
                WE=0;

                P0=0X0F;   //送段选
                DU=1;
                DU=0;
                delay(5)      //延时
回复

使用道具 举报

5#
ID:847443 发表于 2021-1-25 17:15 | 只看该作者
上面是送位选,下面是送段选,不会出现乱码(但会有轻微串光现象),这个位加延时后数码管会出现串光(也就是大家说的要消隐问题这个原因是没有上一段代码中没有清除位选,直接带入下一个循环导致,意思是两端代码加了延迟和不加延迟数码管所显示我的位置不同。
回复

使用道具 举报

6#
ID:752974 发表于 2021-1-26 09:24 | 只看该作者
动态显示的工作过程是对数码管逐个扫面的,就是每时每刻只有一个数码管亮,至于串光,由于人的视觉反应有延迟,单片机工作速度快,人是看不到的。当扫描时间慢到一定程度,就能看到数码管一个一个在亮,至于其他的现象也是看不到。
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表