internetuser2k12
Banned
Why this is not working properly. I am trying to generate pwm signals and vary the speed of motor. The speed doesn't vary and the motor rotates on its own.
mikroC Code
mikroC Code
Code:
#define SW P2_7_bit
#define MOTOR P1_0_bit
void main() {
unsigned int speed = 0;
while (1) {
if(SW == 1) {
Delay_ms(20);
if(SW == 1) {
speed = speed + 1;
}
}
if(speed > 4) {
speed = 0;
}
switch(speed) {
case(0):{
MOTOR = 0;
break;
}
case(1):{
MOTOR = 1;
Delay_ms(25);
MOTOR = 0;
Delay_ms(75);
break;
}
case(2):{
MOTOR = 1;
Delay_ms(50);
MOTOR = 0;
Delay_ms(50);
break;
}
case(3):{
MOTOR = 1;
Delay_ms(75);
MOTOR = 0;
Delay_ms(25);
break;
}
case(4):{
MOTOR = 1;
break;
}
default:
;
}
}
}