case 10: 
 if(uiTimeCnt_01_08>=const_time_level_01_08) //时间到 
 { 
 uiTimeCnt_01_08=0; //时间计数器清零 
 
 ucLed_dr6=0; //第6个灭 
 
 ucLed_update=1; //更新显示 
 ucLedStep_01_08=11; //切换到下一个步骤 
 } 
 break; 
 case 11: 
 if(uiTimeCnt_01_08>=const_time_level_01_08) //时间到 
 { 
 uiTimeCnt_01_08=0; //时间计数器清零 
 
 ucLed_dr5=0; //第5个灭 
 
 ucLed_update=1; //更新显示 
 ucLedStep_01_08=12; //切换到下一个步骤 
 } 
 break; 
 case 12: 
 if(uiTimeCnt_01_08>=const_time_level_01_08) //时间到 
 { 
 uiTimeCnt_01_08=0; //时间计数器清零 
 
 ucLed_dr4=0; //第4个灭 
 
 ucLed_update=1; //更新显示 
 ucLedStep_01_08=13; //切换到下一个步骤 
 } 
 break; 
 case 13: 
 if(uiTimeCnt_01_08>=const_time_level_01_08) //时间到 
 { 
 uiTimeCnt_01_08=0; //时间计数器清零 
 
 ucLed_dr3=0; //第3个灭 
 
 ucLed_update=1; //更新显示 
 ucLedStep_01_08=14; //切换到下一个步骤 
 } 
 break; 
 case 14: 
 if(uiTimeCnt_01_08>=const_time_level_01_08) //时间到 
 { 
 uiTimeCnt_01_08=0; //时间计数器清零 
 
 ucLed_dr2=0; //第2个灭 
 
 ucLed_update=1; //更新显示 
 ucLedStep_01_08=15; //切换到下一个步骤 
 } 
 break; 
 case 15: 
 if(uiTimeCnt_01_08>=const_time_level_01_08) //时间到 
 { 
 uiTimeCnt_01_08=0; //时间计数器清零 
 
 ucLed_dr1=0; //第1个灭 
 
 ucLed_update=1; //更新显示 
 ucLedStep_01_08=0; //返回到最开始处,重新开始新的一次循环。 
 } 
 break; 
 
 } 
 
} 
 
 
void T0_time() interrupt 1 
{ 
 TF0=0; //清除中断标志 
 TR0=0; //关中断 
 
 if(uiTimeCnt_01_08<0xffff) //设定这个条件,防止uiTimeCnt超范围。 
 { 
 uiTimeCnt_01_08++; //累加定时中断的次数, 
 } 
 
 TH0=0xf8; //重装初始值(65535-2000)=63535=0xf82f 
 TL0=0x2f; 
 TR0=1; //开中断 
} 
 
void delay_short(unsigned int uiDelayShort) 
{ 
 unsigned int i; 
 for(i=0;i<uiDelayShort;i++) 
 { 
 ; //一个分号相当于执行一条空语句 
 } 
} 
 
void delay_long(unsigned int uiDelayLong) 
{ 
 unsigned int i; 
 unsigned int j; 
 for(i=0;i<uiDelayLong;i++) 
 { 
 for(j=0;j<500;j++) //内嵌循环的空指令数量 
 { 
 ; //一个分号相当于执行一条空语句 
 } 
 } 
} 
 
 
void initial_myself() //第一区 初始化单片机 
{ 
 
 TMOD=0x01; //设置定时器0为工作方式1 
 
 
 TH0=0xf8; //重装初始值(65535-2000)=63535=0xf82f 
 TL0=0x2f; 
 
 
} 
 
void initial_peripheral() //第二区 初始化外围 
{ 
 EA=1; //开总中断 
 ET0=1; //允许定时中断 
 TR0=1; //启动定时中断 
 
} 
总结陈词:
这节讲了在第1个至第8个LED灯中,先依次逐个亮再依次逐个灭的跑马灯程序。下一节我们略作修改,继续做跑马灯的程序,要求在第9个至第16个LED灯中,依次逐个亮灯并且每次只能亮一个灯(其它的都灭),依次循环,我们该如何编写程序?欲知详情,请听下回分解-----依次逐个亮灯并且每次只能亮一个灯的跑马灯程序。