|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
#include "reg52.h"
$ P" C+ Q: O3 M5 ]) y#define uchar unsigned char
/ i; q3 y. n: g8 w$ w* V#define uint unsigned int ) e$ \0 b9 _/ L. P) f
sbit P2_0 = P2^0;- \! e: N, z% X7 i. \ C9 R: @
sbit P2_1 = P2^1;
) b4 n$ X' v/ u q+ S+ nsbit P2_2 = P2^2;
5 U/ Q- a" b$ J. Gsbit P2_7 = P2^7;
' G- \7 ?. e/ a: N2 _6 D$ H) P/*delay(1)延时时间为300US
9 j0 v* X: X/ Y2 V7 z3 tdelay(80)延时时间为20mS
$ ~3 R5 X# E: ndelay(4)延时时间为1mS8 |. o# Z" k$ l8 h, n. p8 h
delay(8)延时时间为2mS
7 ]/ n I# u l2 }+ P9 e+ Odelay(6)延时时间为1.55mS* q1 R7 `6 Y- W U/ Y! }5 Y; O
delay(2)延时时间为0.55MS
1 z! N0 j; ]; ]2 Gdelay(10)延时时间为2.5mS
0 J: j/ h0 n8 `* J$ R5 ~9 ]$ i' f*/
' I2 ?7 a- f( pvoid Delay(int j) //延时, m8 i/ o9 A+ O1 l! W# {" V) ~
{ int i;* x, Z' S! s1 |6 o- v+ E
for(;j>0;j--). K6 P! h6 v+ U! j
{
' B$ V. x$ }7 k; L; D for(i=0;i<28;i++);
' I N$ ?8 @. g$ y% Z' r, s/ P }5 }" M: P4 y' I7 }
}# V" R, T6 i+ ]0 D/ k; I+ A
, P1 m+ g- M! N0 w: n. K% Mvoid main(void)
% _! g, r- z+ b0 q{: F* e& {! d8 e% p$ g
int i=0;
$ _* A0 K# ^4 p2 E int j=0;
$ ?: c# h- u Y3 O int g=0;
* R7 R" e3 P* W8 @2 o3 ~ P2=0XFF;! _) ]5 k4 Q! P+ D) X' `0 }6 E
P2_0=0; //舵机电源地线 ' u' `1 n- a% L# H2 I+ |
P2_1 =1; //舵机电源电压 注意 这两个 引脚要和单片机 电源电压和地线 共线 ,不然会出现舵机只按一个方向转
6 z0 K- g( p& \1 T+ x3 g' Y P2_2=0; // 控制脉宽
% t+ _8 f8 y' r( a, s while(1)
7 S; N* o' `. r7 ]# C' m5 v { for(g=0;g<25;g++) //0.5ms 0度位置
% i7 B3 b2 y9 g6 s* [ {
' p8 m4 j" Z, U2 N P2_7=0; //开启P2_7灯9 {7 m% c" o" V
P2_2=1;3 P7 h8 M# N1 s/ v9 w" J ]
Delay(2);
# K: j. m. [* N' h P2_2=0;) s# K- O3 U$ r8 ^) Q
Delay(78);
: Y) m N' A' D+ ~5 r6 K% G Delay(100);) \+ A) P5 Y# ?2 [4 f; ]7 K
}
4 N; O0 }( o! F Delay(5000);
( _$ |3 f/ ~7 r P2_7=1; //结束P2_7灯: r2 Z5 r2 p' _
//1.0ms 45度位置
, O1 ^8 t9 l1 J/ f4 n8 A for(g=0;g<15;g++) & \0 f- T% T+ x7 Q9 C- O: l
{ P2_2=1;' A5 d& x8 {5 E Y Z6 C5 H
Delay(4);
8 c5 Z$ z; ]1 p& G- I# u5 d1 q ] P2_2=0;
8 Y8 T8 U8 x0 ^; C3 L Delay(78);' I. w6 Y" r4 q2 c9 m9 o o
Delay(100);
# t- B6 [$ x' `' Q" v- ^6 Z }
. K: b/ V/ U5 a3 c //1.5ms 90度位置& i- J# E( b. m. v7 [/ I
for(g=0;g<15;g++) # l" ^8 t6 x- Z2 O' r
{ P2_2=1;8 `0 F3 l, a2 ^4 |* {3 M+ Q+ J
Delay(6);$ Z5 f% }; I4 S) y& e4 P1 V2 T* `
P2_2=0;
! x- B0 n9 z0 c Delay(78);
3 x& r- F# \- x { Delay(100);' l$ l4 q% { p7 N
}
) t7 p5 X. F2 P6 K& c: {7 z; S //2.0ms 135度位置8 ]9 m5 Y& J q) O7 H% b+ @
for(g=0;g<15;g++) " B4 i8 a1 q1 C" `% c. w8 r
{ P2_2=1;7 }1 H0 [; V7 F; I% q7 ^" c
Delay(8);) ]0 E& d4 v+ b6 Y# r
P2_2=0;
/ G' \) |3 v7 p- i6 }3 q( @ Delay(74);
3 ]( P* n5 [9 P3 J$ ^ C Delay(100);4 F- q3 l: [0 N
}2 B- X, O9 `/ ^
// 2.5ms 180度位置
% k/ @( z. u( {1 z6 V+ V' F for(g=0;g<15;g++)
) D0 V& I: r Y E9 k { P2_2=1;. |2 Q& I# }$ z( y7 m
Delay(10);
, D+ R# `7 [7 V) y P2_2=0;* g4 L! q2 w8 Y! s2 d( J$ i* x" l
Delay(72);) t8 k1 O! |6 N Z6 f
Delay(100);
; R4 ^8 g: _: G5 K+ E }
/ c7 W, \/ O! w, k$ E' L" G1 b6 m9 w% D' ?% c) k: w: b r
}- F6 z* Q3 e4 {' |$ S
}% z! g9 S7 c0 H0 Q0 l1 x
. ?. f$ I% V, X1 g6 z
|
|