找回密码
 注册
关于网站域名变更的通知
查看: 596|回复: 1
打印 上一主题 下一主题

步进电机的控制

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-1-18 13:14 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
步进电机的控制
9 S$ z. \7 ^  Q% F
4 B6 c5 _# _( T' V9 ?& g5 Y

1 A: v8 Y% r" I: C9 J
; F& [4 h9 d8 p3 A8 L3 _2 B2 Y5 ~% N- K) L3 ?/ q4 k- S% I, m

% ^" p9 e" j. @( R# v1 C! \$ J源程序:1 e0 j3 [# b' Y
#include
$ f. q, L+ g4 W! E8 ^. X#include
; ?" b; G' i' n3 k! Asbit p10=P1^0;
! F) z1 n" l: T- z6 ssbit p11=P1^1;
7 q4 r: U/ I6 `& I9 N$ Csbit p12=P1^2;& I/ S7 j6 z4 c# }0 v
( B. ?* H4 J) ?$ j1 L+ _" x

* m1 v( p; j  \+ b#define  UP   20
# F9 O0 P, W0 n0 V  ]5 C1 @; ~2 t#define  DOWN  30& f2 r& k1 B) z, v
#define  STOP  40' d' r+ V9 \4 a5 g' O
4 `* ?0 i9 f5 J; L6 R

% e9 M) O( P. f. d- `4 M) y  Xvoid delay()//延时程序. h4 X( w( i5 g& R
{; G$ \* o; s  F
        unsigned i,j,k;
# F0 y0 k( Z6 ]& s        for(i=0;i<0x02;i++)# N* i0 P( `2 C( {
                for(j=0;j<0x02;j++)
( K! ~  g: c, A/ j                        for(k=0;k<0xff;k++);
8 L0 L1 [: |5 T( G* ?6 Z  O/ K}: p7 q; {9 Q! t- ?" J) Y9 J/ G
) k/ G0 j2 W3 ~

1 j) o0 H9 T+ x# x) w. c  i$ B% vmain()) @) C4 r' X( d2 ~% I* M
{" g0 r! {" u! K
        unsigned char temp;  f! z0 K. Z4 W0 F: V5 ~/ p0 ?
        while(1)
! n- I0 E& ~: m! m6 K        {( {% d7 }' h7 X1 L4 A
                if(p10==0)1 N8 z: j9 T( W( ?6 x$ \' D* S+ N# Q
                {
& d6 y: v3 r9 `% f+ i5 ]                        temp=UP;//控制正转
3 V. D& q5 }7 M2 b2 B7 f                        P2=0X00;- D# ^% N8 t" R
                        delay();) h& o. u3 X$ t1 {) [. ?
                }& J% e$ d7 @9 r; @: a
                if(p11==0)
$ a  |8 J  t4 u, N1 P/ {                {
% N4 M7 }5 f( x, V: U& |3 u                        temp=DOWN;//控制反转
$ ?# w6 t' g7 e$ |# g9 X                        P2=0X00;" W" f7 m) h) ]4 S
                        delay();: F* G( b+ ^& q& S! z. j7 o* t$ i
                }
2 m3 s% w9 ]5 b# j1 ^  X                if(p12==0)$ a! O, V- b& o9 r
                {; D8 g  @. T1 Y9 N8 ~2 t& N
                        temp=STOP;//控制停止& q0 U: D  [- `9 L  m- I! d, h5 \
                }
$ [4 M, b+ n% s: i5 ?                switch(temp)% ]$ T% k1 F. y- ]% c3 r' {) T
                {5 v4 E( Q& u2 \. q9 O. n8 N, ~
                case DOWN : P2=0X01;//控制反转 //0011
. ]; B8 `: t5 T$ ]                                        delay();1 a5 }/ a# Z2 a0 [" ^1 |5 L. W
                                        delay();
) c- B* a& g3 e( w                                        P2=0X02;//0110
* M0 v& x7 m* `0 G) _                                        delay();
( h9 t2 K0 _0 T8 t/ m                                        delay();
* ?) V2 G' i8 T; B9 x5 n                                        P2=0X04;//1100) g, _( ~5 e0 |, M: q5 w9 @
                                        delay();
3 [8 c3 v/ {+ }( A                                        delay();
3 h: Y% m' b$ W; T                                        P2=0X08;//1001
$ Y$ Y7 `+ |4 v8 G                                        delay();, m& ^' f9 e  I) s* x( {* m
                                        delay();
0 _2 r" A3 T, f& }+ z                                        break;
$ A$ T4 \3 `5 d                case UP :        P2=0X08;//控制正转
) K" X& j- b- P9 \8 x9 F                                        delay();
6 M9 C9 a$ X) z8 X* i                                        delay();
' L. M3 R6 Z; X* Q5 m7 a' g                                        P2=0X04;
" ]1 n; L4 O8 `# @8 ~                                        delay();, T* s7 l& n! L3 z4 K' s
                                        delay();6 Z# t3 ~& x8 W6 E/ _( s  \- |
                                        P2=0X02;" o5 v1 n: X% n, I
                                        delay();
# ^+ `2 B2 t, h! y& K, k' H+ \                                        delay();! g; O8 |. ?3 Z6 H
                                        P2=0X01;
, W; P9 P$ C, D3 i# S/ p; L& Q                                        delay();6 @. |( K1 N/ |5 k/ s5 P/ `1 P, F
                                        delay();
, @) N4 y( V2 l, G1 _5 r- S0 ?* z                                        break;2 p/ W* u8 O1 t! i* Z
                case  STOP ://控制停止
7 T+ g' b& M8 j' W- Q# B% W" @; y                                        P2=0X00;
" b5 G6 s, g0 _8 i; f! ?( y; d, K                                        delay();
) Q/ D3 e' W, C3 P9 y2 y                                        delay();                                        . y& w5 f6 i7 z% t! F, N7 v  k
                                        break;
! B% }7 i  g9 \" M8 I) |                }
2 g8 M! ^% w; T4 l1 O. Q! d; i) ?$ s   }
0 G" U7 i3 d: z$ B8 B! k) E}# o, S# L5 w6 b! r0 R- E
" A# Z! E% U7 K5 l
. b! ]" D" A' f3 c/ ]& _  m5 ?3 ~
下载:
4 w* [# B; {, B, ^
游客,如果您要查看本帖隐藏内容请回复
0 E3 f. T) Q* X+ A6 N3 y& G

$ B) r$ `* A: W3 d- h

该用户从未签到

2#
发表于 2019-1-18 15:24 | 只看该作者
看看楼主的代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-9 16:02 , Processed in 0.140625 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表