|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
#include "reg52.h"' `& \; W' I A% T
#define uchar unsigned char 4 S7 b; f7 ^2 r( F: X8 {
#define uint unsigned int
& B2 `8 b5 Q7 v: k/ vsbit P2_0 = P2^0;. w/ `4 H$ c7 l+ B1 N/ B0 {# G
sbit P2_1 = P2^1;
" s; U. b1 ]" o/ Q) R! lsbit P2_2 = P2^2;
* @/ i+ f$ b2 u9 T7 L$ N2 Hsbit P2_7 = P2^7;
" j2 a. C2 o8 ^2 N1 A/*delay(1)延时时间为300US
% S k$ o! L+ }2 M6 [5 z" }delay(80)延时时间为20mS- U- ]6 x$ [% `
delay(4)延时时间为1mS6 m1 O T3 e3 d1 A* O8 \3 F. D- y
delay(8)延时时间为2mS% y- U+ Z. ~* q( F
delay(6)延时时间为1.55mS
. H# U. }/ W$ L, N0 `, V3 a/ ldelay(2)延时时间为0.55MS
0 g2 I: N; u1 ^3 | b3 Adelay(10)延时时间为2.5mS2 q* v/ E+ X3 T5 }4 c {
*/( n: u6 ^( k m" U+ h; s
void Delay(int j) //延时
; L8 z8 x. D- A. w5 Z p0 K {6 m. X { int i;2 ^7 B, T2 |0 F9 T8 k3 T8 @
for(;j>0;j--)" `3 G7 t5 }6 R
{ 4 ^4 z* ?4 X- E- O) {
for(i=0;i<28;i++);
0 C- j& T9 {+ }6 q/ J' Z! R- R }' r0 Q6 D: c+ k0 M, A
}
7 n% @; C& T& l: `1 L2 t; U3 q% N
6 d4 t0 T' n0 l- r% Bvoid main(void)( H, ~8 S4 ^" P! f* F; E- a: a
{% r9 G4 G) y* U8 d& g1 S, \( A/ Z
int i=0;
6 l) M4 d& C% X" A8 M: X" U int j=0;
: P' o. c% Q3 W. k' V. L* l int g=0;9 C6 r6 f7 [& y* y# G$ a9 a& [
P2=0XFF;
5 e5 @+ C6 e2 j: g$ w2 Z9 k* b$ B P2_0=0; //舵机电源地线
8 `( b, v& H+ l0 x5 A% }' K8 a* z P2_1 =1; //舵机电源电压 注意 这两个 引脚要和单片机 电源电压和地线 共线 ,不然会出现舵机只按一个方向转 $ a& L6 c% `) y0 ?
P2_2=0; // 控制脉宽
I8 s( D: _( N- k- x while(1)2 S* Q- ~! D" a3 H4 a
{ for(g=0;g<25;g++) //0.5ms 0度位置3 E9 z; T, Y+ M( A
{; s# @. o+ c; u' M& G# O% d3 B& B
P2_7=0; //开启P2_7灯: |2 H" n* K% F6 _& L
P2_2=1;
2 j! K+ X) ]) \6 L3 c* P4 Z Delay(2);
1 ^% _8 G7 ~8 P( {2 j) F/ d P2_2=0;0 |, U2 E# e; G. Y+ M. s
Delay(78);
3 p" ?# ~. P; f- H( H Delay(100);
b, L$ R5 E" d$ N' m( b* G' L }. P7 r- v. b$ ?) d6 I8 I' n9 C
Delay(5000);
/ _$ o! b' s7 d2 H P2_7=1; //结束P2_7灯: a c: ?8 P% c1 D* r# m2 K! j2 y0 ?: Y
//1.0ms 45度位置7 t( V, V0 A! L$ D" ?9 E# f
for(g=0;g<15;g++)
) C1 Q' `7 b! g9 R { P2_2=1; i! A/ F8 N* C; `+ L
Delay(4);0 ?% p j- j& C
P2_2=0;
- h l) s) m& Y* w Delay(78);7 Y! ~9 r1 H% y' \- E1 K* Y ~$ \
Delay(100);( z4 C* t1 Z/ _0 j
}
, t; c! `/ X# ? //1.5ms 90度位置+ |4 w$ \ d6 B' P% v, @
for(g=0;g<15;g++)
: j% X( z! ]% e. p# T { P2_2=1;% n G# J6 F- J! L( K: k( v
Delay(6);
) k" l$ @4 Z# }! l' ?5 { s P2_2=0;
4 {5 D: |, h2 p; W5 G Delay(78);/ O' ~ z& D( p; ?+ M
Delay(100);
, \+ w+ h Y! _ }5 {1 m1 R* W) p, n) f2 h
//2.0ms 135度位置
8 r* k8 w& ]! Q( |6 t8 ^ for(g=0;g<15;g++) / V- a- Y$ a" N9 e# M
{ P2_2=1;
) R$ n/ e* s6 J# | Delay(8);
# C: m6 w7 l" u! u2 H- e P2_2=0;
" y* g/ U% |" n# A7 R1 M% G Delay(74);
2 t% Z9 u& a) Y; |' b1 n! y; N0 @/ ]! [3 P Delay(100);# b* Y2 g7 F7 v' v+ l& b- ~5 u
}
! n8 \6 ]2 v7 w1 M8 E1 |7 U' U# F // 2.5ms 180度位置/ I' V: T. C4 Q5 v) X" C
for(g=0;g<15;g++)
( d% f9 H* ?3 H { P2_2=1;
# r# g+ G8 k( W Delay(10);
: x! j! |: u' ^ r3 c" h" o P2_2=0;) F1 t' V! K/ h* d/ _5 E
Delay(72);
: I7 L Q$ f: S4 ?/ w' R* E Delay(100);$ Q, w/ p8 ~6 c1 x7 D4 @2 X
}6 G, B1 w3 T. x1 {6 ~- t5 ^: G
8 s5 h9 c5 L+ |. K }# f+ N1 i7 X- I- x6 }9 }
}( T% W$ h8 m; V
7 p+ ]2 k( E& t( L- U0 F0 v
|
|