|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
#include "reg52.h"! y8 j7 R6 H0 W
#define uchar unsigned char 3 D; o; u4 p6 c6 h" P# v4 Z9 B3 T
#define uint unsigned int
! Y: y2 I, H( z/ Q' v+ @sbit P2_0 = P2^0;
! ^' B" g0 B' Q0 W! lsbit P2_1 = P2^1;3 a4 _+ o7 y4 ]7 H; `
sbit P2_2 = P2^2;
: B8 e* [& r5 ~: P3 l: ? p2 Wsbit P2_7 = P2^7;. N4 R" Z0 z! k% z8 ^4 q$ ]4 p
/*delay(1)延时时间为300US
1 ~- I6 T9 z5 f+ o$ n1 jdelay(80)延时时间为20mS
0 H3 R: {3 q8 \8 e- x* Mdelay(4)延时时间为1mS' H% }5 U& J# @6 i8 ?, l4 B- \7 @2 G* j
delay(8)延时时间为2mS
! K; X& S; c& I+ Qdelay(6)延时时间为1.55mS- ^& L$ A' @ Z6 K# M' ^, ]
delay(2)延时时间为0.55MS! f3 @# z3 [- d' `6 t
delay(10)延时时间为2.5mS
3 T% |! l: \0 I+ a+ L*/ B% P E- t! Q. Q& e
void Delay(int j) //延时; H0 p, D- G: y# g0 F+ J( y% d0 Z4 c
{ int i;
: U" ?# z. @$ s, q/ Q& @7 l for(;j>0;j--)) F4 ^! H" ^# i: Q1 Y) s- a
{ 5 ?* n( m6 u# l% f; |! W
for(i=0;i<28;i++);/ j7 ~& ^4 G7 J
}
# @" P2 { S& ]# V, V7 N8 B }
. N, B0 q8 ~. r: N& X% O, e& L. Z$ u8 d- m! G7 `1 O
void main(void)
& `3 T$ K7 P3 _{( V: Y5 z7 c# W0 S8 E+ T
int i=0;* U! H% ^- C2 o9 C- ~
int j=0;# J* ~! ~! x; p+ y! `1 v6 J. ^
int g=0;
# U! M! }+ q$ e/ i8 f3 L P2=0XFF;
9 r. s0 d) _; M1 O P2_0=0; //舵机电源地线
4 d2 Q+ e2 K# V P2_1 =1; //舵机电源电压 注意 这两个 引脚要和单片机 电源电压和地线 共线 ,不然会出现舵机只按一个方向转
6 n9 P% V) p- ]; R1 U$ X& a P2_2=0; // 控制脉宽 ( w$ S5 s! e6 R# }8 p. N X- F
while(1)
; C' P7 P8 G9 }& w { for(g=0;g<25;g++) //0.5ms 0度位置
: O( f2 m |! X: [) A- f5 ~. E {
6 N: N7 M( W) R% R' j P2_7=0; //开启P2_7灯6 X, L9 ^: H1 x
P2_2=1;/ E# Z$ B/ B# S! \# U" ]
Delay(2);
' B3 s& b/ w, O# v P2_2=0;
+ u; m J$ R8 o7 p Delay(78);* ?9 }' U2 d8 _5 w. v+ `6 k
Delay(100);- N0 {5 q( _8 m( N
}
/ d q( l& {2 a- Z1 l/ ? Delay(5000);& { b8 N3 a* B' ^' S# y
P2_7=1; //结束P2_7灯 s# p( G8 @2 A4 s0 ?' l
//1.0ms 45度位置- G. ~5 F5 k, P1 z) Y3 S1 k+ d
for(g=0;g<15;g++) , m, Y% a5 O+ g) T0 A7 `
{ P2_2=1;
O; T$ h1 G) U) c6 Z5 w) n Delay(4);
* N1 ~" ~2 o5 g. O8 T$ N) h! Q0 c& C P2_2=0;2 P: l# H+ ?+ P7 i
Delay(78);1 T+ ?5 q! T; h: @: J( k
Delay(100);5 A8 o4 D6 Y) \, v8 r$ h
}
* Y5 F+ c, V* p* e$ Y //1.5ms 90度位置: H4 c1 f* Q. I5 v4 ~
for(g=0;g<15;g++)
5 ?0 m( J$ v/ O1 p8 e { P2_2=1;- W$ B0 x; J' G: j% e
Delay(6);
+ o g; i+ @+ Z P2_2=0;, ^1 i `! x. G) k; b
Delay(78);/ r1 m, |' @8 K% s0 q8 l/ m
Delay(100);
- @. V7 z' S$ W4 S6 H }9 \ J$ }, Q W* s7 Y
//2.0ms 135度位置
7 o' u) g& R/ s* }% c) _- j for(g=0;g<15;g++)
2 a ?7 ~3 q: d- f |& P" p2 N# j { P2_2=1;
3 E0 H a5 ]- s Delay(8);5 i: N1 O' N# b( Y" |+ D
P2_2=0;
4 G; y+ k, Z; l; R! E Delay(74);# p( s w+ P0 R2 t. m
Delay(100);* o( O: M& ^; F. c3 K
}
4 G: v9 o" |9 U6 U // 2.5ms 180度位置
* S: k6 z: d! }- S8 U for(g=0;g<15;g++)
0 q$ ^' i5 M- \8 O# X+ G0 [ { P2_2=1;0 F/ c' n5 |% Q/ q
Delay(10);
0 c1 k! Y, \2 O$ Q: c7 Z P2_2=0;8 p' u" H% q4 p7 d# ?
Delay(72);
) D$ F" \- L+ ?* q$ d/ f" ~9 r& K Delay(100);
& i3 i6 B1 ~, {, E5 Q, } }4 q m, V7 l2 P+ ?3 T; z
! s# ?6 }% u# ?- R1 A }
2 k% O! f4 @$ E1 p+ X+ {. q. ]}; k7 e2 q8 ^# X) C" o$ c& R: O: O
6 ^* ] M. Q f' M) o" i( e3 j3 ?* \ |
|