Any example of programming stepper?
90 degree = 50 step
+50step =100step
-100step =0degree
#define sw1 RD1
#define Relay RB1
#define led_error1 RB2
#define led_error2 RB3
#define led1 RC1
#define led2 RC2
#define led3 RC3
#define led4 RC4
// function prototype
//==========================================================================
void delay(unsigned long data);
// global variable
//==========================================================================
// main function
//==========================================================================
void main(void)
{
//assign variable
unsigned char A,B,C //declare a temporary variable for reading ADC
//unsigned char mode; //declare a variable to represent current mode
//set I/O input output
TRISA=0b11111111; //Ensure port A bits input
TRISC=0b00000000; //Ensure port C bits output
TRISD=0b11111111; //Ensure port D bits input
TRISB=0b00000000; //Ensure port B bits output
//configure ADC
ADCON0=0b10000001; //enable ADC converter module
ADCON1=0b10000100; //configure ADC and ANx pin//configure ADC
//initial condition
led1=0;
led2=0;
led3=0;
led4=0;
while(1) //infinity loop
{
if(sw1==0) //if SW1 OFF
{
if(PORTC==0b00000000) //Stepper at 0degree
{
PORTC=0b00000000 //Stepper return 0degree
}
else if(PORTC==0b00000101) //Stepper at 90degree
{
B=00000101; //Stepper return 0degree
PORTC=PORTC&B;
}
else if(PORTC==0b00001001) //Stepper at 180degree
{
C=00000011;
D=PORTC^C;
PORTC=~D; //1001^0011 then =~(0101)
if(PORTC=00000101)
{
B=00000101; //Stepper return 0degree
PORTC=TRISC&B;
}
}
}
else if(sw1==1) //SW1 ON
{
}
wjwong WROTE:Table Three. The normal sequence.
Step Q4 Q3 Q2 Q1
1 0 1 0 1
2 1 0 0 1
3 1 0 1 0
4 0 1 1 0
If sequence confirm is better to use shifting on C?
Users browsing this forum: No registered users and 4 guests