把需要显示的数作为定时器初值,把你的数码管显示函数放到定时器里,随着显示的进行,需要显示的数增加,定时器中断时间增加,从而使数码管扫描显示的速度降低
unsigned char disp[]={0,2,,4,6,8};
void timer0 interrupt 1
{
unsigned char i = 0;
TH0 = (65535-(disp[i]*500+100))/256;//随便赋的初值,根据你实际显示效果赋值,这里只是做示范
TL0 = (65535-(disp[i]*500+100))%256;
display();//假设这是你的数码管显示函数
i++;
} |