关于51单片机动态显示
亮完一位后记得在后面加上一句让所有位熄灭的语句,不然会有余晖
显示部分前面加上消隐,比如段选在P0时前面加上P0 = 0xff;
问题还是没有得到解答。这是我的程序:(共阴数码管)
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正是第四个位选数码管的编码),停一秒之后再显示百位数字,之后两位数字也是同样的情况。不知道位选码什么时候莫名的就送入段选里去了。我怀疑是不是跟位选锁存器的后两个无关引脚设为高电平有关。
网上都有例程,可以找找