We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
HI I AM WORKING ON STEPPER MOTOR WITH MICROCONTROLLOR(P89V51RD2BN).THIS IS MY PROGRAM. #include<reg52.h>
#define ST_CNTRL P1;
void delay(void);
void main() { unsigned char k; for(k=0;k<30;k++) { P1 = 0x66; delay(); P1 = 0xcc; delay(); P1 = 0x99; delay(); P1 = 0x33; delay(); } }
void delay(void) { unsigned int i,j;
for(i = 0; i<0x20; i++) { for(j = 0; j<0x20; j++) { } } } PROBLEM IS THE STEPPER MOTOR DOESNT STOP AFTER 30 STEPS AS GIVEN IN FOR LOOP.IT JUST JERKS AFTER 30 STEPS AND CONTINUE ROTATING,I WANT TO STOP IS AFTER 30 STEPS. CAN ANY ONE HELP?
Thank you everyone for the help and push..i managed to make my stepper motor stop as intended...HURRAY..this is my updated program: #include<reg52.h>
void main() { unsigned int k,j; for(k=0;k<87;k++) { P1 = 0x66; delay(); P1 = 0xcc; delay(); P1 = 0x99; delay(); P1 = 0x33; delay();
} for(j=0;j<0xff;j++) { for(k=1;k<0xff ;k++) { j=0; P1 =0x00; } } }
for(i = 0; i<0x20; i++) { for(j = 0; j<0x20; j++) { } } }
What was wrong with just a
while (1) ;
or
for (;;) ;
just before the closing brace of main()? Too simple versions of an infinite loop?
This is most definitely not the most beautiful infinite loop I have seen:
for (j = 0; j < 0xff; j++) { for (k = 1; k < 0xff; k++) { j = 0; P1 = 0x00; } }
But at least you didn't use goto to create the loop.
OH tat worked sir..Thank you very much for the help:)
hi did it work
Just checking if I can post to this thread.