Interface a Stepper motor and rotate it in a clockwise and anti-clockwise direction
Program:-
#include <LPC21xx.H> void clock_wise(void); void anti_clock_wise(void); unsigned long int var1; unsigned int i=0,j=0,k=0; int main(void) { PINSEL0 = 0x00000000; //P0.12 to P0.15 GPIo IO0DIR = 0x0000F000; //P0.12 to P0.15 output while(1) { for(j=0;j<50;j++) // 50 times in Clock wise Rotation(360 degree) clock_wise(); for(k=0;k<65000;k++); // Delay to show anti_clock Rotation for(j=0;j<50;j++) // 50 times in Anti Clock wise Rotation(360 degree) anti_clock_wise(); for(k=0;k<65000;k++); // Delay to show clock Rotation } // End of while(1) } // End of main void clock_wise(void) { var1 = 0x00000800; //For Clockwise for(i=0;i<=3;i++) // for A B C D Stepping { var1 = var1<<1; //For Clockwise IO0PIN = var1; for(k=0;k<3000;k++); //for step speed variation } } void anti_clock_wise(void) { var1 = 0x00010000; //For Anticlockwise for(i=0;i<=3;i++) // for A B C D Stepping { var1 = var1>>1; //For Anticlockwise IO0PIN = var1; for(k=0;k<3000;k++); //for step speed variation } }