|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
#include "reg52.h"
" {. X6 S: g+ R g8 N#define uchar unsigned char
, U1 W# t1 o6 [# @#define uint unsigned int
$ i. N( X: G' g* R/ b% s. osbit P2_0 = P2^0;
* Q0 S# ?7 s8 }8 ]: l# [* Ssbit P2_1 = P2^1;9 A( k6 U$ T& J) Q+ W( p
sbit P2_2 = P2^2;' F6 m1 \ ]$ B8 D) k
sbit P2_7 = P2^7;( o) x* p% d6 `2 U& d
/*delay(1)延时时间为300US
, G6 p* M) X- N$ `- Z: {delay(80)延时时间为20mS, ?1 C6 \- W0 T
delay(4)延时时间为1mS
& a2 t- y# F) v) D, _" Qdelay(8)延时时间为2mS
" r4 a; ]& C' Mdelay(6)延时时间为1.55mS' _+ v3 t# M( n+ ~
delay(2)延时时间为0.55MS
, i/ V `9 | r! Odelay(10)延时时间为2.5mS) Y0 Y/ @* _% W
*/
( B8 v: v% C6 D/ Nvoid Delay(int j) //延时3 d% m0 N/ l* H* K& H! ^
{ int i;
; g0 x' T9 e. D- n3 Y for(;j>0;j--)- q7 }5 C+ C1 ]5 S7 d0 i5 }1 {
{
; `+ ^/ O( Q: z2 x, V/ r for(i=0;i<28;i++);
& @& | O9 ?. a1 W! v! x* I# v) C) j }
( Z* b- m# C% i* b* R3 q9 O }& c3 f& J. E+ d
+ s/ n% o P+ |8 }6 y
void main(void)+ r+ c% O) d: z
{
3 ^" o* y! N& {& s int i=0;
. J6 ?; v1 I, i int j=0;
; ]" @4 m8 p0 T, G int g=0;, C3 {- ^6 @' d
P2=0XFF;3 u. w0 Y( ?/ v* ]0 t9 I7 k
P2_0=0; //舵机电源地线 2 f# A3 m$ @1 Q$ A: g
P2_1 =1; //舵机电源电压 注意 这两个 引脚要和单片机 电源电压和地线 共线 ,不然会出现舵机只按一个方向转 " l) e9 e5 M3 P2 K
P2_2=0; // 控制脉宽 3 x- |' }- w- ?0 Q' `
while(1)* u: V# a4 a, R! Y# u4 k
{ for(g=0;g<25;g++) //0.5ms 0度位置$ X/ d" \; v# B% G- t% I7 O4 ^
{2 ~ i" T: |; y* V0 M
P2_7=0; //开启P2_7灯( L; F* s h- K) ~/ ~* u* Y
P2_2=1;
4 Q& z2 |( i+ B5 d' b( z1 x- U/ a Delay(2);) [" l* n, }. I/ P6 i
P2_2=0;" |, R9 d6 M3 Y! z
Delay(78);
7 H' g! B8 Y Z! D Delay(100);" X# n* Z1 u+ `3 @3 Q
}
& T- D6 y$ j) d& e% Y Delay(5000);4 Y# I7 y0 X* ~: I5 Y4 r; f; T
P2_7=1; //结束P2_7灯4 K% I* r# p1 w0 D& z
//1.0ms 45度位置7 ^! v. z" k3 I" i
for(g=0;g<15;g++) 1 {0 h& u6 _6 |0 Y8 W/ j
{ P2_2=1;8 R" x$ s! j* y4 `7 m, B2 w, B
Delay(4);
$ G' \; L, |4 P g+ C# H P2_2=0;! H$ z; y2 g% N* r" W
Delay(78);/ E/ ~6 o& O3 l# B9 z* P) w1 W
Delay(100);
" ~0 B5 f3 @: o+ j. C }
' U7 S$ ~6 T) u: c, e //1.5ms 90度位置; ?& R5 ~ b8 W' f9 x9 C
for(g=0;g<15;g++)
$ @" ]% t0 K8 m" _. _ { P2_2=1;
/ J: @$ u% K2 [0 d& T Delay(6);
4 Q* @/ @& N& r, u P2_2=0;* z a) p. K {7 v/ H/ i
Delay(78);
g2 T, S7 ^# ]% A3 ` Delay(100);2 p ~2 B6 f% l8 o- i2 C$ B
}
- y8 v$ E* W6 v7 K0 w //2.0ms 135度位置, ~/ Y% \) [% y; h: W! v( I; F7 z$ m
for(g=0;g<15;g++) - j2 M6 T; ~* P3 I
{ P2_2=1;
`# h" x, T( {* F; g Delay(8);
, z/ P: p! `8 m+ t; O/ j. s) V8 { P2_2=0;
# f# i& h n. v5 n" ` Delay(74);
% X9 i" j+ {# @ Delay(100);
I) ?! M: a- _7 e8 W2 M" n }' O/ q# u2 T v) N% ]
// 2.5ms 180度位置
1 Z3 w5 o0 O" m* \8 g; x; ^ for(g=0;g<15;g++) ; Y' Z9 \. F w" j, a8 A3 O1 p5 _
{ P2_2=1;& @6 f! t) y) L v
Delay(10);
; _5 Z' R. T. b* m2 H P2_2=0;9 B, V0 E! n6 }
Delay(72);
% Q3 Z4 M4 }; h, }' j. i* ? Delay(100);5 B( d2 C8 ^6 w0 Y. v
}0 {: s& w& w% b! x
5 }: t% b! r$ n& Z Z6 M
}
. ?9 |( L0 q; y, e- _ d) f}9 Y; o7 ?2 l$ F/ P5 l
$ x! m- M" x5 F/ A |
|