Professional Documents
Culture Documents
التحكم فى السيرفو موتور
التحكم فى السيرفو موتور
التحكم فى السيرفو موتور
.
ms 0.7 ms 2.3 0 180.
). delay_us(1000
.
( ) .
;) (Delay_Cyc
;) ( Delay_Cyc
.
4 Mega Hertz 1 .
100
;) Delay_Cyc (10
*. 10
1.7
1700 (S)/10=170
So,
;)Delay_Cyc (170
.
90.
1500 18500 50
.
{)while(1
;servo1=on
;)Delay_Cyc(150
// delay=150*10=1500 us=1.5 ms
; servo1=off
;)delay_ms(1850
}
{)while(1
;delay=i*10
;delay=delay+n
;servo1=on
;)Delay_Cyc(delay
// delay=70*10=700 us=.7 ms
;servo1=off
;)delay_ms(20
;)if(sw1==pressed){delay_ms(200
;n++
};if(n>=161){n=0
}}
:
delay 70 230 .
. n,m
n
;)if(sw1==pressed){delay_ms(200
;n++
i 7 :
;delay=i*10
//delay=70
delay=delay+n ; // delay =70+1=71
* 10 701
0.71 .
;)Delay_Cyc(delay
n 161
700 2300
. 10
2300-700=1600/10=160 n(max)=160
// servo motor control
// author :ashraf kamal elhamahmy
// 14-april-2012
# define servo1 portb.f1
# define servo1_dir trisb.f1
# define servo2 portb.f3
#
#
#
#
#
#
#
#
#
#
//
:
// servo motor control
// author :ashraf kamal elhanahmy
// 14-november-2012
# define servo1 portb.f1
# define servo1_dir trisb.f1
# define servo2 portb.f3
# define servo2_dir trisb.f3
# define sw1 portb.f0
# define sw2 portb.f2
# define sw1_dir trisb.f0
# define sw2_dir trisb.f2
# define pressed 0
# define output 0
# define input 1
# define on 1
# define off 0
char i;
char n; unsigned short delay;
unsigned short delay2;
char m,d;
void init(){
servo1_dir=output;
servo2_dir=output;
sw1_dir=input;
sw2_dir=input;
}
void main() {
init();
i=7;
n=0;
m=0;
d=7;
while(1){
delay=i*10;
delay=delay+n;
delay2=d*10;
delay2=delay2+m;
servo1=on;
Delay_Cyc(delay);
servo1=off;
delay_ms(20);
servo2=on;
Delay_Cyc(delay2);
servo2=off;
delay_ms(20);
;)if(sw1==pressed){delay_ms(200
;n++
};if(n>=161){n=0
}
;)if(sw2==pressed){ delay_ms(200
;m++
};if(m>=161){m=0
}
}
ashrafmostafakamal@yahoo.com