|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
#include "reg52.h"
+ }3 e" F E; R$ q* O9 t#define uchar unsigned char
7 x5 U# V T/ u9 X3 { K#define uint unsigned int
0 L. d2 R% F* k5 @8 ]( j4 rsbit P2_0 = P2^0;% F" C. b+ O I: ?
sbit P2_1 = P2^1;
7 G& ]% \! z' U4 R/ asbit P2_2 = P2^2;! q2 [* O4 H8 U. p- @4 T7 d8 `
sbit P2_7 = P2^7;. |8 n7 D6 F" f) V3 w- N
/*delay(1)延时时间为300US
/ K g# ]; x1 r" D5 K- Q, \, I ndelay(80)延时时间为20mS" K* o$ d- Z* v; V7 E0 f
delay(4)延时时间为1mS
2 Q7 g# m2 M0 u. G& S+ A, Edelay(8)延时时间为2mS
" D0 R6 ?# |( h( P" J( |delay(6)延时时间为1.55mS" x$ r' ?( A& \7 W' ?, }. l2 B
delay(2)延时时间为0.55MS
6 a+ M! i& a0 v, x% [0 l) mdelay(10)延时时间为2.5mS/ Z; v# _6 [& y' t) `# M: y
*/$ y1 F) U4 h+ b' e0 r! y
void Delay(int j) //延时
# R& x1 y( E$ J8 @( r6 v { int i;3 d* h# E* P2 V
for(;j>0;j--)
/ u3 V7 K/ A$ ~% b {
5 q2 u2 u* g2 Q3 ? for(i=0;i<28;i++);
% D3 E) h8 F& h0 u$ C }& u2 o+ g' ^/ V( N# H- \ p
}4 d& b. L$ o. y
% j$ A/ |, q( U/ P0 P' Jvoid main(void)9 D% E9 ^* w9 B% E6 j7 G
{% P8 N% y9 I2 b
int i=0;9 F3 {& b" ~7 ^# B7 D; x
int j=0;
8 z, e# {' g/ A7 z$ i+ h$ v2 [. y5 f int g=0;5 {$ }+ N2 q! n& O- b! a
P2=0XFF;0 ~* v4 A, o2 f! w; q) v% \ W5 V
P2_0=0; //舵机电源地线 , r! }5 ]4 u9 }1 b5 k
P2_1 =1; //舵机电源电压 注意 这两个 引脚要和单片机 电源电压和地线 共线 ,不然会出现舵机只按一个方向转
' x2 I9 l% \. @5 O ^1 ~( U0 @ P2_2=0; // 控制脉宽 ; e: h" T" s. p5 R
while(1): ^( q" i0 r) M V- `+ R1 q, r
{ for(g=0;g<25;g++) //0.5ms 0度位置# P: k0 h4 i0 T6 ]
{
2 I; w6 o2 s% G P2_7=0; //开启P2_7灯9 a. U9 ]8 i) Z6 ]5 v
P2_2=1;
3 K P1 C* m2 T7 m* J3 ] Delay(2);4 u' |7 x5 H6 M3 e
P2_2=0;3 p, S8 Q2 O; g" j
Delay(78);. k1 f4 b" t1 H3 ^! ?
Delay(100);
" a' q' A- t% A }1 n. [3 |# G1 X* f' e5 f
Delay(5000);. `. `' y7 P4 b! L2 X
P2_7=1; //结束P2_7灯
+ l6 x' u" t0 {7 @ //1.0ms 45度位置
0 g8 q! L$ f8 S for(g=0;g<15;g++)
0 @/ C2 d, i2 S. m8 M9 ]- V { P2_2=1;
/ e% i% b) J9 W! ?6 s" O) L X Delay(4);# b8 X- b' b r- Q/ X( k
P2_2=0;
/ B5 ]$ }, G. B7 C. I I4 s; M% Q, k Delay(78);
; G. x T- R7 M3 T4 h Delay(100);
3 f9 g$ D7 U0 P1 f2 { }
, v! ]8 i" K9 m8 N. j* | //1.5ms 90度位置 a* `& f5 z8 N# [. H g( A
for(g=0;g<15;g++) % v1 C5 P* w/ U) h: ?" {
{ P2_2=1;7 F: Q+ m& y4 G% R
Delay(6);3 ~9 s8 @) G, Y+ L$ ]
P2_2=0;
( \: P+ @) H1 b ?# [: U Delay(78);
, I1 `2 g8 R5 ]% N9 U9 d Delay(100);0 `+ X- J9 G/ v9 q) V$ I5 t+ `2 a
}5 I( K3 w& A3 F% K' I
//2.0ms 135度位置
: {/ k6 D r9 [' p5 y for(g=0;g<15;g++)
% V2 Z4 U- _, `0 l% c1 ]/ ~6 j+ _ { P2_2=1;( t s1 [, r% I/ J! r
Delay(8);
. w, ]1 ~8 P: o9 C P2_2=0;( U/ C0 T: _; K
Delay(74);
R' `& S* X; X( {% N3 i2 j Delay(100);
( _$ _. [$ q4 G4 ? }3 w2 ]* V" ?/ a) O
// 2.5ms 180度位置9 q- f6 ~; m; ?, h" I; Q: j" q
for(g=0;g<15;g++)
& h9 _4 g5 _' b- E$ F5 [7 n- h { P2_2=1;" @. I2 z8 |) [/ |1 W3 Y9 h
Delay(10);; Z' \! }) t/ D* b+ u
P2_2=0;
9 Q- F8 e" k0 i* S- |: t! h Delay(72);3 K/ b' z `4 D
Delay(100);
: H6 } Q& h% ~( F2 ? }
- k8 S. E$ s' A; L/ f2 y$ D$ ^5 {" y
}3 h( L; B$ p- v( v) x
}) r1 u: |3 Y' R
6 K5 [' E' J# H q* h& f- J |
|