把需要顯示的數作為定時器初值,把你的數碼管顯示函數放到定時器里,隨著顯示的進行,需要顯示的數增加,定時器中斷時間增加,從而使數碼管掃描顯示的速度降低
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++;
} |