www.pudn.com > BUJINGDIANJI_PROTEUS.rar > 三相步进电机2.c, change:2006-04-18,size:1336b


 #include<iom8v.h> 
 #include<macros.h> 
 #define a 5000 
 void main(void) 
 { 
   unsigned int i; 
   i=a; 
   DDRD=0XFF; 
   while(1) 
   { 
    //单拍反向步进方式 
	/* 
   PORTD=0x01; 
   while(i--); 
   i=a; 
    
   PORTD=0x04; 
   while(i--); 
   i=a; 
   PORTD=0x08; 
   while(i--); 
   i=a; 
    PORTD=0x20; 
   while(i--); 
   i=a; 
    */ 
//单拍正相转动    
   /* 
    PORTD=0x20; 
   while(i--); 
   i=a; 
    
   PORTD=0x08; 
   while(i--); 
   i=a; 
   PORTD=0x04; 
   while(i--); 
   i=a; 
    PORTD=0x01; 
   while(i--); 
   i=a; 
  */ 
  //双拍反向转动 
   /* 
   PORTD=0x21; 
   while(i--); 
   i=a; 
    
   PORTD=0x05; 
   while(i--); 
   i=a; 
   PORTD=0x0c; 
   while(i--); 
   i=a; 
    PORTD=0x28; 
   while(i--); 
   i=a; 
   */ 
   //双拍正向转动 
   /* 
   PORTD=0x28; 
   while(i--); 
   i=a; 
    
   PORTD=0x0c; 
   while(i--); 
   i=a; 
   PORTD=0x05; 
   while(i--); 
   i=a; 
    PORTD=0x21; 
   while(i--); 
   i=a; 
   */ 
    
   //半拍反向步进方式 
   PORTD=0x01; 
   while(i--); 
   i=a; 
    
   PORTD=0x05; 
   while(i--); 
   i=a; 
   PORTD=0x04; 
   while(i--); 
   i=a; 
    PORTD=0x0c; 
   while(i--); 
   i=a; 
   PORTD=0x08; 
   while(i--); 
   i=a; 
    
   PORTD=0x28; 
   while(i--); 
   i=a; 
   PORTD=0x20; 
   while(i--); 
   i=a; 
    PORTD=0x21; 
   while(i--); 
   i=a; 
   } 
   }