关于51单片机动态显示

2019-07-15 16:31发布

   菜鸟一只,在学习51单片机动态显示时碰到一些问题:当动态显示时的delay时间间隔较高数码管时能够一个一个按顺序清楚显示同时数数,可是delay时间间隔一旦降到几ms时【方波频率很高】,数数的数码管其他不该亮的段就会高速频闪,甚至其他没选中的数码管也会有微弱的亮光。。。为什么?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
小鲜肉不怕电
2019-07-16 01:34
问题还是没有得到解答。。这是我的程序:(共阴数码管)
                wela=1;
                P0=table1[3];                                   delay(1000);         //开第四个位选数码管,下同
                wela=0;
                P0=0x00;
                dula=1;
                P0=table2[aa];                                          delay(1000); //显示百位数字
                dula=0;
                delay(10);
                P0=0x00;

                wela=1;
                P0=table1[4];                                    delay(1000);
                wela=0;
                P0=0x00;
                dula=1;
                P0=table2[bb];                                          delay(1000);//显示十位数字
                dula=0;
                delay(10);
                P0=0x00;

        wela=1;
                P0=table1[5];                                          delay(1000);
                wela=0;
                P0=0x00;
                dula=1;
                P0=table2[cc];                                           delay(1000);//显示个位数字
                dula=0;
                delay(10);
                P0=0x00;
问题在于我烧录之后数码管竟然先显示A.(0xf7正是第四个位选数码管的编码),停一秒之后再显示百位数字,之后两位数字也是同样的情况。不知道位选码什么时候莫名的就送入段选里去了。。我怀疑是不是跟位选锁存器的后两个无关引脚设为高电平有关。

一周热门 更多>