Hi, I have the a stepper motor that runs with the following program but doesn't stop. For example, I want it to stop after 1 full rotation or 10 full rotation and then STOP. How does one do that? HELP
// Program to provide simple square wave
#include <pic.h>
#include <math.h>
#include <delay.h>
__CONFIG(HS);
// Define Terms
#define PWM_output1 RD7
#define PWM_output2 RD6
#define PWM_output3 RD5
#define PWM_output4 RD4
#define CW 1
#define CCW 0
// Routine to obtain PWM for Port D's
int main (void)
{
int i;
for(i=0;i<=1;++i)
{
PWM_output1=1;
DelayUs(1);
PWM_output1=0;
DelayUs(1);
PWM_output2=1;
DelayUs(1);
PWM_output2=0;
DelayUs(1);
PWM_output3=1;
DelayUs(1);
PWM_output3=0;
DelayUs(1);
PWM_output4=1;
DelayUs(1);
PWM_output4=0;
DelayUs(1);
// Setting the ports
TRISD = 0x00; //sets PORTD for output
PORTD = 0x00; //clear PORTD
}
}
// Program to provide simple square wave
#include <pic.h>
#include <math.h>
#include <delay.h>
__CONFIG(HS);
// Define Terms
#define PWM_output1 RD7
#define PWM_output2 RD6
#define PWM_output3 RD5
#define PWM_output4 RD4
#define CW 1
#define CCW 0
// Routine to obtain PWM for Port D's
int main (void)
{
int i;
for(i=0;i<=1;++i)
{
PWM_output1=1;
DelayUs(1);
PWM_output1=0;
DelayUs(1);
PWM_output2=1;
DelayUs(1);
PWM_output2=0;
DelayUs(1);
PWM_output3=1;
DelayUs(1);
PWM_output3=0;
DelayUs(1);
PWM_output4=1;
DelayUs(1);
PWM_output4=0;
DelayUs(1);
// Setting the ports
TRISD = 0x00; //sets PORTD for output
PORTD = 0x00; //clear PORTD
}
}