|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
#include "reg52.h"
$ a t0 V& z. b2 u R+ W8 ^, _7 Q#define uchar unsigned char * f/ c9 c7 m# O
#define uint unsigned int 7 X6 q) j5 \2 Q) @( ~4 S3 p
sbit P2_0 = P2^0;
0 B- ~# q' D! I( Gsbit P2_1 = P2^1;
# Y. K P5 k/ u: v& ?sbit P2_2 = P2^2;
" B9 T7 _- v7 r# b$ G* bsbit P2_7 = P2^7; E: ~- B. v4 J6 L5 H
/*delay(1)延时时间为300US2 T8 [" m# u! w0 A1 r. j
delay(80)延时时间为20mS
. Q+ E4 w$ `' d& j4 i5 D: o& ndelay(4)延时时间为1mS6 I- W( o! q* o/ S7 O' j+ r
delay(8)延时时间为2mS5 a6 M( I4 s& \2 C* s6 ~2 K0 ]6 B6 G
delay(6)延时时间为1.55mS
( t( \" ?( F. B( A! edelay(2)延时时间为0.55MS
! } f+ ^# D% r6 Ldelay(10)延时时间为2.5mS2 E$ }# p1 U7 o1 K( }$ e
*// |) B, T& T% }0 {( t! h
void Delay(int j) //延时5 J1 X/ ?* Q4 p; l- Q
{ int i;& p2 Z& i' ^' G( [/ O1 \7 {, ^6 z& n
for(;j>0;j--)
8 e6 J& o% O. c! p( T7 D {
" f, }: s t) |6 W+ { for(i=0;i<28;i++);
3 K& e3 \9 I7 g. f5 g9 o7 ] }
0 D6 v2 Q* _ a5 |) h0 n. V }/ q' ` m- s- x3 L) K; j
( b+ I" f* _5 s) m' P q6 Z
void main(void)
- b$ f$ D+ h* @& |1 E" G{
* S4 y- p% w0 P. s: J8 ~ int i=0;
* z# p" d c5 A1 }) Y7 y int j=0;
0 X6 r( B1 m. C4 p; ] int g=0;$ D/ Y8 o( i T, \9 F) h1 K w
P2=0XFF;" Z1 w0 U* z1 L- r g
P2_0=0; //舵机电源地线
. X* ?5 G% X3 X O- N' h5 a& c P2_1 =1; //舵机电源电压 注意 这两个 引脚要和单片机 电源电压和地线 共线 ,不然会出现舵机只按一个方向转 0 F w& w- T T0 |
P2_2=0; // 控制脉宽
* e! Q* g9 Y" t/ E3 _. J while(1)1 @0 l# x+ L6 k0 q3 t
{ for(g=0;g<25;g++) //0.5ms 0度位置8 k1 L( N/ H! P. i. G' J0 Q6 n
{1 ~ N8 H9 O) y
P2_7=0; //开启P2_7灯
! B/ Z: t: H) Q; f P2_2=1;& G) S3 ?/ ]- _8 [! B0 e
Delay(2);8 m, @9 L9 ?. T+ {8 z
P2_2=0;8 S( I* z2 y1 b s2 b
Delay(78);6 L& [6 ?1 O7 f" f* f
Delay(100);2 N3 L# _: o# h, w
}* E* ?$ g( `0 x. q% i: R7 q
Delay(5000);/ E6 T% V9 E4 d, S8 c
P2_7=1; //结束P2_7灯$ N* f# x5 Y) w* r! ~! G
//1.0ms 45度位置
5 J; M4 G. T9 [# y for(g=0;g<15;g++) - e3 {+ R9 N4 V8 h$ c( B/ c) f
{ P2_2=1;
6 t& G6 W: Y7 @# M9 Z Delay(4);
1 u& u D" T' d5 ]+ a P2_2=0;
* J; ]3 {% _: T8 V% ~$ `2 k- W& m Delay(78);
" Q+ L7 g8 z+ R( X Delay(100);
2 N* u# f; i& X$ a }
: d+ j7 _! N/ ~ //1.5ms 90度位置
3 @+ s' a; E" M# J1 c6 w for(g=0;g<15;g++) ; ^+ y% [: e% s/ ]3 a
{ P2_2=1;5 D2 J# w, i2 K
Delay(6);
* N$ K& e6 ^+ P5 K) x! @- ~7 \- W2 N P2_2=0;
* i, S4 I* W$ H# A4 z% s! _ Delay(78);% j! h. p o7 t( g) M+ [
Delay(100);4 A5 @; P: ^. C/ x" e4 i' n
}, v0 S3 u5 l/ v; @6 f5 e
//2.0ms 135度位置# C8 |" h7 W) c9 N) \
for(g=0;g<15;g++)
o' r3 [* y1 I5 O4 K7 O( T3 h { P2_2=1;
5 n: ^( T) f0 O" D2 a3 Y- J1 r; z Delay(8);
+ `3 K/ V4 Z5 {5 y" y$ F& [. x P2_2=0;1 V" P7 Y6 t/ V' ?: [" w* B4 {
Delay(74);
4 ~/ a9 Q' j7 w7 X+ R$ F3 `9 U Delay(100);
: q) i' `2 P0 |* \3 z. m+ L. Q( n- t: F }- z( | U8 ^* Z) d
// 2.5ms 180度位置
2 o. z) w: A+ M' e+ W for(g=0;g<15;g++) 4 x4 \! Y; k5 R3 b1 v
{ P2_2=1;. W3 B5 F1 O; o4 r3 l
Delay(10);5 }5 z" r+ K: H) J" }; X1 q
P2_2=0;& G4 l! U% |( p$ z/ ]7 d: A- v9 J1 h
Delay(72);
9 X) @& q7 z1 a Delay(100);8 d- |7 [# Y# k$ L3 Z- V* B( k
} y2 J( \: d/ G- @7 f& A: H
, A( ^4 S0 x3 c! ]
}
9 g8 z% @* r+ w+ g+ h% z; Q2 _0 N3 n}
y, x( P) H5 k* r! t
( v6 X/ ? H3 e( t8 m |
|