TF0最好每次进中断函数就清零。
显示部分只负责显示。感觉NUM累加,显示都放一起有点乱。
if(k==20)
{
num++;
k=0;这部分放到中断里好了,你怎么保证一定是k等于20时就能进行判断,万一是21呢?
你用的是两位数码管吧?你这样扫描速度太快,可能看起来都显示8或则都没显示。。每个送了显示数据就要延时一段时间再关闭!!
大概看出这些。。。。。
代码看不太出很多问题,中断模式1是循环触发模式还是单次模式?单次就有问题。想办法在Timer0_isr输出点什么确认中断有效被调用
另外,存在num跑飞的可能num一直被++没有被置位过,会导致duan[num]访问溢出。