你是想小于10时,只显示个位,十位是灭的,只有超过9时,才显示十位吗?
显示时,就不用再检查按键了,
if(num>=10){
//while(k1==1);//删掉这行
P2=0xfe; //这行和下行交换一下
P0=Dsy_Code[num/10];
下图是仿真的结果,可以正常显示了。但是,在按键的时候,个位会闪一下,这是因为按键后有等待按键的语句
if(k1==0){
while(k1==0); //因为这行,会闪一下,这是正常的
num++;
每一位数码管点亮后保持4~15ms(延时),再换到下一位显示