|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
#include "reg52.h"+ g- g5 @! b2 Q/ ~
#define uchar unsigned char
a3 v3 d Y, i, y4 Y, O3 ]#define uint unsigned int 4 t5 t1 u/ {8 Z+ b1 |
sbit P2_0 = P2^0;2 P7 H ^" x* F0 A. s
sbit P2_1 = P2^1;
) P7 e/ |2 k, J- q y/ W) osbit P2_2 = P2^2;
, q6 h( j# w1 N. {# e) R5 |sbit P2_7 = P2^7;0 H+ j& t! }3 s2 z' P
/*delay(1)延时时间为300US
8 j! _ q. L$ P. \5 Ndelay(80)延时时间为20mS C. {2 M3 r+ J5 ^4 W5 O4 m8 H
delay(4)延时时间为1mS
6 a* ~; I8 P6 R% [! udelay(8)延时时间为2mS7 S' n5 ], @9 R& _
delay(6)延时时间为1.55mS: b$ O2 h# y1 M
delay(2)延时时间为0.55MS
! {7 a3 j# `' q7 _( R3 B& n. u% jdelay(10)延时时间为2.5mS/ [) t/ B( w( t
*/
0 S n: Q- _1 I5 m Kvoid Delay(int j) //延时/ o5 U/ y2 d [# I
{ int i;; Y2 D& }* C! Q* A0 i+ b
for(;j>0;j--)
2 u; ^3 K$ @7 R+ |: G3 q5 P) } { . }# O( {0 J% @/ B1 O! {. Y4 R
for(i=0;i<28;i++);* \1 k. a# E q6 L
}
9 V4 L2 H6 l. ` }
8 E9 A3 i* `% ~( Q! m' f1 n: B) N( u
void main(void)
7 H. A9 M* u, C9 N$ ~{
- L9 j7 D8 g0 n( B) v int i=0;
2 Y+ h0 ]. K& q/ y& N" p int j=0;6 B S2 g+ c% e3 _; |: {3 Q
int g=0;9 B8 x5 t& Y: [9 g% M
P2=0XFF;
7 u- H! X% I) } P2_0=0; //舵机电源地线
. t0 ]* }) Z4 M; |' d; H P2_1 =1; //舵机电源电压 注意 这两个 引脚要和单片机 电源电压和地线 共线 ,不然会出现舵机只按一个方向转
, n( o& Z P$ o3 V! B3 A9 n: @/ V& W$ _ P2_2=0; // 控制脉宽 0 w1 q" B3 d# c6 V0 B: M
while(1)) `5 Y$ r; a2 u) S( n# i6 r4 i- y3 V: s
{ for(g=0;g<25;g++) //0.5ms 0度位置
% b" L7 ^$ a. b: [7 J( Z {
- S7 n2 E1 B0 {0 C P2_7=0; //开启P2_7灯
0 U, q! ` D0 F/ p& Y2 r7 h3 f/ S P2_2=1;
1 A4 W: D7 @$ m# K Delay(2);( f' h1 X. R- S0 o6 y D
P2_2=0;9 u# r: e# i6 Q0 T7 |8 k
Delay(78);
' h6 f6 y7 c& [1 d" p! X1 C Delay(100);4 s0 r [. n) m: L2 N; h7 s! X
} @5 ~9 J) Q; a- j
Delay(5000);: Y0 f: t& }* |* \5 D2 a( o# }
P2_7=1; //结束P2_7灯- q# k8 C8 ?. n
//1.0ms 45度位置
. I' F5 Y7 c% w for(g=0;g<15;g++) 0 t* @* e1 S: Y+ a H7 { \# f
{ P2_2=1;
6 q7 X7 l! _: ] Delay(4);
8 v1 ~6 i9 l$ v, s P2_2=0;8 u ?0 ^3 u0 X1 B3 h+ M
Delay(78);
' x7 s# `! Z8 H& c4 p Delay(100);
( _! i# b9 T N; X }
! w" X+ @, T+ `0 K A7 C3 F //1.5ms 90度位置8 X% i5 {5 f& T# V9 j6 h) W
for(g=0;g<15;g++) 9 T9 O4 }; B3 W) J8 y6 H/ O& p' Q
{ P2_2=1;+ t/ R& B; a" F- j& s g
Delay(6);
% l+ s. y: B: g2 W! U: S P2_2=0;! h9 l3 s$ W0 W" f. t! t
Delay(78);/ X2 q! i9 M, l- V% _- i. B
Delay(100);9 Z$ H7 W$ A4 D) d' c" H( J x
} X; |3 H+ T L- z. r. Y
//2.0ms 135度位置
! x' S9 g2 }$ w$ j2 l for(g=0;g<15;g++)
) V; g: B8 S4 d9 g { P2_2=1;
1 D9 K4 P; R1 X, ^& g9 @ Delay(8);
* C0 x, M% ]* U0 S. m; R2 } P2_2=0;
+ @% Z8 v1 ^3 G Delay(74);
. B7 \( r$ @2 Z& m2 h$ u Delay(100);7 c! ^% l, Q8 v' t7 R. U! l6 N6 n
}
1 Z' O; G. y/ ]+ D, q" c+ F // 2.5ms 180度位置
9 Y, P$ y2 u& M for(g=0;g<15;g++) 8 Q; T1 {$ @0 f! k2 Y* Z
{ P2_2=1;0 a% d+ c1 @: n0 p5 ^
Delay(10);
4 o- L$ f1 k h$ j) C' l P2_2=0;
# h' I# J6 e3 j% L. s5 A& |0 V" B Delay(72);+ U; n+ u0 O; C6 f d, R1 I. j, J
Delay(100);8 @! l) N4 ?( R4 d+ D/ _
}$ V* q( B! X$ R, V J5 a G
/ ^ w: W# r4 ?. ^: j2 Q% A3 C
}+ c8 z: A7 s; `/ q. a
}
4 i% J' W" ^4 f+ {- a- @) U& I. e7 N
|
|