;staticintstep_index;voiddelay(unsignedintendcount);voidgorun(bitturn,unsignedintspeedlevel);voidmain(void){count=0;step_index=0;P1_0=0;P1_1=0;P1_2=0;EA=1;//允许CPU中断TMOD=0x11;//设定时器0和1为16位模式1ET0=1;//定时器0中断允许TH0=0xFE;TL0=0x0C;//设定时每隔0.5ms中断一次TR0=1;//开始计数do{gorun(1,60);}while(1);}//定时器0中断处理voidtimeint(void)interrupt1{TH0=0xFE;TL0=0x0C;//设定时每隔0.5ms中断一次count++;}voiddelay(unsignedintendcount){count=0;do{}while(count<endcount);}voidgorun(bitturn,unsignedintspeedlevel){switch(step_index){case0:P1_0=1;P1_1=0;P1_2=0;P1_3=0;break;case1:P1_0=1;P1_1=1;P1_2=0;P1_3=0;break;case2:P1_0=0;P1_1=1;P1_2=0;P1_3=0;break;case3:P1_0=0;P1_1=1;P1_2=1;P1_3=0;break;case4:P1_0=0;P1_1=0;P1_2=1;P1_3=0;break;case5:P1_0=0;P1_1=0;P1_2=1;P1_3=1;break;case6:P1_0=0;P1_1=0;P1_2=0;P1_3=1;break;case7:P1_0=1;P1_1=0;P1_2=0;P1_3=1;}