|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
#include "reg52.h"0 Q( n# M+ c3 C" V! F- W
#define uchar unsigned char
- e+ T [ G6 e, O) n5 k0 C0 }; Z#define uint unsigned int
6 B! D5 K* I4 c- w& rsbit P2_0 = P2^0;
) h5 A0 k9 }! h5 f. q/ L; o$ R" Gsbit P2_1 = P2^1;7 _+ B' ^. T# Y% i7 Z( W
sbit P2_2 = P2^2;& V x3 G% n! |$ M6 ]$ u9 g) \
sbit P2_7 = P2^7;
. _" ?) q5 x5 Q# O0 P9 W& B# ?6 M, h/*delay(1)延时时间为300US
( U5 ^* {" @" Z. S; Idelay(80)延时时间为20mS" G& r) d) z6 k
delay(4)延时时间为1mS
. f' L& s. ^: U- hdelay(8)延时时间为2mS8 C B* ~: |% V& {" I& x- ?1 u0 L
delay(6)延时时间为1.55mS
p) b2 _! w& c7 P. fdelay(2)延时时间为0.55MS+ I; q) H& ~2 }( e
delay(10)延时时间为2.5mS
! [, Y# F4 z7 I+ a( G6 ?. G9 i0 [*/
+ q# p+ |. ~/ t) A5 S9 wvoid Delay(int j) //延时" p$ Q! |( l( U9 z8 J' A( M3 t& `
{ int i;
- J" V L6 p+ B8 N% n for(;j>0;j--)
) S4 ]$ V0 q( p' o { 3 x! h h% Z# c. B5 u6 D1 l0 t4 [
for(i=0;i<28;i++);/ _' |' x( b+ e2 W$ q" J
}: ~1 b0 M X$ ^$ v; }& _
}8 g" c7 \+ {' F) E! T* B2 }+ N
% N# o& O, J) u" t/ nvoid main(void)% t' g; O7 U, F( l% P" n, [5 U
{
& r( N0 a* D+ N" S3 F. L: b int i=0;
) U+ p" L; I* X }: E f4 x7 O4 g int j=0;% d% F( k8 w3 m- ?- h, F" F2 X
int g=0;' H9 @2 N- ?" _/ U- M, ~3 F
P2=0XFF;
; ]. V* X# N1 q+ X7 c4 J P P2_0=0; //舵机电源地线 P# N" Q% S- X2 z4 s& ?4 y
P2_1 =1; //舵机电源电压 注意 这两个 引脚要和单片机 电源电压和地线 共线 ,不然会出现舵机只按一个方向转 7 _! E/ x X/ H: u M
P2_2=0; // 控制脉宽 ) V0 J* n3 d @$ ~% m$ A
while(1)
5 _5 d# x! p& Z6 E, B% V { for(g=0;g<25;g++) //0.5ms 0度位置
8 E! B" P: |' _* O4 s6 E. p3 L {
7 D& i: \& ^; ?5 T# W6 R P2_7=0; //开启P2_7灯4 P# R1 L7 q- j- P8 {
P2_2=1;3 a! G0 [6 d1 Q7 R6 @
Delay(2);# q5 o: y; M+ c1 P; u- L: e
P2_2=0;( }4 X" Q$ A2 D9 r8 u" S
Delay(78);
' F! ]* y% f: P) X: P! d# s Delay(100);# f6 e: Z0 ^' K9 e
}
: i" \. x4 K: V, _( q$ s: G Delay(5000);
, {) c7 W% U/ T( f( Y& ` P2_7=1; //结束P2_7灯3 A% V; N; m ?0 U
//1.0ms 45度位置; X t. e/ f- v) t- {: u
for(g=0;g<15;g++)
3 @1 l7 ^6 |) Q! `! o { P2_2=1;
; Z7 _4 z$ J/ b: {, m _% U d Delay(4);3 [) z! h0 |! W2 d+ Q& F
P2_2=0; q+ z# k' a' P/ X8 }* l
Delay(78);
r# u: _6 S1 u9 y5 u* k( Z Delay(100);* D3 z1 H' `$ Q; `) N, {! x
}& q- }" V. ?6 i$ `8 J
//1.5ms 90度位置
; l6 I7 w. w' B for(g=0;g<15;g++) " R. ]3 u; j$ u+ J
{ P2_2=1;' H/ g3 C5 w: ]6 L5 Z
Delay(6);$ r4 T7 {2 v7 S: g9 l
P2_2=0;/ u- l# o5 l4 k2 ^; w; ?
Delay(78);/ K: f+ l' j9 v" J) d f$ }4 o
Delay(100);
1 A$ v J& d2 b6 k# q: J }1 J- b9 S" x. V% p& `
//2.0ms 135度位置
5 r1 N& x' b" V- K for(g=0;g<15;g++) . ]5 X" I9 ~) R# M2 v% i5 {
{ P2_2=1;
! E5 F9 l5 g+ A9 ~ j- A* E Delay(8);- T& k- ?8 A! r, i1 h( d
P2_2=0;
/ W. P6 X' ]% z9 C o! I9 a& Z8 s Delay(74);
+ t$ l5 F, ^+ `, h Delay(100);
! V& X! C: U$ T' ?4 V }, P7 H" s# l: U$ m- L8 h# \
// 2.5ms 180度位置
. x4 ], C& o6 |0 t( ]7 l for(g=0;g<15;g++)
: Z* y: e# P& V: [5 p- a, j { P2_2=1;
- ?' D# @6 k) ]% n4 M# e1 p Delay(10);
+ l3 F8 N+ ~/ b3 I, \. x5 ^ P2_2=0;: l4 Q, V( j; L G5 K
Delay(72);7 `- k+ d( A2 V5 A4 L6 g
Delay(100);- ~. A7 N9 }/ \( P6 j
}
" ]- a! }7 B: X0 W! |
. O( R0 D2 d* I3 m }
4 l# w" Z: m: }}: u ]% C# I% D5 T4 B
. }* `7 |0 `8 |. _" L0 S |
|