我估计出的效果不是01234567,而是一堆重影。
因为你一个数码管只有亮的操作, 而没有灭的。
动态扫描的基本思路是:在同一个时间内,只有一个数码管是亮的。
你这个扫描方式也有问题,你可以把switch..case放到中断里面去,不需要放到死循环里。
然后在一开始进入中断的时候加上一句,P0=0x00;
动态显示程序,必须不停的、反复的调用。
稍有停顿,就只能看见最后显示的一位字符。
解决方法,可以参考我以前回答的问题:
http://zhidao.baidu.com/question/408722818.html
求采纳为满意回答。