// P1_0为脉冲输出端，P1_1为方向输出端
//2相1.8度步进电机，16细分状态下正转1圈后反转1圈
#include<reg51.h>
#define unit unsigned int
sbit P1_0=P1^0;
sbit P1_1=P1^1;
unit time;
int m;
delay(){

for(m=0;m<10000;m++){;}
for(m=0;m<10000;m++){;}
for(m=0;m<10000;m++){;}
for(m=0;m<10000;m++){;}
for(m=0;m<10000;m++){;}
}
void timer0(void) interrupt 1 using 1{
if (time<=3200) {
  TR0=0;
  P1_0=!P1_0;
  for(m=0;m<30;m++){;}
  P1_0=!P1_0;

  time++;
}
  else {
  TR0=0;
  time=1;
  P1_1=!P1_1;
  delay();



  }


TH0=(65536-500)/256;
TL0=(65536-500)%256;




  TR0=1;
}

void main(void){
time=1;
TMOD=0x01;
P1_0=0;
P1_1=0;

delay();



TH0=(65536-500)/256;
TL0=(65536-500)%256;
EA=1;
ET0=1;
TR0=1;

do {} while (1);
}
