|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
#include "reg52.h"
: I$ d! E5 G! R#define uchar unsigned char
1 z2 j" s5 [6 B' k9 [5 |#define uint unsigned int
! |3 @! I4 U \" X. x' ]4 R# ^sbit P2_0 = P2^0;
( }, j( d) u3 Y6 msbit P2_1 = P2^1;
5 j1 @, L. X+ m+ N( \6 }sbit P2_2 = P2^2;. B/ b" T8 |% s9 f E* v
sbit P2_7 = P2^7;( G+ a& R( o$ M" }- L" V7 k
/*delay(1)延时时间为300US2 z' W4 o% M4 K# s9 o, _, P
delay(80)延时时间为20mS
* I. j3 N, m1 r3 A0 [delay(4)延时时间为1mS6 L6 y% V6 K* ^" S& B; y
delay(8)延时时间为2mS
y$ {: I: h( f! s" o4 xdelay(6)延时时间为1.55mS
( z2 {$ z9 \" U# k! wdelay(2)延时时间为0.55MS
1 c b' b) P6 c J) w2 xdelay(10)延时时间为2.5mS% }5 L& x3 N2 P6 H! g! U5 ~
*/' Z0 a* O! m* l% g" h0 u
void Delay(int j) //延时
0 `: @5 E% M8 v; G { int i;+ `1 {6 R1 u$ x- I; r: d7 f
for(;j>0;j--)
: J1 |3 n5 ?, l9 U {
* h( e$ C- j& D' { for(i=0;i<28;i++);, ]6 y( Y) R. P, T
}) l$ ~3 `2 f- o% b. e" ^+ a* h
}0 q" g: c- Y/ S# g7 M
6 h! a/ ?2 K6 X1 Ovoid main(void)
$ ~: v) J6 h- u5 }) V2 \{5 P; u/ d4 ^5 R! n4 ?# y2 a# l
int i=0;
c! j- R2 d( f. e$ p int j=0;
( n. ]+ a6 N- Z, i) o int g=0;9 y/ |% r4 L I; k- c+ X$ V, L3 V
P2=0XFF;
7 O0 C7 ~: Z- O% W P2_0=0; //舵机电源地线 , G5 @" j. L* ]1 Q1 V. `
P2_1 =1; //舵机电源电压 注意 这两个 引脚要和单片机 电源电压和地线 共线 ,不然会出现舵机只按一个方向转
7 z1 }$ ~2 V% o3 w* T P2_2=0; // 控制脉宽 * @/ ?2 z# E- H+ ~* D: Y( q' S
while(1): I/ M1 ^& L8 \7 W, F+ F9 p7 j2 i& @
{ for(g=0;g<25;g++) //0.5ms 0度位置% S l" G$ x: {; d
{
: `8 o, G9 c# s' u4 j! ^ P2_7=0; //开启P2_7灯
1 ^! a) v% [2 `0 y* C+ o K! L P2_2=1;
% ~1 w# y3 t# ~/ A* \ Delay(2);
2 I- {! \5 b2 n, P7 v. C0 `3 t; m, a P2_2=0;) z5 k5 n, P( {( T4 O! L3 ^
Delay(78);
. S/ M7 d6 E. }, U, [' i Delay(100);
+ U9 I) l* H% X }
/ _$ ]" P8 P3 I5 C( b$ M Delay(5000);# o K5 s5 T; ?/ T
P2_7=1; //结束P2_7灯
. ^8 S0 Y c$ ^' j, o //1.0ms 45度位置4 x* U3 x; z: s9 r
for(g=0;g<15;g++)
( a8 \ {+ a! V9 W) _# s9 t3 r { P2_2=1;
3 S1 U, ~+ M$ @! l1 b$ s5 T Delay(4);, z0 P3 M. Y ~) Q2 v6 \7 L! x
P2_2=0;
( C. r" r8 e4 ~5 s" x x Delay(78);
8 B# `/ h" f7 K1 g/ j# m/ l# d Delay(100);: g1 b1 x* }8 R a! ^/ m
}7 Q3 |7 F) X, I1 G1 [
//1.5ms 90度位置
, D7 z& B# I2 P B1 k4 o for(g=0;g<15;g++)
( C" q; ?9 r1 [ { P2_2=1;
2 ]; `) s7 _; M4 w4 ~- _0 h0 C& P Delay(6);/ w. o8 g8 @6 ~# \
P2_2=0;
L( e/ l! T6 A( c Delay(78);6 T! t/ T7 T3 I, m( J: O: d
Delay(100);
! \4 M9 a- b7 n }
' ^. H9 c5 i. [* _4 M) R/ |9 w //2.0ms 135度位置9 R5 A; O: A3 x' C5 u- D% {; z7 a
for(g=0;g<15;g++)
' w6 f2 Y& o) T2 Y4 k { P2_2=1;
s* Q$ j# q# h' s" e Delay(8); d3 R5 C. M4 q6 f( @
P2_2=0;
+ }4 Y9 X- P5 J/ ^- A/ K3 [6 a Delay(74);6 ` S/ H& c; d( v& }) I5 `. f" L/ ?* }
Delay(100);& {$ z2 S) P) Y& M6 H' [- B+ d
}
8 [. ~) Y$ _& Z! I // 2.5ms 180度位置' z4 Z. f _: J( J
for(g=0;g<15;g++) - j$ ?# t! q4 g& O2 @- L. d
{ P2_2=1;8 [+ [& x: n6 O. [
Delay(10);
8 q4 d# ]" f' k7 }" g4 w+ x3 Q2 @. H P2_2=0;& p1 E& w8 [; l$ P: X' T: S5 G: ^
Delay(72);+ e& v+ ~$ N$ p9 f E
Delay(100);0 _1 ^. u. d6 s* K% C6 e2 h
}
) E8 T& }8 @- Y, |0 O1 o
1 ~% m) C0 l+ }/ M; Z, ]- n) n }
9 g/ d) N2 }9 K# b}
3 v3 `- |, W- j. X( t0 Q. {; `+ I6 {! a# E! k6 T* [
|
|