在使用数码管来显示数据的时候,如果没有对其有一个合适的处理,往往就会出现鬼影,或是数码管显示时亮度不一致。
常用的一个方法就是使用延时函数,让我们输出的数据在我们的数码管上停留一段时间,然后换另外一个位,再输出一个数据,然后接着停留一段时间,以此类推。那么我们停留多长时间才正确呢?经过我的经验,我们在选定数码管显示的位后,显示的延时为1ms是比较合适的。当然大家也可以试试其它的一个延时。这样一般都能够正常显示了。
另外还有就是数码管上一个数据残留的问题,对于这个问题,因为蓝桥杯单片机比赛的这一个竞赛版是使用了锁存器来对数码管进行一个操作。在打开锁存器之前,对P0口的任何操作,都不会影响到我们的Q数据端。所以为了消除上一个数据的影响,我们完全可以在打开锁存器前,将我们的数据传给P0口,接着再打开锁存器,延时一段时间,这样就可以解决问题了。当然需要提醒的一点是,如果我们这样进行操作,那么每次我们打开锁存器之后,一定要记住关掉它,否则一但你提前输入下一个位的数据时,上一个位的锁存器还没关掉,这不就对它做出了一个不希望有的操作吗?这肯定是有问题的。
一般情况下,其它函数占用时间过长,导致数码管难以正常显示的情况是很难见到的(在我们蓝桥杯单片机这块板子里)。但是,一但出现了,又很难解决。所以我在这儿,建议大家当这种情况出现时,可以尝试一下,将数码管显示函数放到定时器/计数器中,每到一定时间,就执行一次数码管显示函数。
标签:数码管线路板
地址:深圳市宝安区松岗街道东方社区大田洋南六路4号鑫浩顺智造创新园 B栋301
手机:15820766688
手机:18877857888
邮箱:feng61150700@126.com
深圳:0755-29917 109
广西:0771- 7555190
网址: